Crosshair update FAQ
Short answers about old crosshair codes and the CS2 crosshair update of 22 September 2026. For a full walkthrough, read how to use the tool. To start restoring, go to the crosshair tool.
Old codes and the update
Why does the game say "Invalid or old crosshair code"?
The update changed how crosshairs work. Valve's patch notes say crosshairs are now resolution independent, and the update added a Crosshair / Scopes settings tab, new crosshair styles, and Dynamic Quad as the default crosshair.
When an old code was pasted into the updated game's Share or Import dialog, the game refused it with the message "Invalid or old crosshair code". Public game files suggest that codes made by the updated game use a different format marker from old codes. The new layout itself has not been documented, so treat that as unconfirmed.
The message tells you the game will not import the code. It does not tell you the code is damaged, and its settings can still be read.
Sources: Valve patch notes, 22 September 2026 (checked 22 September 2026); Old example code rejected by the game (reported by the site owner, 22 September 2026); New-format game codes appear to use format byte 3 (not verified)
Is my old code broken?
Probably not. Old codes contain a checksum. The tool checks it, tells you if a code looks miscopied, and otherwise shows every setting stored in the code.
For example, the updated game refused CSGO-FNOLG-fQcPX-V8P7K-VqtAf-ZbJaA, yet it reads as a complete old crosshair: style 4 (Classic Static), length 1.5, thickness 0 and gap −3. It also re-encodes to exactly the same code with the public reference implementation.
That shows the old code can be read. It does not mean the updated game will accept it, and it does not prove a rebuilt crosshair will look identical.
Sources: Fixture A (owner-reported rejected code) (checked while building this site); Pinned legacy codec (checked 22 September 2026); Old example code rejected by the game (reported by the site owner, 22 September 2026)
Can I get a new-format CS2 code from this site?
No. The format of codes made by the updated game has not been documented, and no new-format codes were collected to study it. So this site does not create game codes, and it never passes an old code off as a new one.
Use the console commands, the crosshair.cfg file or the settings checklist instead. Once the crosshair looks right in game, you can save it with the game's own Share or Import option.
Sources: No new-format codes collected (reported by the site owner, 22 September 2026); New-format game codes appear to use format byte 3 (not verified)
New sizes
Are my sizes converted automatically?
Length, Thickness and Gap moved to a new scale. The game's own menu notes that the scale of Color, Thickness, Length and Gap has changed, and Valve's patch notes give no formula for converting old values.
This site measured the relation from lossless screenshots of the same crosshairs in the old and the new game at 1920×1080 and 1280×960 (4:3). The old game drew Length and Thickness at 2.25 pixels per unit at 1920×1080 and 2 (the captures allow about 1.9643 to 2.0313) at 1280×960 (4:3) and left a gap of 4 + your gap setting in pixels (not scaled), while the new game draws Length and Thickness in pixels and counts Gap from the centre. The tool picks the new whole numbers that draw the same pixels; for each setup, 13 test crosshairs held back from the measurement matched exactly. It fills sizes in only for Classic Static crosshairs from CS2 before the update, played at 1920×1080 or 1280×960 (4:3), and only for old values in the measured range (size 0.5 to 7, thickness 0.3 to 3 and gap -5 to 3). Everywhere else you choose, and the measured values are shown as a guide.
To get started quickly, Start with sample sizes fills Length 8, Thickness 3 and Gap 1. That is an editor sample, not a conversion and not the game default. The game's own defaults in the current-build console list are Length 8, Thickness 2 and Gap 4. The conversion method page explains the rules in full.
Sources: Valve patch notes, 22 September 2026 (checked 22 September 2026); Menu labels (checked 22 September 2026); Measured old crosshair geometry at 1920x1080 (checked while building this site); Measured new crosshair geometry at 1920x1080 (checked while building this site); Old-to-new size rule checked pixel for pixel at 1920x1080 (checked while building this site); Measured old crosshair geometry at 1280x960 (checked while building this site); New crosshair geometry is the same at 1280x960 (checked while building this site); Old-to-new size rule checked pixel for pixel at 1280x960 (checked while building this site); Editor sample sizes (a decision made for this site, not a game fact); Current-build console variable list (checked 22 September 2026)
What happened to decimals like 1.5?
Old codes and settings could hold decimals, such as a length of 1.5. The new Length (0 to 255), Thickness (0 to 31) and Gap (0 to 128) take whole numbers only. In the game console, 7.5 for Length, 0.5 for Thickness and 2.5 for Gap were all rejected.
The tool shows your old decimal exactly as recovered, marked in old units, but does not round it into a new value. Because the scale changed, rounding 1.5 to 2 would not give you the same size anyway. If you type a decimal into one of these settings, the tool shows an error instead of quietly rounding it.
Sources: 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)
What about negative gaps?
The old gap could be negative. Before the update the CS2 menu allowed −5 to 5. The new Gap runs from 0 to 128, and negative values are not accepted: in the console, −5 and −50 were both stored as 0.
That does not make old negative gaps impossible. Measured at 1920×1080 and 1280×960 (4:3), the old game left 4 + your gap setting in pixels between each bar and the crossing bar, while the new Gap counts from the centre of the crosshair. An old gap of −2 with thin bars therefore becomes a small positive new Gap that draws the same space. Only an old gap of −5, where the old bars overlapped the crossing bar, has no exact equivalent: the new game never overlaps them, so the closest new value makes the bars touch. Gaps between −5 and −4 were not captured and are treated the same way; gaps below −5 were not measured and are left for you to choose. The tool never turns a negative gap into 0 by itself.
Sources: Gap is an integer 0–128 (reported by the site owner, 22 September 2026); Current-build console variable list (checked 22 September 2026); Pre-update crosshair commands and menu (checked 22 September 2026); Measured old crosshair geometry at 1920x1080 (checked while building this site); Measured new crosshair geometry at 1920x1080 (checked while building this site); Measured old crosshair geometry at 1280x960 (checked while building this site); New crosshair geometry is the same at 1280x960 (checked while building this site)
Does Thickness 0 make the crosshair invisible?
It did in our test. The new Thickness accepts 0, and the console help mentions a minimum of 1 pixel, but lossless screenshots at 1920×1080 and 1280×960 with Static Cross, Length 16 and Gap 4 showed no crosshair at all at Thickness 0. Use 1 or more; the editor warns you, and the preview draws no bars at 0.
Old codes can also hold thickness 0, even though the old CS2 menu slider started at 0.1. Because the scale changed, an old 0 is not copied across as a new 0. Choose the thickness you want and check it in game.
Sources: Thickness is an integer 0–31 through the console (reported by the site owner, 22 September 2026); Pre-update crosshair commands and menu (checked 22 September 2026); Measured new crosshair geometry at 1920x1080 (checked while building this site); New crosshair geometry is the same at 1280x960 (checked while building this site)
Why was 32 the Thickness maximum for some players?
In the first build of the update (2000913), the Thickness slider in the menu went up to 32. The hotfix build 2000914 changed the slider maximum to 31. The console maximum was 31 in both builds, and in the site owner's console check a value of 999 was stored as 31.
This tool uses 31 as the maximum, so every Thickness it outputs is one the console accepts.
Sources: Thickness slider changed from 32 to 31 (checked 22 September 2026); Thickness menu slider reached 32 (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)
Colors and removed settings
Why must I pick a color when my old crosshair used a preset?
The old game let you pick a color preset or a custom color. The new Color and Transparency control is a free color picker with no presets. The exact shades the old game drew for its presets are not in any public game file, so the tool cannot copy them across. Any red, green and blue numbers stored alongside a preset were not what the game displayed.
| Old color mode | Name | Name comes from | What the tool does |
|---|---|---|---|
| 0 | Red | Community sources only | Asks you to choose the color |
| 1 | Green | Old game files | Asks you to choose the color |
| 2 | Yellow | Old game files | Asks you to choose the color |
| 3 | Blue | Old game files | Asks you to choose the color |
| 4 | Light blue | Old game files | Asks you to choose the color |
| 5 | Custom | Old game files | Carries your red, green and blue values over |
If your old crosshair used a preset, pick the color you remember in the tool. The new picker uses red, green and blue from 0 to 255, so a custom color carries over as the same numbers.
Sources: Old color preset shades (not verified); New color picker has no presets (checked 22 September 2026); Current-build console variable list (checked 22 September 2026)
Where did outline thickness, fixed gap and weapon gap go?
They were removed in build 2000913. The commands cl_crosshair_outlinethickness, cl_fixedcrosshairgap and cl_crosshairgap_useweaponvalue no longer exist, and the separate transparency on/off switch (cl_crosshairusealpha) went too.
- Outline thickness: the new Outline setting is only Yes or No, and the new menu has no outline thickness setting.
- Weapon gap: with this setting on, your old gap may have changed with each weapon, so a single old gap number may not describe how your crosshair looked.
- Fixed gap: there is no new equivalent.
- Transparency on/off: the new alpha value alone sets opacity. If transparency was off, the tool suggests alpha 255 (opaque); check it in game.
The tool still shows these old values in the side-by-side table so you know what was lost, but it never moves them into unrelated new settings.
Sources: Old crosshair commands removed or hidden (checked 22 September 2026); Crosshair / Scopes menu layout and per-style rows (checked 22 September 2026)
Why can Outer Split Alpha not go below 0.3?
Outer Split Alpha is a Dynamic Cross (Classic) setting for how see-through the outer bars are after they split. Its range is 0.3 to 1. When 0 was entered in the console, the game stored 0.3, so the outer bars cannot be hidden completely. CS2 before the update had the same 0.3 to 1 limit.
If your old value is below 0.3 and your crosshair is from pre-update CS2 (the starting answer), the old game already showed 0.3, so the tool uses that and labels it "Limited to new range". If you choose CS:GO or Not sure, it asks you to choose a value from 0.3 to 1.
Sources: Outer split alpha stored 0.3 after setting 0 (reported by the site owner, 22 September 2026); Current-build console variable list (checked 22 September 2026); Menu slider ranges (checked 22 September 2026); Pre-update crosshair commands and menu (checked 22 September 2026)
New styles and settings
What is Dynamic Spread Limit?
Dynamic Spread Limit is a new setting on Dynamic Cross, Dynamic Circle and Dynamic Quad. It controls how far the dynamic parts of the crosshair may spread beyond the game's baseline. It takes a whole number from 0 to 255, and the game default is 255.
The old game had no equivalent, so nothing carries over. The tool leaves it unchanged unless you choose a value. Exactly how it changes the shape has not been documented.
Sources: Current-build console variable list (checked 22 September 2026); Menu slider ranges (checked 22 September 2026); Crosshair / Scopes menu layout and per-style rows (checked 22 September 2026)
What is Dynamic Quad, and why is there no preview?
Dynamic Quad is style 7, one of the styles added in the update. It is the new default crosshair. Its settings are Color and Transparency, Outline, Thickness, Center Dot, Length, Gap, Dynamic Spread Limit and T Style.
No public evidence documents what its shape looks like in game, so the preview does not draw a guess. It shows your settings only. You can still choose every value and copy the commands.
Sources: Valve patch notes, 22 September 2026 (checked 22 September 2026); Eight target style IDs (reported by the site owner, 22 September 2026); Crosshair / Scopes menu layout and per-style rows (checked 22 September 2026)
Preview, output and privacy
Is the preview accurate?
No. It is a schematic, labelled "Schematic preview — check the result in CS2". It helps you see what your settings do relative to each other, not exactly how the game draws them.
- The zoom level sets how many screen pixels one setting unit uses. That is not how many pixels the game uses.
- The game adds its own base distance to Gap. In the preview, bars start exactly at Gap.
- Dynamic Cross, Dynamic Circle, Dynamic Cross (Classic) and Dynamic Cross (Legacy/Shot Feedback) are drawn in an idle, illustrative state. Movement and firing are not simulated.
- Dynamic Quad shows settings only, because its shape has not been documented.
You can switch between dark, mid-tone and light backgrounds to judge contrast. Always check the final result in game.
What is the difference between a game share code and a website link?
A game share code is the code the game's Share or Import option reads and writes. Old ones start with CSGO-. The updated game can refuse old codes, and this site cannot make new ones.
A website link from Copy website link is a link back to this site, with your chosen new settings stored after the # in the address. The game cannot import it, and it does not include your old code. Anyone who has the link can read the settings in it, so do not treat it as private.
Does copying the commands prove it matches my old crosshair?
No. The commands set the values you chose. When the tool says Ready, every needed value has been chosen. It does not mean the result matches your old crosshair, because the sizes were chosen by you, not converted.
The commands themselves come from a fixed list. Style, Thickness, Length and Gap were checked directly in the game console. Color, Transparency (alpha), Outline, Center Dot, Dynamic Spread Limit, Split Distance, Inner Split Alpha, Outer Split Alpha, Split Size Ratio, T Style and Follow Recoil appear with their ranges in the current-build console variable list and are the commands the menu uses, but the full set has not yet been read back in game. Check the result in game after applying it.
Sources: Eight target style IDs (reported by the site owner, 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); Current-build console variable list (checked 22 September 2026); Crosshair / Scopes menu layout and per-style rows (checked 22 September 2026)
Is my code uploaded anywhere?
No. Reading your code, mapping settings and building the output all happen in your browser. The tool does not send your code, pasted console text or crosshair values to a server. Save on this device is optional and keeps your recovered values and choices in this browser only.
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.
Still stuck?
Read what the update changed, the conversion method, or the changelog for recent changes. To learn who runs the site, see about and contact. Use of the site is covered by the terms.