A CS2 crosshair code is a string that starts with CSGO- and packs every crosshair setting into five blocks of five characters. To use one, open Settings → Game (Gameplay) → Crosshair, click Import next to the preview and paste the code; Share in the same place produces your own. The old console command apply_crosshair_code does not exist in CS2, so codes only go through the menu. Below are the verified codes posted by their authors on Reddit, the exact values of six top players from ProSettings (September 2026), and the console commands to recreate any crosshair by hand.
How codes and the Import button work
The share code is the same format CS:GO introduced: CSGO-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx. Inside it are style, length, thickness, gap, outline, colour, alpha, dot and the dynamic-split values. Because it is a fixed-length encoding, some combinations you can set through console cannot be expressed in a code; u/aveyo notes that "sharing crosshairs as in-game code is very limited" and that manual cvars allow more.
Importing, as u/Ludibudi describes it in the June 2025 thread: "Settings - Gameplay - Crosshair. There should be an 'Import crosshair' button close to the preview window." The preview changes the moment the code is accepted, and you can tweak the sliders afterwards.
What no longer works: typing apply_crosshair_code CSGO-... in console. The author of the CS2 Crosshair Decoder tool writes that they "discovered apply_crosshair_code doesn't work in CS2 like it did in CS:GO" and had to copy values manually; a December 2025 thread asks Valve to bring the command back. Until then the menu is the only importer.
Verified share codes from Reddit
These codes were posted by their authors with a description, so they are safe to quote.
| Code | What it is | Posted by |
|---|---|---|
CSGO-is6dR-RScBH-2fj4w-KP8b2-ke5BO |
Dynamic crosshair that changes shape with movement speed and recoil: solid circle when fully accurate, small square, small cross, faint circle when inaccurate, big square when jumping with a knife. Built for learning counter-strafing. | thread OP, r/GlobalOffensive, June 2025 (779 upvotes) |
CSGO-s8aL3-x7Lfd-k2kBQ-Rq9nG-YUOUD |
"Tiny white for 1-tap fast reaction" | u/aveyo, same thread |
CSGO-CS7Pz-kaWrS-ReYkM-o5seY-CGVGQ |
"Tiny green and t-style variation" | u/aveyo |
CSGO-VS2fn-kcWjK-EpAkR-DEijN-EvhWA |
"Bigger green box all-arounder" | u/aveyo |
The top-voted reply to the dynamic crosshair (u/SCFighter, 84 upvotes) is the honest caveat: on darker maps than Dust 2 the thin dark lines become hard to see. u/aveyo adds that for that specific design you cannot change the colour, because what you see is the low-alpha outline. Try any code in a deathmatch on two different maps before you keep it.
Pro crosshair values (ProSettings, September 2026)
ProSettings lists the individual values for each player rather than a share code, so here are the values as of the dates shown, and the commands to reproduce them are in the next section.
| Player | Style | Length | Thickness | Gap | Outline | Dot | Colour (RGB) | Alpha |
|---|---|---|---|---|---|---|---|---|
| donk | Classic Static | 1 | 1 | -4 | no | no | 0, 255, 0 | — |
| m0NESY (Falcons) | Classic Static | 1 | 1 | -4 | no | no | 0, 255, 0 | 255 |
| s1mple (BC.Game) | Classic Static | 1 | 1 | -4 | no | no | 0, 255, 0 | 200 |
| NiKo (Falcons) | Classic Static | 0 | 2 | -4 | no | yes | 0, 255, 145 | — |
| ZywOo (Vitality) | Classic Static | 2 | 0 | -3 | no | no | green | 255 |
| ropz (Vitality) | Classic Static | 2 | 0.5 | -3 | no | no | 0, 255, 0 | 255 |
Notes on the data. ProSettings labels s1mple's colour "cyan" while giving RGB 0,255,0, which is green in the game; the RGB is what you type. ropz additionally lists split distance 3 and fixed gap -2 for the dynamic component; the others run static only. NiKo's crosshair is unusual: length 0 with a dot and thickness 2 makes a dot-with-stubs rather than a cross. Update dates: donk 3 September, s1mple and ZywOo 4 September, m0NESY 5 September 2026.
The pattern is obvious. Five of six run a small green static cross with a negative gap and no outline. The only real variable is length 1 versus 2 and thickness between 0 and 1. None of them use the default dynamic crosshair in matches.
Console commands behind every code
These are the cvars a code encodes, and what the pros' values map to. Type them in console or put them in autoexec.cfg in the game's cfg folder (CS2 loads it automatically).
| Command | Meaning | donk value |
|---|---|---|
cl_crosshairstyle |
4 = Classic Static in community configs (the style all six pros use) | 4 |
cl_crosshairsize |
line length | 1 |
cl_crosshairthickness |
line thickness | 1 |
cl_crosshairgap |
gap from centre; negative pulls lines together | -4 |
cl_crosshair_drawoutline |
0/1 black outline | 0 |
cl_crosshair_outlinethickness |
outline thickness if enabled | — |
cl_crosshairdot |
0/1 centre dot | 0 |
cl_crosshair_t |
0/1 T-shape (no top line) | 0 |
cl_crosshaircolor |
5 = custom RGB | 5 |
cl_crosshaircolor_r / _g / _b |
custom colour | 0 / 255 / 0 |
cl_crosshairalpha |
0–255 opacity | 255 |
cl_crosshairusealpha |
0/1 honour the alpha value | 1 |
cl_crosshair_recoil |
0/1 crosshair follows recoil | 0 |
cl_crosshairgap_useweaponvalue |
0/1 gap changes per weapon | 0 |
cl_crosshair_sniper_width |
width of the scoped line | — |
donk's crosshair as one paste:
cl_crosshairstyle 4; cl_crosshairsize 1; cl_crosshairthickness 1; cl_crosshairgap -4; cl_crosshair_drawoutline 0; cl_crosshairdot 0; cl_crosshair_t 0; cl_crosshaircolor 5; cl_crosshaircolor_r 0; cl_crosshaircolor_g 255; cl_crosshaircolor_b 0; cl_crosshairalpha 255; cl_crosshairusealpha 1; cl_crosshair_recoil 0
For NiKo change cl_crosshairsize 0; cl_crosshairthickness 2; cl_crosshairdot 1; cl_crosshaircolor_b 145. For ZywOo cl_crosshairsize 2; cl_crosshairthickness 0; cl_crosshairgap -3. For ropz the same with cl_crosshairthickness 0.5. Then open Settings → Game → Crosshair and click Share to get your own code for the clipboard.
Cycling crosshairs with one key
The December 2025 thread has a working pattern from u/RainbowRocket2: bind a key to an alias, and let each alias set the full crosshair and re-point the alias to the next one.
bind "8" "ch"
alias "ch" "ch1"
alias "ch1" "crosshair_1; alias ch ch2"
alias "ch2" "crosshair_2; alias ch ch1"
alias "crosshair_1" "cl_crosshaircolor 5; cl_crosshaircolor_r 0; cl_crosshaircolor_g 255; cl_crosshaircolor_b 0; cl_crosshairsize 1; cl_crosshairthickness 1; cl_crosshairgap -4; cl_crosshairstyle 4"
alias "crosshair_2" "cl_crosshaircolor 5; cl_crosshaircolor_r 255; cl_crosshaircolor_g 255; cl_crosshaircolor_b 255; cl_crosshairsize 2; cl_crosshairthickness 0.5; cl_crosshairgap -3; cl_crosshairstyle 4"
u/lokiwein's variant uses exec ch_static.cfg per alias so each crosshair lives in its own file, which is tidier if you have many. One caveat from the same thread: console lines have a length limit, so very long aliases should go into separate cfg files rather than one line.
Reading the default dynamic crosshair
Before you replace it, it is worth knowing what the default shows, because it is the one crosshair that teaches. The r/GlobalOffensive FAQ breaks it down: the dot is the centre, the inner expanding box is your current accuracy, and the outer expanding marks are the outer bounds of the recoil pattern. Stand still, crouch, and watch: the inner box stays the same while the outer marks tighten, because first-shot accuracy is the same standing or crouching but the follow-up spray is tighter crouched. Once you have internalised that, a static crosshair stops hiding information you still needed.
Picking your own
- Start from a pro value set close to your role; a rifler's small cross (donk) or an AWPer's slightly longer lines (ZywOo). If you are not sure what your role is, the which CS2 role fits you quiz is a fast sanity check.
- Colour: green or cyan first. u/1q3er5's point in the June 2025 thread stands: without a thin outline you can lose a crosshair against sky and light walls, so if you drop the outline, keep alpha at 255.
- Test it on two maps with different lighting, ideally not the same one every day; the random CS2 map picker helps.
- Do not retune every week. A crosshair is a reference point for muscle memory; changing it resets that. Measure your progress with something that does not move, such as the aim trainer or a reaction time test, rather than by how the cross looks.
FAQ
How do I import a crosshair code in CS2?
Settings → Game → Crosshair. Next to the crosshair preview there are Share and Import buttons. Click Import, paste the CSGO-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx code, confirm. The preview updates immediately.
Does apply_crosshair_code work in CS2?
No. The console command that applied a share code in CS:GO is not present in CS2; players have asked Valve to bring it back. Use the Import button in the settings menu, or set the cl_crosshair commands one by one in console or autoexec.
Where do I get the official share code of a pro player?
Only from the player: their stream commands, social posts or team pages. Sites like ProSettings publish the individual values (style, size, gap, colour), not always a share code. This guide gives the values and the console commands to reproduce them, and only quotes codes posted publicly on Reddit by their authors.
Why do most pros use a small green static crosshair?
Because it stays readable on every map and never hides the head. donk, m0NESY and s1mple all run Classic Static, length 1, thickness 1, gap -4, no outline; ZywOo and ropz run length 2 with thickness 0 to 0.5. The differences are tiny; the common ground is small, static, green, no dot.
Can I switch between crosshairs with a key?
Yes, through aliases in autoexec.cfg. Each alias sets the full list of cl_crosshair commands and the last alias points back to the first, so one key cycles through them. A Reddit user shared a seven-crosshair example in the December 2025 thread.
Sources
- ProSettings: CS2 pro player settings list (Sep 2026)
- ProSettings: donk crosshair and video settings (updated 3 Sep 2026)
- ProSettings: s1mple settings (updated 4 Sep 2026)
- ProSettings: NiKo settings (updated 4 Sep 2026)
- r/GlobalOffensive: dynamic recoil-indicator crosshair with share code (Jun 2025)
- r/GlobalOffensive: bring back apply_crosshair_code (Dec 2025)
- r/GlobalOffensive: CS2 crosshair decoder tool (Oct 2025)
- r/GlobalOffensive wiki FAQ: what the default crosshair shows
- r/GlobalOffensive wiki: Advanced Configuration (crosshair.cfg and autoexec)