What each CS2 crosshair setting does
Four settings change how you aim, and the rest are preference. Size, gap, thickness and outline decide how much of the target your crosshair covers and whether you can still see it when the screen gets busy. Colour, the centre dot and the T shape change how it feels rather than how well it works.
The useful way to think about it is trade-offs. A bigger, thicker crosshair is easier to track but hides more of a head at range. A tighter gap makes the centre easier to place but harder to spot in a fight. An outline costs nothing and is the one change that reliably helps, which is why it is the first thing to turn on when a crosshair keeps disappearing.
Almost none of this changed when CS:GO became CS2. The variable names, the ranges and the behaviour carried over, so a crosshair line from a years-old config will usually still work, and a CS:GO crosshair generator and a CS2 one are producing the same commands.
| Setting | Console variable | What changing it does |
|---|---|---|
| Style | cl_crosshairstyle | Static or dynamic. Style 4 is the classic static crosshair, and the dynamic styles expand as you move and shoot. |
| Size | cl_crosshairsize | Length of each line. Longer lines are easier to find on a busy screen and cover more of what you are aiming at. |
| Thickness | cl_crosshairthickness | Width of each line. Thicker reads better against noise, thinner is more precise at range. |
| Gap | cl_crosshairgap | Space at the centre. A negative value pulls the lines in, which is why most competitive setups run below zero. |
| Centre dot | cl_crosshairdot | Adds a pixel at the exact aim point. Helps with pre-aim, adds clutter at close range. |
| Outline | cl_crosshair_drawoutline | Draws a dark border around the lines. This is the single biggest visibility change you can make. |
| Outline thickness | cl_crosshair_outlinethickness | How heavy that border is. Around 1 is enough on most colours. |
| T shape | cl_crosshair_t | Removes the top line so nothing sits above the aim point. |
| Recoil follow | cl_crosshair_recoil | Moves the crosshair with your spray pattern rather than holding still. |
| Colour | cl_crosshaircolor_r / _g / _b | Custom colour, used when cl_crosshaircolor is set to 5. Pick against the maps you play, not a menu. |
| Alpha | cl_crosshairalpha | Opacity from 0 to 255, active when cl_crosshairusealpha is 1. Lower values cost visibility. |
| Sniper width | cl_crosshair_sniper_width | Thickness of the scoped AWP and SSG crosshair lines only. |
If you would rather not start from a blank builder, our CS2 pro crosshair codes page lists what professionals actually run, and the CS2 binds generator writes its output in the same shape, so both sit in one autoexec file.
How to tell if your crosshair is actually visible
A crosshair that looks sharp on a dark menu can vanish against Mirage's sand or inside a smoke, and you will not find that out until you lose the duel. That is what the visibility score above is for.
What it measures. Your crosshair is compared against six reference surfaces: dark, bright, and tones standing in for Dust, Mirage, Inferno and smoke. Each surface takes the stronger of two contrast readings, the crosshair body against that surface and its outline against it, adjusted up for a heavier body or thicker outline and down for busy surfaces and lowered alpha. The number you see is the average of all six, from 0 to 100, so a crosshair has to read everywhere to score well.
What to do about a low score. Turn the outline on first, because a dark border works on every surface at once and no colour does. Then put alpha back to full, since anything below roughly 200 costs visibility for very little in return. Colour is worth touching last, and the rule there is to pick against the maps you play rather than the one you are looking at.
Why 4:3 stretched changes your crosshair
A stretched resolution widens everything horizontally, the crosshair included, so a setup tuned at 1920x1080 does not look the same at 1280x960 stretched to a 16:9 panel. The lines get visibly wider while keeping their height, which makes the same numbers read as thicker and the gap read as larger.
The practical fix is small. If you play stretched, tune the crosshair at your own resolution rather than copying numbers from someone on native, and expect to pull size and thickness down slightly from what a 16:9 player would use. Black bars behave like native, so only the stretched profiles need this.
The resolution preview above switches between native 16:9, 16:10 and the common 4:3 profiles without changing a single command, so you can check both before deciding. If you are still setting up a stretched resolution in the first place, our CS2 launch options guide covers the part that happens outside the game.
How to use the commands
Three steps, whether you want the crosshair for one session or every one after it.
Open the developer console
Turn the developer console on in CS2's Game settings, then press the tilde key to open it. Without it enabled, the key does nothing.
Paste the console line
Copy the console line from the builder, paste it into the console, and press Enter. The crosshair changes immediately, so you can check it in a lobby before committing.
Save it in an autoexec file
Switch the output to Autoexec, download the .cfg, and put it in your CS2 cfg folder as autoexec.cfg so the crosshair loads with the game rather than being pasted each session.
FAQ
CS2 Crosshair Generator Questions
What is a CS2 crosshair generator?
A CS2 crosshair generator lets you change Counter-Strike 2 crosshair settings visually and copy the matching console commands.
How do I use a generated CS2 crosshair?
Copy the generated commands, open the CS2 developer console, paste the commands, and press Enter. You can also place the commands in an autoexec file.
Can I import my current CS2 crosshair?
Yes, as long as it is in command form. Paste your existing cl_crosshair console commands into the import box and the supported settings update in the builder. The importer reads console commands only, so a CSGO-XXXXX share code will not work here.
Can I preview 4:3 stretched CS2 crosshairs?
Yes. The resolution preview lets you check the same crosshair at native 16:9, 16:10, and common 4:3 stretched profiles like 1280x960 and 1024x768.
How does the visibility score work?
The visibility score measures the contrast between your crosshair and six reference surfaces: dark, bright, and tones sampled to stand in for Dust, Mirage, Inferno and smoke. Each surface gets a score from the stronger of two readings, the contrast of the crosshair body against that surface and the contrast of its outline, then that score is adjusted up for a heavier body or a thicker outline, and down for busy surfaces and for lowered alpha. The number shown is the average of the six, from 0 to 100, so a crosshair that reads well everywhere scores higher than one that only reads on a menu background.
Does this tool generate official CS2 share codes?
No. The generator outputs console commands, which you paste into the console or save in an autoexec file. Pro share codes in the CSGO-XXXXX format live on our CS2 pro crosshair codes page instead.
What are the best CS2 crosshair settings?
There is no single best setup, but most players start with a small static crosshair, high contrast against map tones, a visible gap, and little or no dot. Our CS2 pro crosshair codes page shows what professionals actually run if you would rather start from a setup that works.
Or start from a pro's crosshair
A blank builder is not the only way in. Copy a setup that already works, then bring it back here and tune it.