Put it somewhere writable
Move crshX.exe to a folder under your own profile — Desktop, Documents, or one you make for utilities. Do not put it in Program Files: Windows will fight you over write permissions for no benefit.
Quick start
Seven steps. The first launch is the only one that needs explaining: the build is unsigned, so Windows will ask you to confirm.
Move crshX.exe to a folder under your own profile — Desktop, Documents, or one you make for utilities. Do not put it in Program Files: Windows will fight you over write permissions for no benefit.
Because the build is unsigned, SmartScreen will warn the first time. Choose More info → Run anyway. Do not disable Defender or SmartScreen to get past it.
The editor is the first page. Pick a style as a starting point, then set the arms, thickness, gap, centre and appearance. Every control redraws the preview immediately, and Ctrl+Z undoes — a slider drag counts as one step.
Ctrl+S saves the current crosshair to your library with a name of your choosing. The library has search, a style filter and favourites, and the eight built-in presets can be restored after you edit or delete them.
Press the start control, or Ctrl+Alt+X. The overlay is a separate borderless window with no taskbar button and no Alt-Tab entry. Choose the display it should appear on in Settings first if you have more than one.
With the overlay running, click, double-click and drag on the desktop underneath where the crosshair is drawn. Everything should pass straight through: the overlay never takes the mouse, never changes the cursor and never becomes the active window.
In Settings → Dynamic crosshair switching, enable the feature, add a binding, click the key button and press the key, then choose the crosshair for it. Changes save immediately. Keys work while the overlay is running, and the game receives them exactly as it would without crshX.
First run, honestly
The window, the overlay, click-through, hotkeys and display changes have not been run on Windows hardware. If something does not appear, the troubleshooting table below and the diagnostics report are the fastest route to a useful bug report.
01Shortcuts
Global shortcuts require at least one modifier and are released on exit. If another application already owns a combination, crshX reports the conflict instead of taking the key.
| Action | Default keys |
|---|---|
| Show or hide the overlay | Ctrl+Alt+X |
| Next profile | Ctrl+Alt+C |
| Show or hide the crshX window | Ctrl+Alt+E |
| Save as preset | Ctrl+S |
| Undo / redo | Ctrl+Z / Ctrl+Y |
| Switch pages | Ctrl+1 … Ctrl+5 |
Bare keys belong to dynamic switching, not to global shortcuts — see dynamic crosshair switching.
02Troubleshooting
Each row names the symptom, then the most likely cause. If the answer is a diagnostics report, the log file is in %APPDATA%\crshX\logs.
| Symptom | Most likely cause |
|---|---|
| SmartScreen blocks the launch | Expected for an unsigned build. Right-click the file → Properties → Unblock, or use More info → Run anyway. Never disable Defender, SmartScreen or Smart App Control to run it. |
| The preview shows nothing | The crosshair may genuinely be empty: all arms off, dot and ring off, or opacity at an unreadable value. Reset the geometry or reset everything. |
| The overlay is missing over a game | Almost always exclusive fullscreen or a title whose anti-cheat restricts overlays. Switch the game to borderless fullscreen. |
| The overlay is missing on the desktop too | Check the status indicator, then check that the active profile has a crosshair. If the status says the overlay is on and nothing appears, that is a defect worth reporting with a diagnostics report. |
| The overlay is on the wrong display | Choose the display in Settings and refresh the list. A disconnected saved display falls back to the primary with a warning in the log. |
| A shortcut does nothing | Another application already owns the combination. The shortcuts section reports conflicts instead of taking the key. |
| Dynamic switching does nothing | Feature off, no bindings, overlay stopped, crshX focused, foreground filter set to another application, or a row carrying a warning. The log records the listener starting and one line per switch. |
| Settings were not remembered | Check that the data folder is writable and not on a roaming profile that failed to sync. The log names a repair or a read failure. |
| Log file is empty | The log level may be above the interesting messages, or the folder was not writable when the process started. |
03Safety
No elevation, no driver, no service, no firewall rule, no network activity. The process manifest requests asInvoker, so a UAC prompt should never appear.
A low-level keyboard hook, used by dynamic switching, is the same mechanism a keylogger uses, so a security product may comment the first time you enable it. That is a reasonable reaction to the mechanism. The code reads key codes and nothing else, and never stores or transmits them.
04Questions
No. crshX draws a window on your desktop. It does not read, write, inject or hook anything in another process, does not know what weapon you are holding, and does not automate input. It is a display utility, in the same family as a screen overlay for a chat client. Individual games and anti-cheat vendors set their own rules, and some treat any third-party overlay as unwelcome; check the rules for the games you play.
Not on Windows hardware yet, and the site says so rather than implying otherwise. The application builds in Release with no warnings and 201 automated tests pass, covering the crosshair model, geometry, validation, persistence, import and export, and the switching policy. The window, the overlay, click-through and hotkeys cannot be executed in the environment where they were written, so they carry no verified claim. The Windows smoke test guide exists to turn each of those rows into evidence.
One self-contained file for Windows 10 and 11 on x64: crshX.exe with the .NET 8 runtime and the WPF resources inside it, 63.0 MB. Double-click it; there is nothing to install and nothing to unpack. The first launch takes a couple of seconds while the runtime unpacks itself into a temporary folder, which is how single-file packaging works. It needs no account, no service and no network connection, and the SHA-256 beside the button is the checksum of the bytes you receive.
There is no network code in the application. No update check, no analytics, no crash reporting, no account, no licence server. See the privacy page for what is read and what is written to disk.
No, and it will not be made to. A windowed overlay cannot be composited into an exclusive fullscreen swap chain. Borderless fullscreen is the supported path and it is what most competitive players already use.
Because the observer is passive by construction: every keyboard callback returns the event to the next hook in the chain, so nothing is swallowed, delayed, remapped or replayed. That is also why bare number keys are possible here when a global hotkey registration would refuse them.
Settings, presets and profiles live under your own application data folder, not the install directory, and the uninstaller leaves them alone. Upgrades keep them too. If you want them gone, they are six readable JSON files and a log folder.
The mark, wordmark, palette and icon frames are documented as a brand guide, with the geometry and every measurement written down. If you need the artwork for a listing or a write-up, it is all vector.