CS2 crosshair generator
Move the sliders — the preview and the code update at once. The preview is true to size for 1080p, as in the game; next to it the same crosshair enlarged. You get an import code, a console command, a command line and an autoexec fragment.
Output
CSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYDapply_crosshair_code CSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYDcl_crosshair_drawoutline 0; cl_crosshair_dynamic_maxdist_splitratio 0; cl_crosshair_dynamic_splitalpha_innermod 1; cl_crosshair_dynamic_splitalpha_outermod 0.35; cl_crosshair_dynamic_splitdist 3; cl_crosshair_dynamic_spread_limit 255; cl_crosshair_gap 4; cl_crosshair_length 5; cl_crosshair_recoil 0; cl_crosshair_screen_height 1080; cl_crosshair_t 0; cl_crosshair_thickness 2; cl_crosshaircolor_a 255; cl_crosshaircolor_b 0; cl_crosshaircolor_g 255; cl_crosshaircolor_r 0; cl_crosshairdot 0; cl_crosshairoutline_a 255; cl_crosshairoutline_b 0; cl_crosshairoutline_g 0; cl_crosshairoutline_r 0; cl_crosshairstyle 4; cl_ironsight_dot_scale 1; cl_ironsight_usecrosshaircolor 0autoexec.cfg
// CS2Price crosshair generator — https://cs2price.com/en/crosshair-generator cl_crosshair_drawoutline 0 cl_crosshair_dynamic_maxdist_splitratio 0 cl_crosshair_dynamic_splitalpha_innermod 1 cl_crosshair_dynamic_splitalpha_outermod 0.35 cl_crosshair_dynamic_splitdist 3 cl_crosshair_dynamic_spread_limit 255 cl_crosshair_gap 4 cl_crosshair_length 5 cl_crosshair_recoil 0 cl_crosshair_screen_height 1080 cl_crosshair_t 0 cl_crosshair_thickness 2 cl_crosshaircolor_a 255 cl_crosshaircolor_b 0 cl_crosshaircolor_g 255 cl_crosshaircolor_r 0 cl_crosshairdot 0 cl_crosshairoutline_a 255 cl_crosshairoutline_b 0 cl_crosshairoutline_g 0 cl_crosshairoutline_r 0 cl_crosshairstyle 4 cl_ironsight_dot_scale 1 cl_ironsight_usecrosshaircolor 0 // or: apply_crosshair_code CSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYD
Switch binds
bind F6 "apply_crosshair_code CSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYD" bind F7 "apply_crosshair_code CS…" // second crosshair, e.g. a dot for AWP
Pro player presets
Click to load the parameters into the generator; the nickname link opens the player page with history.
How it works
Since the 30 Sep 2026 game update a crosshair code is 32 bytes written as 44 characters after “CS”: style, length, thickness and gap in whole pixels, the screen height they were set for, line and outline colour, flags (dot, T-style, recoil) and dynamic parameters; the first byte is a checksum. The generator encodes the parameters with the same layout as the game and decodes any code back, including an old CSGO-… one, which it converts to pixels. The preview is drawn for a 1080p monitor: if the crosshair was set for another screen height, sizes are rescaled the way the game does it.
| Command | What it does |
|---|---|
| cl_crosshairstyle | style: 4 — static cross (what almost every pro uses), 0 — dynamic, 6 — dot only; 10 styles in total |
| cl_crosshair_length | arm length in pixels; pros usually use 2–5 |
| cl_crosshair_thickness | arm thickness in pixels; pros use 1–2 |
| cl_crosshair_gap | gap from the centre to the start of an arm in pixels, can be negative; pros use 1–3 |
| cl_crosshair_screen_height | screen height the pixels are set for; the game rescales to your resolution |
| cl_crosshairdot | centre dot: 0 or 1 |
| cl_crosshair_drawoutline | outline: 0 — none, 1 — full, 2 — half; colour — cl_crosshairoutline_r/_g/_b/_a |
| cl_crosshaircolor_r / _g / _b / _a | colour and opacity from 0 to 255; colour presets are gone |
Frequently asked
How do I get a crosshair code from the generator?
Can I paste my own code or commands?
What is a crosshair code and how is it built?
How do I convert an old crosshair code?
Why is the preview so small?
How do I keep the crosshair permanently?
How do I switch between two crosshairs mid-match?
" and bind F7 "apply_crosshair_code ". For example a regular cross and a dot for AWP.