Crosshair Generator
Build a crosshair for your CS2 setup. Edit exact values, compare with the original and copy the code.
Import a crosshair
1920×1080 · 1 game pixel = 1×1 screen pixels. Shown at rest. Movement and firing spread are not simulated.
Colour and outline
Shape
Dynamic behaviour
Exported exactly; the preview does not simulate them.
Scope and recoil
Resolution
Pixel sizes above are at this screen height. CS2 rescales them when you play at another height.
Preview and loupe
Changes from the game default
No changes yet.
Saved variants
Saved in this browser only, as share codes. Nothing syncs to an account.
Use it in CS2
- Copy the crosshair code.
- In CS2, open Settings, then the Crosshair tab, and paste the code into the crosshair code import.
- Or download jumpthrow-crosshair.cfg, put it in game/csgo/cfg and run exec jumpthrow-crosshair in the console.
Config file (jumpthrow-crosshair.cfg)
Save it in game/csgo/cfg, then run this command in the console or add it to your own autoexec. It sets only crosshair settings.
exec jumpthrow-crosshair // jumpthrow-crosshair.cfg, made with jumpthrow.gg/tools/crosshair-generator // Put this file in game/csgo/cfg, then run: exec jumpthrow-crosshair cl_crosshair_screen_height 1080 cl_crosshairstyle 7 cl_crosshair_recoil 1 cl_crosshairdot 0 cl_crosshair_t 0 cl_crosshaircolor_r 0 cl_crosshaircolor_g 255 cl_crosshaircolor_b 0 cl_crosshaircolor_a 255 cl_crosshair_drawoutline 1 cl_crosshairoutline_r 0 cl_crosshairoutline_g 0 cl_crosshairoutline_b 0 cl_crosshairoutline_a 255 cl_crosshair_thickness 2 cl_crosshair_gap 4 cl_crosshair_length 8 cl_crosshair_dynamic_spread_limit 255 cl_crosshair_dynamic_splitdist 3 cl_crosshair_dynamic_splitalpha_innermod 0 cl_crosshair_dynamic_splitalpha_outermod 1 cl_crosshair_dynamic_maxdist_splitratio 1 cl_ironsight_usecrosshaircolor 0 cl_ironsight_dot_scale 1
Compatibility and evidence
Settings, limits and style rules come from CS2 client 2000922, as extracted by GameTracking-CS2 on 30 September 2026.
6ac247908a83c309b37314fd097c47dc78103746
- Not yet compared with in-game screenshots. The preview follows the game's crosshair shader, but how CS2 positions odd widths, outlines and circles is unconfirmed, so it is not pixel-perfect.
- Share codes decode and re-encode real CS2 codes exactly. The split and scope-dot bytes are not yet confirmed by one-setting exports from the game.
- Generated codes and config files have not yet been imported into CS2 for this release.
- Dynamic styles are shown at rest. Movement, firing spread and recoil are not simulated.
- Older CSGO- codes from before 22 September 2026 are converted with an approximate size rule.
- Colour presets are the game default green and the five colours of the removed cl_crosshaircolor setting.
Setting limits
| Setting | Console command | Editor range | In-game slider |
|---|---|---|---|
| Reference screen height | cl_crosshair_screen_height | 240–65535 | — |
| Style | cl_crosshairstyle | 0–9 | 0–9 |
| Follow recoil | cl_crosshair_recoil | 0–1 | 0–1 |
| Center dot | cl_crosshairdot | 0–1 | 0–1 |
| T style | cl_crosshair_t | 0–1 | 0–1 |
| Red | cl_crosshaircolor_r | 0–255 | 0–255 |
| Green | cl_crosshaircolor_g | 0–255 | 0–255 |
| Blue | cl_crosshaircolor_b | 0–255 | 0–255 |
| Opacity | cl_crosshaircolor_a | 0–255 | 0–255 |
| Outline | cl_crosshair_drawoutline | 0–2 | 0–2 |
| Outline red | cl_crosshairoutline_r | 0–255 | 0–255 |
| Outline green | cl_crosshairoutline_g | 0–255 | 0–255 |
| Outline blue | cl_crosshairoutline_b | 0–255 | 0–255 |
| Outline opacity | cl_crosshairoutline_a | 0–255 | 0–255 |
| Thickness | cl_crosshair_thickness | 0–32 | 0–32 |
| Gap | cl_crosshair_gap | -3840–3840 | 0–128 |
| Length | cl_crosshair_length | 0–255 | 0–255 |
| Dynamic spread limit | cl_crosshair_dynamic_spread_limit | 0–255 | 0–255 |
| Split distance | cl_crosshair_dynamic_splitdist | 0–127 | 0–127 |
| Inner split alpha | cl_crosshair_dynamic_splitalpha_innermod | 0.00–1.00 | 0.00–1.00 |
| Outer split alpha | cl_crosshair_dynamic_splitalpha_outermod | 0.30–1.00 | 0.30–1.00 |
| Split size ratio | cl_crosshair_dynamic_maxdist_splitratio | 0.00–1.00 | 0.00–1.00 |
| Scope dot uses crosshair colour | cl_ironsight_usecrosshaircolor | 0–1 | 0–1 |
| Scope dot scale | cl_ironsight_dot_scale | 0.10–2.00 | 0.10–2.00 |
Crosshair-tab settings that a code does not carry:
cl_crosshair_sniper_widthcl_crosshair_friendly_warningcl_show_observer_crosshaircl_observed_bot_crosshaircl_grenadecrosshair_*cl_sniper_delay_unscopecl_sniper_show_inaccuracycl_sniper_auto_rezoom
FAQ
Crosshair Generator
Build, compare and export a CS2 crosshair. Paste a code, adjust exact values and copy the result.
Which crosshair codes can I paste?
Current CS2 codes (CS followed by 44 characters, used since 30 September 2026), older CSGO- codes, and crosshair console lines. Older codes and removed commands are converted with a review step before anything changes.
Which crosshair codes can I paste?
Current CS2 codes (CS followed by 44 characters, used since 30 September 2026), older CSGO- codes, and crosshair console lines. Older codes and removed commands are converted with a review step before anything changes.
Is the preview pixel-perfect?
No. It follows the game's crosshair shader and the pixel units Valve describes, but it has not yet been compared with in-game screenshots. Dynamic styles are shown at rest; movement and firing spread are not simulated.
Why did my old crosshair change size?
Since September 2026, CS2 measures thickness, length and gap in pixels at a reference screen height. Old CS:GO-era codes used a scale that depended on resolution, so the editor asks for the height you played at and converts approximately.
Does the config file replace my autoexec?
No. jumpthrow-crosshair.cfg sets only crosshair commands with their current names. Run it with exec jumpthrow-crosshair, or add that line to your own autoexec.
Where are my variants saved?
Named variants stay in this browser as share codes, and the unfinished draft stays in this tab. Nothing syncs to an account. Use Copy all codes to keep a backup.
What does a shared link contain?
Only the crosshair code. It carries no match, player, history or saved variants, and opening it never changes the recipient's saved variants.