How to recover and apply your old crosshair
The CS2 update of 22 September 2026 changed how crosshairs work, and old crosshair codes may no longer import. The crosshair tool reads your old code or settings, carries over what has a known new equivalent, and helps you choose the rest. This guide walks through each step.
The short version: recover your old settings, choose a new style, pick new sizes, then apply the result in CS2 and check it in game. Sizes are converted only for pre-update CS2 Classic Static crosshairs at 1920×1080 and 1280×960 (4:3); elsewhere expect to adjust them. If you want the background first, read what the update changed.
Before you start
Save the crosshair you have in CS2 right now. In the game, open Settings, go to the Crosshair / Scopes tab, choose Share or Import and copy your current code somewhere safe. This site cannot see your game settings, so it cannot make a backup for you.
Step 1: recover your old crosshair
The first section of the tool has three tabs. Use whichever matches what you still have.
Old code
Paste a code that looks like CSGO-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx and select Recover settings. Letters are case-sensitive, so paste the code exactly as you saved it. Spaces around the code are fine.
If something is wrong, the tool tells you what: a formatting problem, a code that looks miscopied, or a format it does not support. Your text stays in the box so you can fix it. For an unsupported code you can switch to entering the settings by hand.
A code the tool can read may still be refused by the game. That is expected: the game's refusal is about the new system, not proof that your old code is broken. The FAQ explains this.
Old settings
Type what you remember from your old settings or config and select Use these settings. Leave anything you do not know blank. Blank is never treated as 0 or Off, so a missing value is not mistaken for a real one. Less common settings such as outline thickness, the weapon gap and the Classic split values sit under Advanced old settings.
Old values use old units. Decimals such as 1.5 and negative gaps such as −3 are valid here, because the old game accepted them.
Console values
Paste lines from an old config file or console, such as cl_crosshairsize 2.5; cl_crosshairgap -3, and select Read settings. Only known crosshair settings are read. Binds, aliases, exec and every other command are ignored and never run. The box accepts up to 16 KiB of text and 128 statements. If the same setting appears twice, the last valid value is used and the tool tells you.
If you paste the new CS2 command names instead, such as cl_crosshair_length, the tool recognizes them as new settings and offers Load as new settings, because they need no converting.
No old settings at all? Select Start with an empty editor and build a crosshair from scratch.
Step 2: choose the new style
The new system has eight styles, set with cl_crosshairstyle. Every style has Color and Transparency, Outline and Thickness. The table shows what each style adds. Dynamic Quad is the game's default style after the update.
| Style | Number | Extra settings | About it |
|---|---|---|---|
| Dynamic Cross | 0 | Center Dot, Length, Gap, Dynamic Spread Limit, T Style | A cross that reacts to movement and firing. |
| Dynamic Circle | 1 | Center Dot, Dynamic Spread Limit | A circle whose size reacts to movement and firing. It has no Length or Gap control. |
| Dynamic Cross (Classic) | 2 | Center Dot, Length, Gap, Split Distance, Inner Split Alpha, Outer Split Alpha, Split Size Ratio, T Style | A dynamic cross with split controls, closest in name to the old Classic style. |
| Static Circle | 3 | Center Dot, Gap | A fixed circle. It has a Gap control but no Length control. |
| Static Cross | 4 | Center Dot, Length, Gap, T Style | A fixed cross that does not move. Old Classic Static crosshairs belong to this family. |
| Dynamic Cross (Legacy/Shot Feedback) | 5 | Center Dot, Length, Gap, T Style | A cross that reacts to shots, named after the old Legacy style. |
| Dot Only | 6 | None | Only a dot. There is no separate Center Dot, Length or Gap control. |
| Dynamic Quad | 7 | Center Dot, Length, Gap, Dynamic Spread Limit, T Style | The new default style after the update. Its in-game shape is not drawn here because it has not been documented. |
What happens to your old style number
The style numbers changed completely, so an old number is never passed through as a new one. An old style 3, for example, does not become Static Circle, and an old style 1 does not become Dynamic Circle.
| Old number | Old name | What the tool does |
|---|---|---|
| 0 | Default (CS:GO), Default (disabled) (pre-update CS2) | You choose the new style. The old number is never reused, and a few styles are marked "Worth considering". |
| 1 | Default Static (CS:GO), Default Static (disabled) (pre-update CS2) | You choose the new style. The old number is never reused, and a few styles are marked "Worth considering". |
| 2 | Classic | Dynamic Cross (Classic) is suggested. Its behavior has not been compared with the old style in game. |
| 3 | Classic Dynamic (CS:GO), Classic Dynamic (disabled) (pre-update CS2) | You choose the new style. The old number is never reused, and a few styles are marked "Worth considering". |
| 4 | Classic Static | Static Cross is selected for you, because both are fixed crosses. Sizes still need your choice. |
| 5 | Legacy | Dynamic Cross (Legacy/Shot Feedback) is suggested. Its behavior has not been compared with the old style in game. |
| Any other | Not recognized | Your other settings are kept, and you choose the new style. |
Styles 0, 1 and 3 meant different things in CS:GO and in CS2 before the update. When it matters, the tool asks where your crosshair is from, with the answers "Pre-update CS2", "CS:GO" or "Not sure". It starts at "Pre-update CS2", where almost every old crosshair comes from, and you can change it. Besides the size conversion, the answer decides whether Follow Recoil from a code is used (CS:GO codes did not store it), how out-of-range split values are handled and which new styles are suggested for old styles 0, 1 and 3. A code alone does not prove which game it came from.
You can switch styles at any time. The tool remembers the sizes you chose for each style separately, so one style's values never leak into another.
Step 3: set the new values
Length, Thickness and Gap use a new scale. If your old crosshair is Classic Static from CS2 before the update and you play at 1920×1080 or 1280×960 (4:3), choose your resolution in the Automatic sizes box (where your crosshair is from starts as Pre-update CS2): the tool then fills in values that draw the same pixels as your old crosshair, labelled Converted. Otherwise you choose them. The new ranges are Length 0 to 255, Thickness 0 to 31, Gap 0 to 128, and all three are whole numbers.
You have three ways to fill them in:
- Start with sample sizes fills Length 8, Thickness 3, Gap 1 for the size settings your style uses. This is an editor sample to adjust from. It is not a conversion of your old sizes and not the game's default.
- Type a value in the box, or drag the slider that appears once the setting has a value.
- If you already chose sizes for another style, Copy sizes brings them across.
For reference, the game's own defaults in the current-build console list are Length 8, Thickness 2, Gap 4. Values outside the range, or decimals in a whole-number setting, show an error and are not applied. The tool never quietly rounds what you type.
Optional settings that nothing was given for, such as Outline or Dynamic Spread Limit, show a Use the game default button. It sets that one setting to the game's own default from the current-build console list.
Each setting shows its old value, when there was one. Old sizes are marked as old units. Use them as a memory aid, not as numbers to copy: the scales differ. The conversion method page explains what carries over and why.
New settings at a glance
| Menu setting and command | Values | Game default | Shown for |
|---|---|---|---|
Color and Transparency cl_crosshaircolor_r cl_crosshaircolor_g cl_crosshaircolor_b | Red, green and blue, each 0 to 255 | R 0, G 255, B 0 | All styles |
Color and Transparency (A) cl_crosshaircolor_a | Whole number, 0 to 255 | 255 | All styles |
Outline cl_crosshair_drawoutline | Yes or No | Yes | All styles |
Thickness cl_crosshair_thickness | Whole number, 0 to 31 | 2 | All styles |
Center Dot cl_crosshairdot | Yes or No | No | Dynamic Cross, Dynamic Circle, Dynamic Cross (Classic), Static Circle, Static Cross, Dynamic Cross (Legacy/Shot Feedback), Dynamic Quad |
Length cl_crosshair_length | Whole number, 0 to 255 | 8 | Dynamic Cross, Dynamic Cross (Classic), Static Cross, Dynamic Cross (Legacy/Shot Feedback), Dynamic Quad |
Gap cl_crosshair_gap | Whole number, 0 to 128 | 4 | Dynamic Cross, Dynamic Cross (Classic), Static Circle, Static Cross, Dynamic Cross (Legacy/Shot Feedback), Dynamic Quad |
Dynamic Spread Limit cl_crosshair_dynamic_spread_limit | Whole number, 0 to 255 | 255 | Dynamic Cross, Dynamic Circle, Dynamic Quad |
Split Distance cl_crosshair_dynamic_splitdist | Whole number, 0 to 127 | 3 | Dynamic Cross (Classic) |
Inner Split Alpha cl_crosshair_dynamic_splitalpha_innermod | Decimal, 0 to 1 | 0 | Dynamic Cross (Classic) |
Outer Split Alpha cl_crosshair_dynamic_splitalpha_outermod | Decimal, 0.3 to 1 | 1 | Dynamic Cross (Classic) |
Split Size Ratio cl_crosshair_dynamic_maxdist_splitratio | Decimal, 0 to 1 | 1 | Dynamic Cross (Classic) |
T Style cl_crosshair_t | Yes or No | No | Dynamic Cross, Dynamic Cross (Classic), Static Cross, Dynamic Cross (Legacy/Shot Feedback), Dynamic Quad |
Follow Recoil cl_crosshair_recoil | Yes or No | Yes | All styles (in the Crosshair Settings section) |
Sources: Current-build console variable list (checked 22 September 2026); Crosshair / Scopes menu layout and per-style rows (checked 22 September 2026); Length is an integer 0–255 (reported by the site owner, 22 September 2026); Thickness is an integer 0–31 through the console (reported by the site owner, 22 September 2026); Gap is an integer 0–128 (reported by the site owner, 22 September 2026); Editor sample sizes (a decision made for this site, not a game fact)
What the status labels mean
Every setting in the editor, and every row in the side-by-side table of old and new settings, carries a short label. It tells you where the value came from and what happened to your old value.
- Carried over
- The old setting has a known new equivalent, so the tool copied it across. This covers a custom color, transparency, Outline, Center Dot and T Style on or off, Follow Recoil, and an old Classic Static style becoming Static Cross. It means the setting carried over, not that the crosshair will look identical.
- Suggested
- The tool proposes the closest match, but it has not been compared in game. Old Classic and Legacy styles are suggested this way, and so are old Classic split alpha and ratio values.
- Rounded
- The old value had more decimals than the new setting accepts. Old transparency is rounded to a whole number and old split values to two decimals.
- Limited to new range
- The old value was outside the range the old game itself allowed, so the old game showed the limited value, and the new setting uses the same limit. For the Classic split settings this only appears while the crosshair is treated as coming from pre-update CS2, the starting answer.
- Chosen by you
- You typed or picked this value, or selected "Use the game default". It stays marked as your choice and is never presented as a conversion.
- Editor sample
- The value came from "Start with sample sizes". It is a starting point you can adjust, not a conversion of your old size and not the game default.
- Needs your choice
- This setting needs a value before you get commands. Length, Thickness and Gap usually show this, and so does a color that came from an old color preset.
- Left unchanged
- Nothing was given for this optional setting. The commands leave it out, so the game keeps its current value. You can still choose one, or select "Use the game default".
The side-by-side table can also say "No new equivalent" for old settings the update removed, such as outline thickness and the weapon gap, or "Not used by" a style that has no such setting. Old values are always shown exactly as recovered and are never changed.
Step 4: apply it in CS2
Once every required value is chosen, the tool says Ready. Ready means every needed value has been chosen. It does not mean the result matches your old crosshair exactly.
- Save your current crosshair first with the game's Share or Import option, as described above.
- Turn on the developer console if it is off: Settings, Game, then set Enable Developer Console to Yes.
- Open the console with the ~ key, paste the command line and press Enter.
- Check the crosshair in game, not only in the menu preview, and adjust Length, Thickness and Gap until it looks right to you.
- Set anything the tool lists as not set by the commands in the Crosshair / Scopes menu.
Your output options
Copy CS2 commands or Copy supported commands
The main button copies one line of console commands for the selected style. Commands appear only when every required value is chosen, so the line is never missing a value it should set. The style command comes first. Settings the selected style does not show are kept in the editor but left out.
- Copy CS2 commands means every setting the style shows is included.
- Copy supported commands means some settings are not included, usually because you left them unchanged. A list headed "Not set by these commands" appears right beside the button. Those settings keep their current value in your game, so check them in the menu.
Every setting in the editor has a console command, so the list only names settings that are still left unchanged.
The longest line the game console accepts has not been verified. When the command line is longer than 120 characters, the tool also splits it into shorter lines, each with its own copy button. Paste them one at a time if the long line gets cut off.
Copy settings checklist
The checklist is plain text listing each game menu setting, the value to choose and whether it was carried over, rounded, chosen by you or left unchanged. It also lists old settings that could not come across. Use it when you prefer the menu to the console, or to double-check afterwards.
Download crosshair.cfg
This downloads a text file with the same commands, one per line, plus a few comment lines. Put it in the game/csgo/cfg folder inside your CS2 folder, then type exec crosshair in the console.
Copy website link
This copies a link back to this site with your chosen new settings stored after the # in the address. It is not a CS2 share code, and the game cannot import it. The link does not include your old code. Anyone who has the link can read the settings in it. See game share code or website link for the difference.
Save on this device
This is optional. It keeps your recovered values and choices in this browser only, not on a server, and not your raw code or pasted console text. Select Delete saved crosshair to remove it. If your browser does not allow saving, your work stays on the page until you leave.
If your browser blocks copying, the tool selects the text for you. Press Ctrl+C (⌘+C on a Mac) to copy it.
Undo, reset edits and start over
- Undo restores your previous change. It remembers up to 20 changes, and a slider drag counts as one.
- Reset edits returns every setting to how it was right after you recovered your old crosshair. Your import is kept.
- Start over clears your old crosshair and all new settings, so you can begin again.
Privacy
Reading your code, mapping settings and building the output all happen in your browser. The tool does not upload your code, the console text you paste or your crosshair values. If the site shows advertising or uses analytics, those services make their own requests; analytics, when it is turned on, only receives coarse events such as which new style number was chosen. The privacy page explains what is in use.
Using the tool with a keyboard
- A Skip to main content link appears when you first press Tab.
- In the three input tabs, use ← and → to move between Old code, Old settings and Console values, and Home or End to jump to the first or last tab. Press Tab to move into the selected tab's form.
- The style options are a radio group: use the arrow keys to move between styles.
- Every number has a text box. Sliders also respond to the arrow keys.
- Errors, copy results and status changes are announced to screen readers.
More help
- Frequently asked questions about decimals, negative gaps, color presets and more
- What the September update changed
- How the conversion works and what is not verified
- Changelog of site and game-build compatibility changes
- About this site, terms and contact
CS2 Crosshair Restore is an independent tool and is not affiliated with Valve. Always check the result in the game.