Crosshair Generator
Build a crosshair for your CS2 setup. Edit exact values, compare with the original and copy the code.
Import a crosshair
Seeing “Invalid or old crosshair code”? Paste your old code here to convert it.
Drag the loupe or click the preview to inspect another pixel.
1920×1080 · 1 game pixel = 1×1 screen pixels. Preview uses the configured gap. The in-game rest gap depends on your weapon. Movement and firing spread are not simulated. How accurate is the preview?
Starter crosshairs
Shape
Colour and outline
Dynamic behaviour
Preview spread illustrates split settings. Weapon movement and firing are not simulated.
Scope and recoil
Scope-dot settings are exported. Scope and recoil are not previewed.
Resolution
Pixel sizes above are at this screen height. CS2 rescales them when you play at another height.
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
Crosshair code
In CS2, open Settings, then the Crosshair tab, and paste the code into the crosshair code import.
CSpb9t3x5NtrX5fWaENsr8vusEtwpiURjzqauLkOiYHMqF Console commands
Or copy the console commands and paste them into the CS2 console.
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
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 Show the config text
// 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
How accurate is this?
Settings, limits and style rules come from CS2 client 2000922, as extracted by GameTracking-CS2 on 30 September 2026. 6ac247908a83c309b37314fd097c47dc78103746
Known limits and setting ranges
- Static styles match in-game screenshots for the sizes tested so far. Other sizes, outlines and circles can still be a pixel out, so the preview is not pixel-perfect.
- Share codes and console commands are tested against csgo-sharecode v7, including its game-tested code samples. View reference tests
- CS2 has run config and console imports for selected values. Native re-export of an all-field fixture is still pending.
- Preview uses the configured gap. The in-game rest gap depends on your weapon. Movement and firing spread are not simulated.
- CS2 captures support one split-length case. Preview spread, opacity and weapon gaps remain illustrative.
- 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 | 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
Crosshair Generator
Build, compare and export a CS2 crosshair. Paste a code, adjust exact values and copy the result.
Why does CS2 say “Invalid or old crosshair code”?
Codes from before the 30 September 2026 update use the old format. Paste your code above, choose the screen height you played at if asked, then copy the new code.
Why does CS2 say “Invalid or old crosshair code”?
Codes from before the 30 September 2026 update use the old format. Paste your code above, choose the screen height you played at if asked, then copy the new code.
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. Static styles match in-game screenshots for the sizes tested so far, but other sizes, outlines and circles can be a pixel out. Dynamic previews draw the configured gap. The in-game rest gap depends on your weapon; 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.