CS2Price CS2Price
Tool

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.

1:1
×2
Shape
Colour
RGB
Behaviour
Dynamic style parameters
Import and old code conversion

×4

Output

CodeCSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYD
Consoleapply_crosshair_code CSeWx5RYBtcAEbuhY5sCOnsQUeNh5AaQ2FNsHeVrNXVfYD
Commandscl_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

autoexec.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.

ct0mdekodonk Spiritzont1x SpiritjLs1mplesh1ro SpiritNiKo Falconsm0NESY Falconsb1t NAVIZywOo Vitalityropz Vitalitymolodoy FURIAScreaM Clutchainkyousuke FalconsAunkere

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.

CommandWhat it does
cl_crosshairstylestyle: 4 — static cross (what almost every pro uses), 0 — dynamic, 6 — dot only; 10 styles in total
cl_crosshair_lengtharm length in pixels; pros usually use 2–5
cl_crosshair_thicknessarm thickness in pixels; pros use 1–2
cl_crosshair_gapgap from the centre to the start of an arm in pixels, can be negative; pros use 1–3
cl_crosshair_screen_heightscreen height the pixels are set for; the game rescales to your resolution
cl_crosshairdotcentre dot: 0 or 1
cl_crosshair_drawoutlineoutline: 0 — none, 1 — full, 2 — half; colour — cl_crosshairoutline_r/_g/_b/_a
cl_crosshaircolor_r / _g / _b / _acolour and opacity from 0 to 255; colour presets are gone

Frequently asked

How do I get a crosshair code from the generator?
The code is rebuilt on every slider move — it is the first line under the preview. Press Copy, then in the game open Settings → Game → Crosshair → Share or Import and paste.
Can I paste my own code or commands?
Yes: paste a CS… code or a line of cl_crosshair… commands into the Import field — the generator parses it and sets the sliders. An old CSGO-… code works too: the generator converts it to the new format the game accepts since the 30 Sep 2026 update.
What is a crosshair code and how is it built?
Since the 30 Sep 2026 update it is “CS” plus 44 characters: 32 bytes holding style, length, thickness and gap in pixels, screen height, line and outline colour, and flags. The first byte is a checksum, so a typo in a code will not pass. We encode and decode it with the same layout the game uses.
How do I convert an old crosshair code?
Paste the old CSGO-… code into the Import field and press Parse: the generator converts length, thickness and gap to pixels with the same rules the game used in the update and gives you a new CS… code. Static crosshairs convert exactly; dynamic styles may look slightly different at rest.
Why is the preview so small?
Because it is true to size for a 1080p monitor: pro crosshairs take up 5–12 pixels. The ×2 and ×4 squares next to it show the same crosshair enlarged so the shape is visible.
How do I keep the crosshair permanently?
Download the autoexec fragment and put the lines into autoexec.cfg in the game/csgo/cfg folder: they run at every launch and survive updates.
How do I switch between two crosshairs mid-match?
Use the binds block: bind F6 "apply_crosshair_code " and bind F7 "apply_crosshair_code ". For example a regular cross and a dot for AWP.