CS2 Crosshair Converter
By the CalcBrew team · Updated
Or drop your config file here — cs2_user_convars_0_slot0.vcfg from C:\Program Files (x86)\Steam\userdata\<your id>\730\local\cfg (the numeric folder is your Steam id). The file is read in your browser and never uploaded; the old values, the new menu values and the console lines appear automatically.
No old code saved? Get your old values — any one of these works
1. Ask the game (30 seconds, game running)
Settings → Game → “Enable Developer Console” = Yes. Open the console with the ` key (left of 1), paste this line, press Enter, then select the printed lines, copy them and paste them into the box above. Your old size and thickness are still stored in the game even though the menu no longer shows them.
cl_crosshairstyle; cl_crosshairsize; cl_crosshairthickness; cl_crosshair_drawoutline; cl_crosshaircolor_r; cl_crosshaircolor_g; cl_crosshaircolor_b; cl_crosshairalpha; cl_crosshairdot; cl_crosshair_t; cl_crosshair_recoil; cl_crosshair_dynamic_splitdist; cl_crosshair_dynamic_splitalpha_innermod; cl_crosshair_dynamic_splitalpha_outermod; cl_crosshair_dynamic_maxdist_splitratio2. Use the config file (game closed, no console needed)
Drop C:\Program Files (x86)\Steam\userdata\<your id>\730\local\cfg\cs2_user_convars_0_slot0.vcfg onto the box above, or open it in Notepad, press Ctrl+A, Ctrl+C and paste the whole file into the text box; the converter picks out the cl_crosshair lines itself. The folder with your numeric Steam id is usually the only one under userdata. The file ….vcfg_lastclouded next to it is Steam Cloud’s copy of the same. Bonus: if that folder also has a config.cfg from CS:GO days, search it for cl_crosshairgap — CS:GO saved the gap there, and it is the one value the update deleted.
3. Dig up an old code
Search Discord, Steam chat or WhatsApp for “CSGO-”, check the crosshair site you copied from, or ask a teammate who uses the same crosshair. A code with one mistyped character is corrected automatically.
4. Type the three old slider values
The update kept your color, outline, dot, T-style and recoil exactly as they were; only Size, Gap and Thickness moved to a new scale. If you remember them, or can read them from an old screenshot, a teammate with the same crosshair, or the crosshair site you copied from, enter them here:
About the old gap: the update deleted cl_crosshairgap from the game (the console answers “Unknown command”), so it cannot be read back — it has to come from an old code, a screenshot or memory. Leave it empty to assume the old default −2.2 (new Gap 4 at 1080p) and fine-tune in the menu; one old gap step of 0.5 is about one new Gap step.
What the Rush Hour update changed
On 22 September 2026 Valve made crosshairs resolution independent, added a Crosshair/Scopes tab to the settings, introduced five new styles and changed the default crosshair to Dynamic Quad. The old sliders (cl_crosshairsize, cl_crosshairgap, cl_crosshairthickness) were replaced by Length, Gap and Thickness on a new integer scale, the outline thickness slider and the five color presets were removed, and a Dynamic Spread Limit slider was added. Old share codes stopped working the same day.
| Old setting | New menu setting | Conversion |
|---|---|---|
| cl_crosshairstyle 0–5 | Crosshair style 0–7 | Classic → Dynamic Cross (Classic), Classic static → Static Cross, Legacy → Legacy |
| cl_crosshairsize 0–10 | Length 0–255 | round(old × height ÷ 480) px — × 2.25 at 1080p |
| cl_crosshairgap −5…5 | Gap 0–128 | Gap = trunc(4 + old) + ⌊thickness px ÷ 2⌋ + 1 (the old gap never scaled with resolution) |
| cl_crosshairthickness 0.1–6 | Thickness 0–31 | round(old × height ÷ 480), minimum 1: 0–0.6 → 1 px, 1 → 2 px, 1.5 → 3 px at 1080p |
| cl_crosshair_drawoutline + outlinethickness 0–3 | Outline Yes/No | outline width is fixed now |
| cl_crosshaircolor 0–5 + r/g/b | Color picker R, G, B | presets converted to RGB |
| cl_crosshairusealpha + cl_crosshairalpha | Transparency (alpha) 0–255 | alpha off → 255 |
| cl_crosshairdot, cl_crosshair_t, cl_crosshair_recoil | Center Dot, T Style, Follow Recoil | unchanged |
| cl_crosshair_dynamic_splitdist 0–16 | Split Distance 0–127 | unchanged value |
| cl_fixedcrosshairgap, cl_crosshairgap_useweaponvalue | — | removed from the menu |
| — | Dynamic Spread Limit 0–255 | new setting, default 255 |
The new crosshair styles
| Value | Name in the menu | Old equivalent |
|---|---|---|
| 0 | Dynamic Cross | none, new in this update |
| 1 | Dynamic Circle | none, new in this update |
| 2 | Dynamic Cross (Classic) | Classic (styles 0–3) |
| 3 | Static Circle | none, new in this update |
| 4 | Static Cross | Classic static (4) |
| 5 | Dynamic Cross (Legacy/Shot Feedback) | Legacy (5) |
| 6 | Dot Only | none, new in this update |
| 7 | Dynamic Quad (new default) | none, new in this update |
Where to find your old crosshair code
Most players never wrote their code down, so check these places in order. Any one of them is enough — and if none works, the console route in the next section recovers everything except the gap in about 30 seconds.
- Chat history. Search Discord, Steam chat, WhatsApp or Telegram for “CSGO-”. Codes are usually shared with teammates at least once.
- The site you copied it from. If your crosshair came from a pro-settings site or a crosshair generator, the same code is still listed there.
- A teammate with the same crosshair. Their old code decodes to your settings, typos included: the converter fixes a single mistyped character automatically.
- Old screenshots or clips. The old settings screen showed the slider values; the “type the three old slider values” fields take them directly.
- The game itself. Size and thickness are still stored on your PC, see below.
Crosshair reset? Recover the old values from your config
The update kept almost everything. Your old size, thickness and alpha are still in the game as hidden variables (cl_crosshairsize, cl_crosshairthickness, cl_crosshairalpha), and style, color, outline, dot, T-style, recoil and the split settings never left the console. The new menu simply ignores the old values and starts from Length 8, Gap 4 and Thickness 2. This works even if you never saved a share code.
In the game: enable the console under Settings → Game, open it, paste the query line from the converter’s “Get your old values” panel and press Enter. The console prints each value on its own line, for example cl_crosshairsize = 1.053793; copy those lines into the converter as they are.
The one thing that is gone: the old gap. The update deleted cl_crosshairgap (and the color preset, use-alpha and outline-thickness switches, none of which matter). The console answers “Unknown command”, so the gap has to come from an old share code, from a config file that still has the line, or from memory. The converter assumes the old default −2.2 when the gap is missing and shows a field where you can type your own; the table below the tool lists which old gap gives which new value.
Without the game:
- Find
C:\Program Files (x86)\Steam\userdata\<your id>\730\local\cfg\cs2_user_convars_0_slot0.vcfg. The folder with your numeric id is usually the only one. Simplest: drag that file onto the converter’s drop box — it is read in your browser, never uploaded, and the values and console line appear at once. - Or open it in Notepad, press Ctrl+A and Ctrl+C, then paste the whole file into the converter above; it picks out the
"cl_crosshairlines itself (for example"cl_crosshairsize" "1.053793"). Values that are missing fall back to the old game defaults. - The
.vcfg_lastcloudedfile in the same folder is Steam Cloud’s copy of the same settings. If the folder also contains aconfig.cfgfrom CS:GO days, open it and search forcl_crosshairgap: CS:GO saved the gap there, which is the one value the update deleted.
How to tell old values from new ones in that file: lines with the new names (cl_crosshair_length, cl_crosshair_gap, cl_crosshair_thickness) belong to the new menu; if they still read 8, 4 and 2, you have not changed anything since the update. Lines with the old names (cl_crosshairsize, cl_crosshairthickness) cannot be written by the new menu at all, so whatever they contain is your pre-update crosshair.
Old gap → new Gap (1080p, default size 3.9)
| Old cl_crosshairgap | New Gap | Old cl_crosshairgap | New Gap |
|---|---|---|---|
| -5 | 0 | -4 | 1 |
| -3.5 | 1 | -3 | 2 |
| -2.5 | 2 | -2.2 | 2 |
| -2 | 3 | -1.5 | 3 |
| -1 | 4 | -0.5 | 4 |
| 0 | 5 | 0.5 | 5 |
| 1 | 6 | 1.5 | 6 |
| 2 | 7 | 2.5 | 7 |
| 3 | 8 | 3.5 | 8 |
| 4 | 9 | 5 | 10 |
Three ways to put the old crosshair back into the game
The converter shows all three under the result; they set the same variables, so use whichever you trust. Whichever way you choose, first select the resolution you play at in the converter: the new values are pixels at the resolution they are set at, and the game rescales them for other screens.
- One line in the console. Enable the console under Settings → Game, open it with the ` key, paste the converter’s line and press Enter — all twelve settings apply at once. The line is packed without spaces after the semicolons to stay under the console’s paste limit (a 274-character line ran in testing, a 430-character one did nothing); a multi-line paste is not executed at all, which is the usual reason “nothing happened”.
- Sliders in Settings → Crosshair/Scopes. The converter draws a copy of the game’s menu with your values filled in, row by row in the game’s order: pick the style, click the color box and type R, G, B and alpha, then set Thickness, Length and Gap. This is the safest way because you see the preview change.
- Config file. Save the same line into
Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\autoexec.cfg, which CS2 runs at every start, or close the game and edit the numbers on thecl_crosshair_length,cl_crosshair_gapandcl_crosshair_thicknesslines ofcs2_user_convars_0_slot0.vcfgdirectly. When editing the file, use the converter’s 1080p numbers and leavecl_crosshair_screen_heightat 1080.
How the conversion was verified
The old share-code format is fully known: 18 bytes with a checksum, the same in CS:GO and CS2. The new setting names, ranges and which rows the menu shows for each style come from the game’s own settings files after the update; the menu sliders are bound directly to the cl_crosshair_length, cl_crosshair_gap and cl_crosshair_thickness variables, and the hidden cl_crosshair_screen_height records the resolution the values were authored at, which is why the converter asks for yours. The old drawing rules come straight from the CS:GO source (CWeaponCSBase::DrawCrosshair): bar length and thickness scale with screen height ÷ 480, the bar distance is trunc(4 + gap) pixels regardless of resolution, and the nearest bar pixel is distance + ⌊thickness ÷ 2⌋ + 1 from the center. The new menu was measured directly in CS2 on 23 September 2026 with an automated harness: 59 combinations of Length (0–20), Gap (0–10), Thickness (1–8), dot and outline were set through the console, screenshotted losslessly at 1920×1080 and analysed pixel by pixel. Result: Length and Thickness are exact pixel counts, the bars begin exactly Gap pixels from the center pixel, Gap 0 renders like Gap 1, the dot is a Thickness × Thickness square, and the outline does not move the bars. The two pro crosshairs checked by eye (donk, ZywOo) fall out of the same formula. The calibration panel still lets you adjust the base gap for configs that used a weapon-specific gap.
Related tools: CPS test, reaction time test and the unit converters.
Frequently asked questions
Cite this calculator
CalcBrew. (2026). CS2 Crosshair Converter. https://calcbrew.com/cs2-crosshair-converter“CS2 Crosshair Converter.” CalcBrew, 2026, calcbrew.com/cs2-crosshair-converter.Link to https://calcbrew.com/cs2-crosshair-converter. Results are estimates; cite the underlying formula or data source for academic work.
Related tools
More in Games & Tests · All tools & games