CS2 · crosshair codes

CS2 Crosshair Code Converter

Turns a CS2 crosshair code from before the 23 September update into the new pixel crosshair the game accepts.

CS2 crosshair converterOld codes · new codes · console · local

Try: · ·

Paste a code from before or after the 23 September update, or old console settings.

Import the code under Settings → Crosshair/Scopes, or paste the console line with the game running at the resolution above. Old length and thickness were measured in 1/480ths of the screen height and the gap was 4 + gap in pixels, so the result is the pixel size you actually saw. Check it in a private match; if one arm looks a pixel off, nudge that value by one.

What the result actually measures

The share code is 18 bytes written in a 57-letter alphabet, with a checksum. Old codes stored length, thickness and gap in the old scale, where length and thickness were 1/480ths of the screen height and the gap was 4 + gap in pixels. The converter works out the pixels you actually saw at your resolution and writes them as a version 4 code, the kind the current game writes.

Measurement boundary: Styles changed with the update. A Classic Static crosshair becomes Static Cross and a dynamic one becomes Dynamic Cross; the old Legacy style is left for you to pick in the menu, because its new number is not confirmed. Outline thickness and “use weapon gap” no longer exist. Check the result in a private match and nudge a value by one pixel if needed.

How to interpret the output

Why the old code stopped working

The 23 September 2026 update moved the crosshair to pixels and changed the share code format. The game refuses the old format instead of guessing, so every code saved before the update fails to import.

Why the resolution matters

An old size 2 was 4 pixels long at 1080 and 3 pixels at 768. The new crosshair stores the pixels and the resolution they belong to, and rescales itself if you change resolution later.

Why the gap can change

Old gaps of −5 or lower made the arms overlap the centre. The new gap starts at 0, so those crosshairs come out closed rather than overlapping.

Troubleshooting unexpected results

The game still says the code is invalid

Copy the whole code, CSGO- included. If a code made here fails, paste the console line instead; it sets the same values.

It looks a pixel bigger or smaller

The old scale was rounded to whole pixels, half to even. On some resolutions a size sits right on the edge; change that value by one.

Frequently asked questions

Why does my old CS2 crosshair code not work?

Since the 23 September 2026 update the game only imports the new pixel format. Old codes have to be converted; the settings they hold are still readable, which is what this page does.

What is the new command for crosshair size?

cl_crosshair_length, in pixels. Thickness is cl_crosshair_thickness and the gap is cl_crosshair_gap, both in pixels too. The colour is cl_crosshaircolor_r, _g, _b and _a.

Does 4:3 stretched change the result?

Use the height you render at, for example 960 for 1280 × 960. The old sizes were a share of that height, so the pixels follow it.

Is the code sent anywhere?

No. Decoding and encoding happen in the page.