CROSSHAIRGEN

CS2 · September 2026 crosshair update

Get your old CS2 crosshair back, pixel for pixel

Old code says “Invalid or old crosshair code”? Paste your CSGO- code or cl_crosshair commands. You get a new import code, console commands and an autoexec, converted at your resolution, plus a live preview of how it looks and moves in game.

  • Pixel-identical
  • New code, one-click import
  • Static + dynamic preview
  • Runs in your browser
Try a pro:

In-game preview

Actual size

Fine-tune

How to apply

Put the new crosshair in game

Pick one of three ways. Importing the new code takes ten seconds; the console and autoexec are there if you like configs.

Option 1: Import the new code

Recommended

Carries every setting and your resolution, and rescales if you change resolution later.

  1. Open crosshair settingsLaunch CS2, click the gear at the top left to open Settings, then the Crosshair/Scopes tab.
  2. Click “Share or Import”It sits at the top right of the crosshair settings.
  3. Paste and importClick “Copy new code” on this page, paste it into the box in game (Ctrl+V) and click Import. Check the preview and you’re done.

Option 2: Console command

Handy if importing doesn’t suit you, or you want to see every value.

  1. Enable the consoleIn Settings → Game, set Enable Developer Console (~) to Yes.
  2. Paste and press EnterJoin a game at your usual resolution, press ~, paste the copied command and press Enter. The leading cl_crosshair_screen_height records your resolution.

Option 3: autoexec.cfg

Applies the crosshair every time the game starts, so a reset can’t lose it.

  1. Drop it in the cfg folderClick “Download autoexec” and put the file in Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\. Already have an autoexec.cfg? Copy the crosshair lines into it instead.
  2. Add a launch optionIn your Steam library, right-click Counter-Strike 2 → Properties → Launch Options and add +exec autoexec.

Can’t find your old code?

  • Check old screenshots, bookmarks, Discord messages or video descriptions for a CSGO- code.
  • An old autoexec.cfg or config.cfg backup works too: paste its cl_crosshair lines.
  • CS2 keeps settings in Steam\userdata\<your ID>\730\local\cfg\cs2_user_convars_0_slot0.vcfg. If you have a backup from before the update (system backup or cloud drive), paste the whole file and the crosshair values are picked out automatically.
  • Used a pro’s crosshair? Try the pro buttons above, or search “player name + crosshair code” for their pre-update code.

What changed

What the crosshair update changed

Old sizes were abstract numbers tied to your resolution, so the same code looked different at 1080p and 960p. New sizes are pixels plus the screen height they were made at. That’s why an old code can’t be reused as is: it has to be converted at the resolution you played at.

Old vs new commands

OldNewChange
cl_crosshairsizecl_crosshair_lengthPixels, 0–255
cl_crosshairthicknesscl_crosshair_thicknessPixels, 0–32, no decimals
cl_crosshairgapcl_crosshair_gapPixels, from the centre line
cl_crosshairalphacl_crosshaircolor_a0–255
cl_crosshair_outlinethicknesscl_crosshair_drawoutline0 none / 1 full / 2 half
cl_crosshaircolorcl_crosshaircolor_r/g/bPresets gone, RGB only
cl_crosshairusealpha—Removed
cl_fixedcrosshairgap—Removed
cl_crosshairgap_useweaponvalue—Removed
—cl_crosshair_screen_heightNew: height the sizes are for
—cl_crosshairoutline_r/g/b/aNew: outline color
—cl_crosshair_dynamic_spread_limitNew: max dynamic spread

Timeline

  1. 22 Sep · Rush Hour updateCrosshair rebuilt in pixels, new styles, Dynamic Quadrant becomes the default, old codes stop importing.
  2. 23–24 Sep · HotfixSizes rescale when you change resolution; Half outline and Static Square added.
  3. 30 Sep · New code formatShare codes start with CS and have no dashes; outline color, negative gaps and Static Quadrant added.

The 10 new styles

#StyleMoves?
0Dynamic CrossSpreads with inaccuracy
1Dynamic CircleSpreads with inaccuracy
2Dynamic Cross (Legacy)Old split dynamic
3Static CircleNo
4Static CrossNo (the pro favourite)
5Static Cross (Shot Feedback)Only when firing
6Dot OnlyNo
7Dynamic QuadrantCross stays, outer ring spreads (new default)
8Static SquareNo
9Static QuadrantNo

FAQ

Questions

Why does CS2 say “Invalid or old crosshair code”?

The Rush Hour update on 22 September 2026 rebuilt the crosshair: length, thickness and gap are now pixels. From 30 September share codes use a new format that starts with CS and has no dashes. Old CSGO- codes, including interim codes made between 22 and 30 September, no longer import and have to be converted first.

Will the converted crosshair look exactly the same?

Static crosshairs convert pixel for pixel. Old length and thickness scaled with screen height ÷ 480 and rounded half to even; the old gap was 4 + gap raw pixels measured from the edge of the centre square, while the new gap is measured from the centre line. CrosshairGen applies these rules and was checked pixel by pixel against more than 30,000 combinations. How far dynamic styles spread can’t be matched exactly.

“Before vs after” puts the old and new crosshair side by side at the same zoom, so you can count every pixel yourself. Any pixel that differs is outlined.

Which resolution should I pick?

Pick the resolution you actually played at before the update. Only the height matters, so 1280×960 stretched means 1280×960. The new code stores that height and CS2 rescales it if you change resolution later. Native / Stretched / Black bars only affects the preview.

My thickness was 0.5 and decimals are gone. What now?

At 1080p a 0.5 thickness always drew 1 pixel (0.5 × 1080 ÷ 480 = 1.125, rounded to 1). The converter works in real pixels, so there is nothing to adjust.

What happened to the 0.5 outline?

A 0.5 outline only ever drew 1 pixel on the top and left edges. The new Half outline is exactly that, and the converter sets it for you.

Is this safe? Can I get banned?

Yes, it is safe. The tool only produces a share code for the in-game import box and standard console commands, the same as changing settings by hand.

Is my code uploaded anywhere?

No. Decoding, conversion and preview all run locally in your browser. Nothing is sent anywhere.

How accurate is the dynamic preview?

The preview follows the game’s spread projection for Dynamic Cross, Dynamic Circle, Dynamic Quadrant and the legacy split crosshair. Weapon inaccuracy and recoil are approximations, so treat it as a feel for how it moves; the game has the final say.

Got your old crosshair back?
Buy the author a coffee ☕

CrosshairGen is free, has no ads and collects nothing. Every time CS2 changes the crosshair, it gets updated. A coffee is what keeps that going.

☕ Buy me a coffee Ko-fi

One-off tip via Ko-fi.