CrossOver: an Electron crosshair overlay that never touches the game
🎯 A Crosshair Overlay for any screen.
At a glance
- What is it?
- CrossOver is a crosshair overlay built on Electron that pins a reticle on top of any window, with 530 built-in sights, custom image support and per-keyboard shortcuts, and it works by drawing on screen rather than by injecting into the game process. It suits players who want a visible aim point, and it is a poor choice for anyone who needs a tool that reads game memory or reacts to game state.
- Who is it for?
- CrossOver fits a player who wants a visible reticle without installing anything into the game, since the overlay approach means it works across titles and the 530 built-in sights plus image import cover most preferences without hunting for a config file.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
An overlay draws on top, it does not go inside
The mechanism is the whole product. CrossOver pins a customizable crosshair on top of any window so you can see where you are aiming, and the README is explicit that it is just an overlay, with no injection and no game files touched, describing it as not bannable and free since day one. That last claim is the project's own, and the practical reading is narrower: because nothing is injected into the game process, the app cannot read game memory, cannot react to what the game is doing, and cannot draw anything the game itself would reject. It draws on top, which is the same technique used for subtitles and recording overlays. Any game whose rules treat on-screen overlays as disallowed remains a matter of reading those rules, which the README does not address.
Five shortcuts cover the whole interaction model
The interaction design is keyboard-first, and the modifier combination is the same throughout, which is what makes the tool usable without looking at it. Ctrl+Alt+Shift+X on Windows and Linux, or Control+Option+Shift+X on macOS, toggles the settings window and locks the crosshair in one press. The arrow keys with the same modifiers nudge the crosshair pixel by pixel for fine tuning. Ctrl+Alt+Shift+R resets everything. The mouse handles placement: click and drag the crosshair anywhere, and double-click the bullseye to centre it. The chooser itself opens by clicking the bullseye icon, and you can also drag any PNG, SVG or GIF image onto the window to use it as the crosshair instead of a built-in sight.
The feature list is mostly about control, not about novelty
Beyond the 530 built-in sights, which the README groups into real scope reticles, dot and cross variants, chevrons, MLG, Kenney, Diatoku and special requests, the feature list is mostly about giving the user control. You can resize, recolour, adjust opacity, set the SVG fill, and choose between light and dark mode with app accent colours. A centre dot or reticle can be configured independently of the crosshair itself in both shape and colour. The hide on ADS option binds a mouse button so the crosshair disappears while you scope in, which is the kind of detail that only matters to someone who has used an overlay before. You can pin up to 14 shadow crosshairs to mark more than one spot, and the crosshair can hop between connected displays with a single shortcut for multi-monitor setups.
Install paths differ enough per platform to matter
The README gives a per-platform install path, and the macOS one is the most detailed because the build is split by architecture. On Windows you download CrossOver.exe from the releases page, or take the portable build, or install from the Microsoft Store. On macOS you grab a disk image from the releases page and drag the app into Applications, and the choice of image depends on your hardware: the universal image runs on any Mac whether Intel or Apple Silicon, the arm64 image is smaller and for M1 through M4 machines, and the x64 image is for Intel Macs. On Linux the Snap Store package is the advertised route. The README also warns up front that because the project is free and open source, the builds are unsigned, so Chrome may flag the download as untrusted, Windows Defender may warn you and macOS Gatekeeper may block the first launch.
The licence is the reason some distributors treat this differently
The licence field in the package.json and the badge in the README both say FSL-1.1-MIT, and GitHub classifies the repository as a licence it cannot map to a standard identifier, with the LICENSE file at the root as the authoritative text. The README also calls the project free and open source and says it has been free since day one, and the marketing side makes a specific claim of 530 or more sights, 217K monthly users and a 4.8 rating on the Microsoft Store. There is a separate PRIVACY file and a TERMS file in the repository root, and the privacy claim is narrow and checkable: no telemetry, with CrossOver only talking to GitHub to fetch updates. For anyone redistributing the build or shipping it inside a product, the licence file is the part to read rather than the badge.
The build stack is Electron with Playwright tests and a next.js leftover
The package.json describes an Electron application named crossover with the product name CrossOver, the app id com.lacymorrow.crossover, and an engines requirement of Node 18.18.2 or higher. The scripts show the shape of the workflow: the install hook runs the CSS step, which compiles two Sass files, the main SCSS entry and the preferences stylesheet, into compressed output in the renderer styles directory, and start launches electron with the disable-gpu-sandbox and trace-warnings flags. Tests run through Playwright, with a verbose and a debug variant. The Dockerfile in the root, meanwhile, is a Next.js-oriented multi-stage build that sets NEXT_TELEMETRY_DISABLED and runs yarn build:all, which suggests the site and docs part of the project has a separate build path from the desktop app. The root also carries electron-builder configuration files for appx and for Windows, a snap/ directory, a Brewfile and a playwright.config.ts.
Two version numbers, and that tells you the tree is mid-migration
The package.json declares version 3.4.6, while the release list shows v4.0.0-beta.2, v4.0.0-beta.3 and v4.0.0-beta.4 all tagged on 14 and 15 October 2026. That mismatch is a real signal rather than a curiosity, because it means the 4.0 line is in a beta phase while the manifest still carries the 3.x version, so the artefacts you download from the releases page are not built from the version string in the repository. The last push was on 2026-10-18, a few days after the most recent beta, so the tree is moving fast. The maintenance picture for a user is therefore good, since releases are frequent and the auto-update feature is listed for macOS and Windows, and the picture for someone who wants to build from source is more complicated, because the source tree and the shipped binary are at different points in the 4.0 migration.
Editorial conclusion
CrossOver fits a player who wants a visible reticle without installing anything into the game, since the overlay approach means it works across titles and the 530 built-in sights plus image import cover most preferences without hunting for a config file. It is a poor fit for a competitive player whose game rules prohibit overlays, and a poor fit for anyone who wants a tool that reacts to game state, because the app draws a fixed image and knows nothing about what the game is doing. Verify first which build you download, since the releases page carries a Windows installer, a macOS disk image in three architecture variants and a Snap package, and note that the package.json version and the release tags disagree, which means the tree is mid-migration to the 4.0 line.
Frequently asked questions
How does CrossOver avoid being detected as a cheat?
The README states it is just an overlay, with no injection and no game files touched. Because it draws on screen like a subtitle or recording overlay, it does not read game memory or inject into the game process. Whether a given game's rules permit overlays is a separate question the README does not address.
Which platforms does CrossOver support?
Windows, macOS and Linux. The README describes a Windows executable or portable build, macOS disk images in universal, arm64 and x64 variants, and a Snap package for Linux, with the app also published on the Microsoft Store.
How do I install a custom crosshair image?
You can drag any PNG, SVG or GIF image onto the window to use it as the crosshair. The built-in chooser holds more than 530 sights including real scope reticles, dot and cross variants, chevrons, MLG, Kenney and Diatoku styles.
Does CrossOver send telemetry?
No. The README states there is no telemetry and that your data stays on your machine, and that CrossOver only talks to GitHub to fetch updates. There are also PRIVACY and TERMS files in the repository root.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/lacymorrow-crossover)Was this useful?