CS2 crosshair generator and code decoder

A share code in, the crosshair drawn. Or move the sliders and take the code with you.

CS2 changed the crosshair settings on 23 September 2026. cl_crosshairsize, cl_crosshairthickness, cl_crosshairgap and cl_crosshairalpha were renamed, and the colour preset was removed. The commands below use the names the game has now, with the preset written out as its colour, so pasting them works. Sizes are pixel counts now, where they used to go through a scale off your resolution — and on 24 September the game stopped accepting the old codes at all, answering them with old or invalid crosshair code. Paste one in anyway: it is converted here, and the code in the box is one CS2 takes.

Since 30 September 2026 CS2 copies crosshair codes in a new format — CS and 44 characters, no dashes — and adds an outline colour. Paste one here and it stays one; build a crosshair from scratch and the code you take is the new kind. The older CSGO- code, which the game still imports, is under it.

Resting preview · 1× is game-pixel scale

8px arms · 2px line · 4px gap at 1920 × 1080 (16:9), the same as 1080 × 1080 — only the height counts

Paste one in, or copy the one your settings make.
Older format, which CS2 also imports:CSGO-KfvhQ-uhqm9-5jzfs-NDbWr-MUYjM

Old code → new code

CS2 stopped taking pre-update codes. Paste one here to get the one it takes.
console commands
cl_crosshairstyle "7"
cl_crosshair_length "8"
cl_crosshair_thickness "2"
cl_crosshair_gap "4"
cl_crosshair_screen_height "1080"
cl_crosshair_dynamic_spread_limit "255"
cl_crosshair_drawoutline "1"
cl_crosshairdot "0"
cl_crosshair_t "0"
cl_crosshair_recoil "1"
cl_crosshair_dynamic_splitdist "3"
cl_crosshair_dynamic_splitalpha_innermod "0"
cl_crosshair_dynamic_splitalpha_outermod "1"
cl_crosshair_dynamic_maxdist_splitratio "1"
cl_crosshaircolor_r "0"
cl_crosshaircolor_g "255"
cl_crosshaircolor_b "0"
cl_crosshaircolor_a "255"
No share code? Paste the commands instead+

Settings

A fixed cross with four curved accuracy marks that spread as the weapon opens up.

Shape

Colour

Colour

Outline

The one setting that keeps a crosshair visible on a bright wall.

Hover a setting to see what it does.
Movement and dynamic split+

Classic static never moves, so none of this changes what you see. The values still travel in the share code.

Hover a setting to see what it does.

Worth knowing

Match codes look identical and are not crosshairs.
Demo and match share codes carry the same CSGO- prefix and the same 25 characters. The only thing telling them apart is a checksum, so this page checks it before it decodes anything, and says so instead of inventing settings.
A value is a pixel now, and the preview draws it as one.
Valve’s wording: “if you want a 1-pixel wide crosshair with a bar length of 8 pixels and a gap of 4 pixels, then you would set: thickness = 1, length = 8, and gap = 4”. The preview starts at 1x, and the readout under it gives the pixel counts so you can check them against your own game. The scene zooms with the crosshair when you choose to magnify it, so the two never drift out of proportion. At 1x you are looking at a true-size crop of a frame.
The game rescales your crosshair when you change resolution.
Also from the notes: a crosshair “configured at display resolution 1280x720 with a thickness of 2 pixels” becomes 4 pixels at 2560x1440, on its own, so it stays proportionally the same. That is why the screen picker is a list of real resolutions grouped by shape rather than a single “1080p”: only the line count matters, so 1080 × 1080 and 1920 × 1080 are one answer, and a stretched 4:3 player on 768 lines is looking at a different crosshair from everyone writing the guides.
Half-outlines and the square style are not here yet, on purpose.
The same update added an option to draw only the top-left of the outline, a static square style, and a Dynamic Spread Limit. Valve named them in prose and not by console command, and a share code of the current version has no room for them — its eighteen bytes are all spoken for. Rather than guess at three command names and write them into your autoexec, this page leaves them out until the real ones are known. Everything else on the page is exact.
The backdrops are real scenes.
Dust2, Inferno, Overpass and Nuke, from Valve’s own CS2 screenshots, because “will I lose this in a game” is not a question a grey rectangle can answer. They are slightly blurred so the scene stays context rather than competing with the five pixels you are looking at. Counter-Strike and the images are Valve’s; this site is not affiliated with them.