Free tool
CS2 Crosshair Generator
Build a crosshair, watch it change as you drag, then take it into Counter-Strike 2 as a share code or as console commands. Nothing is stored and nothing is sent anywhere — it all runs in your browser.
Preview drawn at roughly 2× so the outline and dot stay visible. On a 1920×1080 screen the crosshair is about half this size.
Take it into the game
Two ways, same crosshair
Share code
In game: Settings → Game → Crosshair, thenShare or Import at the top of the panel. Paste and confirm.
Console commands
Press ~ to open the console, paste, press Enter. No console? Turn it on in Settings → Game → Enable Developer Console.
What the numbers do
Each command, in plain terms
cl_crosshairstyle
The one setting that changes behaviour rather than looks. Styles 0, 2, 3 and 5 are dynamic: the four lines spread apart while you run, jump and shoot, in theory showing you how inaccurate you currently are. In practice you already know that running makes you inaccurate, and a crosshair that moves is harder to place precisely.
Style 4 — classic static — is what the professional field settled on. It never moves, so the gap you set is the gap you get, and your muscle memory has one shape to learn instead of five.
cl_crosshairsize and cl_crosshairthickness
Length and width of each of the four lines. Size is the setting people overthink: anything between 1 and 3 is normal, and the difference is mostly how much of a distant head you cover with your own crosshair. Thickness below 0.5 renders as a faint line that disappears on bright surfaces; above 2 it starts hiding the thing you are shooting at.
cl_crosshairgap
The empty space in the middle. Negative values pull the lines inward until they nearly touch, which is why most competitive crosshairs sit between −3 and 0. A wide gap makes the exact point of aim ambiguous, and that ambiguity costs you the tap shots at range where precision actually decides the duel.
cl_crosshair_drawoutline
A one-pixel black border around every line. It costs nothing and it is the difference between seeing your crosshair against Mirage's pale sandstone and losing it. If you have ever flicked to a bright wall and briefly not known where you were aiming, this is the fix. Switch the preview between the three backdrops above with the outline off to see how much it matters.
cl_crosshaircolor
Values 0–4 are the built-in colours; value 5 unlocks the three RGB commands for anything else. Contrast is the only thing that matters here, and it is map-dependent: green vanishes in Nuke's outside foliage, red vanishes on Inferno's brickwork, and cyan and pink survive nearly everywhere because CS2 maps contain very little of either.
cl_crosshairdot and cl_crosshair_t
A dot marks the centre that a large gap hides — useful with a wide crosshair, redundant with a tight one. T-style removes the top line so nothing sits between you and a head at the top of your screen; it takes a few hours to stop feeling wrong, and some players never go back.
Share codes
Code or commands?
They carry the same crosshair. The share code is one line, survives being pasted into a Discord message, and imports through the game's own settings panel — no console required. It is the better choice for sending a crosshair to someone else.
The console commands are readable. You can see exactly which cvar has which value, change one of them without regenerating anything, and keep them in an autoexec. If you are tuning rather than sharing, use these.
One thing the share code does not carry is thecl_crosshaircolor index — it stores the red, green and blue values directly. Importing a code therefore leaves you on custom colour, which looks identical and behaves identically.
Where to start
If you just want a crosshair that works
Load Classic static above and play a session without touching it. That preset is style 4, size 2, thickness 1, gap −2, outline on, cyan — the shape most competitive players converge on after trying everything else.
Change one thing at a time after that, and give each change a full session. Crosshair settings feel wrong for about twenty minutes purely because they are unfamiliar, which is long enough to fool you into changing them again. The people who switch crosshair every week are not finding a better one; they are resetting their own muscle memory over and over.
Next
Related
Sensitivity converter
Move a sensitivity between CS2, Valorant, Apex and Overwatch 2 without losing your muscle memory.
Sensitivity & eDPI guide
How to find a sensitivity that suits your grip instead of copying someone else's.
4:3 stretched, explained
Why nearly every professional plays on 1280×960, and what it actually changes.
Pro CS2 settings
Verified sensitivity, DPI and resolution for m0NESY, ZywOo, NiKo and s1mple.
FAQ
Common questions
How do I import a crosshair share code in CS2?
In game, open Settings, then Game, then Crosshair, and click Share or Import at the top of the panel. Paste the CSGO- code and confirm. The crosshair applies immediately. You can also paste the console commands instead — both produce the same result.
How do I apply a crosshair using console commands?
Enable the developer console in Settings, Game, Enable Developer Console, press the tilde key in game, paste the whole block of commands and press Enter. The crosshair changes immediately and is saved to your config automatically.
What is the best crosshair style in CS2?
cl_crosshairstyle 4 (classic static) is used by almost every professional player. It never moves or expands, so what you see is always where your shots go once you have stopped moving. Styles 0, 2, 3 and 5 expand while you run and jump, which is visual noise rather than information.
Does crosshair colour affect aim?
Only through contrast. Cyan and pink stay visible on almost every CS2 map because neither colour appears often in the environment. Green is the traditional choice but disappears on Nuke outside and in foliage; red disappears on Inferno.
Should I use a dot in the middle of my crosshair?
A centre dot (cl_crosshairdot 1) helps if you play with a large gap, because it marks the exact point of aim that the gap hides. With a small or negative gap the dot adds clutter without adding information.
Is a smaller crosshair better in CS2?
A smaller crosshair covers less of the target, which matters most at long range where a head is only a few pixels wide. The limit is being able to find it quickly — if you lose your crosshair against a bright wall, it is too small or the outline is off.