CS2 Crosshair Settings: Every Command That Actually Matters
Your crosshair is the only part of your config you look at for every second of every round, and most players have never touched it beyond picking a color. Here is every CS2 crosshair command that matters and how to assemble one that supports your crosshair placement instead of hiding it.

There is exactly one thing on your screen that you look at during every second of every round, and for most players it is still whatever Valve handed them on install day with the color nudged to cyan. The crosshair is not decoration. It is the reference point your entire aim is built around, and a bad one actively hides information from you — where your bullets are going, whether you are pre-aimed at head level, whether that dark doorway on Mirage has a body in it.
The good news is that CS2's crosshair system comes down to a short list of console commands, all of them exposed in the settings menu, and you can build a correct one in five minutes. Here is what each command does and how to assemble the thing.
Updated 26 October 2026: Valve rebuilt the crosshair system in its September 22, 2026 update. Crosshairs became resolution independent, the settings moved to a new Crosshair / Scopes tab, and the default style changed to Dynamic Quad. Follow-up patches on September 23 and September 30 added two more styles, a half outline, an outline color and a new share-code format. Five commands that older guides teach — including the first version of this one — are gone from the game's convar list:
cl_crosshairgap,cl_crosshaircolor,cl_crosshairusealpha,cl_crosshair_outlinethicknessandcl_crosshairgap_useweaponvalue. Every command below is checked against that convar list as of the October 22, 2026 build.
Static or nothing
Start with the argument, because it decides everything else. cl_crosshairstyle takes values 0 through 9. The middle column is what the Crosshair / Scopes menu shows; the console's own help text words a few of them differently.
| Value | Menu name | Console help text |
|---|---|---|
| 0 | Dynamic Cross | Dynamic Cross |
| 1 | Dynamic Circle | Dynamic Circle |
| 2 | Dynamic Cross (Classic) | Dynamic Cross (Legacy) |
| 3 | Static Circle | Static Circle |
| 4 | Static Cross | Static Cross |
| 5 | Dynamic Cross (Legacy/Shot Feedback) | Static Cross (Shot Feedback) |
| 6 | Dot Only | Dot Only |
| 7 | Dynamic Quadrant | Dynamic Quad |
| 8 | Static Square | Static Square |
| 9 | Static Quadrant | Static Quad |
The default has been 7 since the September 22, 2026 update, which Valve says "better represents weapon accuracy." Style 8 arrived on September 23 and style 9 on September 30. Style 4, Static Cross, is the one this guide builds around.
The pitch for a dynamic crosshair sounds reasonable, and since the overhaul it is more honest: Valve's September 23 notes say the new dynamic styles show the weapon's real spread and inaccuracy. In practice it still does the opposite of what you want. A crosshair that grows and shrinks four times a second is a moving target for your own eyes, and it trains you to read the crosshair instead of reading the map. Worse, the expansion tells you what you already know — you are moving, therefore you are inaccurate. That information was free.
A static crosshair keeps your aiming reference in exactly the same pixels no matter what your feet are doing. That is what makes crosshair placement trainable in the first place: the whole skill is holding a fixed point at head height as you clear angles, and you cannot build muscle memory around a shape that changes size.
Style 4 also has a practical advantage nobody mentions. Because it never expands, you can run it small enough to see through, which matters enormously at the long ranges CS2 is actually decided at.

Every crosshair command that matters
All of these live on the Crosshair / Scopes tab of the Settings menu, which Valve added on September 22, 2026, but the console is faster and lets you paste a whole config at once. Bind the console to a key you can hit mid-warmup and iterate on an aim map rather than in a live match.
Shape: length, gap and thickness
Valve's September 23 notes put all three of these in pixels: a 1-pixel-wide crosshair with 8-pixel bars and a 4-pixel gap is thickness 1, length 8, gap 4. The game rescales those pixel counts automatically when your display resolution changes, so the crosshair stays proportionally the same.
cl_crosshair_length— the length of each bar in pixels, default 8 (0 to 255 in the console). This is the single most personal value. Big crosshairs are easier to find on a busy screen; small ones occlude less of the head you are trying to hit.cl_crosshair_gap— the space in pixels between the center and where each bar starts, default 4. On Static Cross the menu slider runs 0 to 128; only the classic dynamic style (2) takes a negative gap in the menu, which Valve allowed on September 30. A tight gap makes the crosshair read as a single point, which is what you want for headshot placement; a wide gap frames the target instead of covering it, which some AWPers prefer.cl_crosshair_thickness— line width in pixels, default 2 (0 to 32). Thickness 1 is a single-pixel line. Go up if you are losing the crosshair against bright surfaces, but understand the trade: every extra pixel of line covers more of a distant head.cl_crosshairdot— 0 or 1, adds a center dot (Center Dot in the menu). Useful if you run a large gap and need a precise center; redundant and cluttering if your gap is already at or near 0.cl_crosshair_t— 0 or 1. Removes the top arm and gives you a T shape. It sounds gimmicky and it is genuinely useful: the top arm is the one that sits directly over a distant head when you are pre-aimed correctly.
These three replaced the old cl_crosshairsize, cl_crosshairgap and cl_crosshairthickness. cl_crosshairgap is gone from the convar list entirely, and the other two survive only as hidden convars; the menu's Length, Gap and Thickness sliders write the new commands, so set those.
Visibility: color, alpha and outline
cl_crosshaircolor_r,cl_crosshaircolor_gandcl_crosshaircolor_b— the crosshair color, each 0 to 255. The default is pure green (0, 255, 0); cyan is 0, 255, 255. The oldcl_crosshaircolorpreset command (0 for red through 4 for cyan, 5 for custom) was removed in the overhaul, and the menu's Color and Transparency picker writes these values directly.cl_crosshaircolor_a— opacity, from 0 (fully transparent) to 255 (fully opaque), default 255. It replaced the oldcl_crosshairalphaandcl_crosshairusealphapair: the usealpha toggle is gone andcl_crosshairalphais now a hidden convar. Leave opacity at 255 and stop thinking about it. There is no upside to a semi-transparent crosshair.cl_crosshair_drawoutline— 0 for no outline, 1 for a full outline (the default), 2 for a half outline that draws only the top-left portions. Valve added an outline color on September 30 (cl_crosshairoutline_r,cl_crosshairoutline_g,cl_crosshairoutline_bandcl_crosshairoutline_a, black and fully opaque by default). Keep the full outline on. It is the difference between a crosshair you can always see and one that vanishes against the light concrete on Ancient B or the sand on Dust II. The oldcl_crosshair_outlinethicknesscommand no longer exists, so there is no outline weight to tune.
The color question has one real answer and a lot of noise around it. Pick a color that does not exist naturally on the maps you play. Green and cyan survive almost every CS2 environment. Red is a bad idea because blood, health bars and the enemy team's own crosshair-adjacent visual noise all live in that band. Yellow is fine until you play Dust II or Anubis, where the whole world is yellow.

Behavior: recoil and friendly fire
cl_crosshair_recoil— 0 or 1 (Follow Recoil in the menu), and on by default. It makes the crosshair follow your weapon's recoil while firing. More on this below, because it deserves its own section.cl_crosshair_friendly_warning— flags when you are aimed at a teammate. Harmless, occasionally saves you a $300 teamkill penalty, which is real money in a tight economy.
The per-weapon gap toggle older guides mention, cl_crosshairgap_useweaponvalue, was removed in the overhaul and has no replacement in the convar list.
Build one in five minutes
Do not copy a config blind. Do this instead, on an aim or workshop map, in this order:
- Set
cl_crosshairstyle 4(Static Cross) and check thatcl_crosshaircolor_ais 255. Non-negotiable starting point. - Set the color to something you can find instantly with
cl_crosshaircolor_r,cl_crosshaircolor_gandcl_crosshaircolor_b. Cyan (0, 255, 255) if you have no preference. - Keep the full outline on:
cl_crosshair_drawoutline 1. - Start from the defaults, length 8 and gap 4, then shrink both until the crosshair stops covering the heads you are shooting at. Stop the moment you start losing it during a fight — that is your floor.
- Set thickness last. Thickness fixes visibility problems that length and outline could not.
- Play three full matches before touching it again.
That last step is the one people skip. A crosshair feels wrong for about twenty minutes and then becomes invisible in the good way. Changing it every session means you never build the reference at all, and you will blame your sensitivity for what is actually a config you rewrite twice a night.
One related setting worth sorting out in the same sitting: viewmodel_fov caps at 68, and pushing it to the maximum drops your gun model lower and further right, which frees up a meaningful chunk of the bottom-right of your screen. A crosshair you can see and a gun that is not eating your screen are the same project.

The sniper crosshair nobody configures
Sniper rifles do not use your crosshair when scoped. They use the scope overlay, and its line width is controlled by cl_crosshair_sniper_width — Sniper crosshair thickness under Sniper Sights on the Crosshair / Scopes tab — which defaults to 1, a single-pixel hairline. The menu slider runs 1 to 6.
One pixel is nearly invisible on a 1440p or 4K display, and on a bright skybox it disappears entirely. Set it to 2 and the scoped AWP suddenly has a crosshair you can actually see. Most serious AWPers run 2; some go to 3 for a very heavy line. This is the highest value-per-second-of-effort change in the entire settings menu and almost nobody makes it.
It applies to the sniper rifles' scopes, the SSG 08 included. The AUG and SG 553 are a different system: the game's weapon data files them as rifles with ironsight-style scopes, and their reticle is a scope dot with its own two settings on the same tab — cl_ironsight_dot_scale (Scope dot scale, 0.1 to 2) and cl_ironsight_usecrosshaircolor (Use crosshair color for scope dot). Worth knowing if you buy the AUG on CT side: the dot settings are the lever there, not the sniper width.

Share codes, and why copying a pro is a trap
CS2 has a native crosshair share format. On the Crosshair / Scopes tab, click Share or Import on the crosshair preview, paste a code, hit Import, and the whole config lands at once; the same box copies your own code to share. It is genuinely convenient, and it is the fastest way to test five crosshairs in one warmup. Valve changed the share-code format on September 30, 2026 so codes carry the new settings, scope dot scale and color included, and the box labels anything it will not accept as an "Invalid or old crosshair code" — so a code copied from a pre-overhaul guide may not import.
The trap is treating a pro's code as an answer. Resolution is no longer the reason: Valve made crosshairs resolution independent on September 22, 2026, and its September 23 notes say the new pixel values rescale automatically when the display resolution changes. The reason now is simpler — that crosshair was tuned for someone else's eyes and habits, not yours. Import codes to sample shapes, then adjust length and gap until the crosshair stops covering heads for you.
Also worth saying plainly: no crosshair adds aim. It removes friction. If you are stuck in a rank band and blaming your config, the honest diagnosis is usually somewhere in crosshair placement, spray discipline or utility usage rather than in three pixels of line thickness.
Follow recoil is a training tool, not a setting
cl_crosshair_recoil 1 makes the crosshair climb and drift with your weapon's recoil while you hold the trigger, and it is on by default. It is not an aim assist — the bullets were always going there, CS2 is just drawing it for you now.
As a permanent setting it is questionable, because a crosshair that jumps during every spray reintroduces exactly the visual instability you picked a static style to avoid. As a training tool for a couple of hours it is excellent: fire a full AK magazine at a wall with it on, and the abstract spray pattern you have been trying to memorize becomes something your eyes track directly. Use it for practice and set it to 0 for matches — because it ships switched on, that second step is the one you have to remember.
That pairs naturally with actual pattern work, which is a separate discipline entirely and the fastest route out of the lower Premier rating bands.

Five crosshair mistakes that cost you kills
- A crosshair bigger than a head at 20 meters. If your arms and gap together span more than the head model at common engagement distance, you are aiming at an occluded target. Shrink it.
- Semi-transparent lines. Opacity below 255 for aesthetics is a straight downgrade. There is no scenario where a fainter crosshair is better.
- No outline. Every map has at least one surface your color disappears against. The outline is free insurance.
- Dynamic style out of habit. If you have never deliberately chosen style 4, you are probably on the default — Dynamic Quad, style 7, since September 22, 2026 — because you never opened the menu, not because you decided anything.
- Never touching
cl_crosshair_sniper_width. A one-pixel scope line on a high-resolution monitor is functionally no crosshair at all, and it is the line you aim a $4,750 AWP with.
Everything else in this menu is preference. Those five are just wrong. Fix them and the rest of the CS2 fundamentals start paying off properly, because you can finally see the thing you are aiming with.
Quick Action Checklist
- Set
cl_crosshairstyle 4(Static Cross). Static or nothing. - Keep
cl_crosshaircolor_aat 255, its default — the oldcl_crosshairalphaandcl_crosshairusealphapair no longer does the job. - Keep
cl_crosshair_drawoutline 1, a full outline (the default). - Pick a color with
cl_crosshaircolor_r,cl_crosshaircolor_gandcl_crosshaircolor_bthat does not appear on your maps — cyan and green are safest, red and yellow are not. - Shrink
cl_crosshair_lengthandcl_crosshair_gapuntil the crosshair stops covering heads, then stop. - Set
cl_crosshair_sniper_width 2if you touch the AWP or SSG 08 at all. - Use
cl_crosshair_recoil 1in practice sessions only, then set it to 0 — it is on by default. - Import share codes to sample shapes, not to inherit someone else's taste. Codes from before the September 30, 2026 format change may not import.
- Commit for three matches before changing anything. Twenty minutes of "wrong" is the adjustment period, not a verdict.
Frequently Asked Questions
What is the best crosshair style in CS2?
What do the cl_crosshairstyle values mean in CS2?
How do I set a custom crosshair color in CS2?
How do I import a crosshair code in CS2?
What does cl_crosshair_sniper_width do?
Should I use cl_crosshair_recoil in CS2?
Is copying a pro crosshair code a good idea?
Does a better crosshair actually improve your aim?
Keep Reading
- Counter-Strike 2 Update, September 22, 2026 — resolution-independent crosshairs, new Crosshair/Scopes tab, Dynamic Quad default (Valve)
- Counter-Strike 2 Update, September 23, 2026 — crosshair units in pixels that rescale with resolution, half outline, Static Square style (Valve)
- Counter-Strike 2 Update, September 30, 2026 — outline color, Static Quadrant style, negative classic gaps, new share-code format (Valve)
- SteamDB GameTracking-CS2 convar dump — current crosshair convars, defaults, ranges and cl_crosshairstyle values 0-9 (October 22, 2026 build)
- SteamDB GameTracking-CS2 — Crosshair / Scopes settings tab layout (menu sliders and ranges)
- SteamDB GameTracking-CS2 — CS2 English localization (crosshair style names, Share or Import labels)
- SteamDB GameTracking-CS2 — weapons.vdata (AWP price 4750, AUG and SG 553 ironsight scopes)
- Counter-Strike 2 — official Valve site
Related Guides

CS2 Spray Control Guide: Recoil Patterns That Work
The AK spray pattern is identical every single time you pull the trigger. That is not a figure of speech — it is a lookup table. Here is how CS2 recoil and inaccuracy actually work, and how to practise the parts that transfer to a real round.

How to Watch CS2 Demos: Controls, TrueView and Commands
Valve rebuilt the Counter-Strike 2 demo controller on October 14, 2026 and described only part of it in the patch notes. How to get a match onto your PC, what every button on the new bar does, how highlights and TrueView work, and the demo console commands, read from the game files.

CS2 Practice Server Setup: The Commands That Work
sv_grenade_trajectory does not exist in Counter-Strike 2. Neither does cl_grenadepreview or r_cleardecals. Half the practice configs online are CS:GO leftovers that fail silently. Here is what CS2 actually ships.

CS2 AWP Guide: How to Justify a $4,750 Rifle
The AWP one-shots anywhere but the legs, moves at half speed while scoped, pays a $100 kill reward instead of $300, and now throws away live rounds every time you reload. Here is the whole cost sheet, and the case for buying a Scout instead.

CS2 Economy Guide: Buy Rounds, Loss Bonus, and MR12
Half the rounds you lose in CS2 are lost in the buy menu, before anyone fires a shot. Here are the exact payout numbers, the loss bonus ladder, and the force-buy math that decides whether your next three rounds are winnable.

CS2 Deathmatch and Arms Race Explained: Points and Rules
A Deathmatch kill has been worth a base 8 points since May 7, 2026, and a bonus-weapon kill half as much again. Counter-Strike 2's two respawn modes, read from their configs, strings and Valve's release notes: free-for-all scoring, the 10-second buy window, the bonus weapon, healthshots, the maps, and how Arms Race levels you up.