CS2 Crosshair Guide: Pro Codes, Commands & Settings That Fit Your Aim

Steal a pro's crosshair in under a minute, then learn enough to make it yours

Beginner FriendlyNo prior CS2 knowledge required
TL;DR

Copy any share code below, open Settings > Game > Crosshair, click the share icon, paste, and hit Import — or run apply_crosshair_code in console. Most pros use a small classic static crosshair: cl_crosshairstyle 4, size 1–2, gap -4 to -1, thickness around 0.5.

Your crosshair is the one piece of UI you stare at for the entire match, and the fastest way to get a good one is not to build it slider by slider — it's to import a proven code and adjust from there. This guide gives you both halves: ten verified pro share codes worth stealing, and the complete, corrected cl_crosshair command reference for when you want to tune the result. If you only need the menu steps, our quick how-to on changing your crosshair covers that in two minutes; this page is the deep reference for everything behind those steps.

Import a Pro Crosshair in Under a Minute

CS2 crosshairs travel as share codes — strings in the format CSGO-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX that encode every setting at once. There are two ways to apply one.

Method 1: The Share Menu

  1. Open Settings and go to the Game tab, then Crosshair
  2. Click the share icon next to the crosshair preview window
  3. Paste the code into the pop-up field and click Import
  4. The preview updates instantly — close settings and you're done

The same dialog also exports: click Share and CS2 generates a code for your current crosshair. Save it somewhere before experimenting, because that code is your undo button.

Method 2: Console

With the developer console enabled, run apply_crosshair_code CSGO-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX and the crosshair applies immediately. This is the better route if you keep a shortlist of codes in a notepad, or if you want a specific crosshair baked into your autoexec so it loads identically on every machine you play on.

10 Pro Crosshair Codes Worth Stealing

These ten come from our library of verified pro crosshair codes, chosen to cover the real spectrum of styles rather than ten variations of the same green cross. Every code below is pulled straight from the player database — copy one, import it, and play a deathmatch before judging.

donkTeam Spirit · Rifler

CSGO-GA9km-msST6-yyjrG-PYKNi-DeCcO

The most-copied code of the current era. A tiny cyan cross with a wide -4 gap frames the head without ever covering it — if you play off raw reaction speed, start here.

Size 1 · gap -4.5 · thickness 1 · no dot · no outline · green

s1mpleBC.Game · Rifler

CSGO-iCxok-KTVNX-shCzf-Evoek-weaAB

A dot-first hybrid: thickness 0 strips the arms down to almost nothing, so you aim with the center dot while keeping a faint cross as a spray reference.

Size 1 · gap -4 · thickness 1 · no dot · no outline · cyan

ZywOoTeam Vitality · AWPer

CSGO-CtrmB-erJwH-kJ3Jo-pRjZA-3yOtQ

A hairline crosshair — 0.1 thickness — that practically disappears. Built for players whose placement is already disciplined enough not to need training wheels.

Size 1.6 · gap -2.7 · thickness 0.4 · no dot · no outline · custom

NiKoFalcons Esports · Rifler

CSGO-P2pP3-vzjEC-qFhHx-wdhBP-6UOpP

Small green cross, -4 gap, no dot. One of the cleanest tap-and-burst crosshairs in the game, from arguably its best rifler.

Size 2 · gap -4 · thickness 0 · no dot · no outline · custom

m0NESYFalcons Esports · AWPer

CSGO-kNweN-Y49Xt-wFjGv-CeNoB-JG8nM

A compact cyan setup from the AWP prodigy — precise enough for flick confirmation, but comfortable when he swaps to pistols and rifles.

Size 1 · gap -4 · thickness 1 · no dot · no outline · cyan

ropzTeam Vitality · Rifler

CSGO-eQczR-r2FrJ-dkwYL-lXtnM-nFHWO

Slightly longer arms in a custom light blue. The most forgiving of the small statics, and a good first step down from a default-sized crosshair.

Size 2 · gap -3 · thickness 0.5 · no dot · no outline · green

TwistzzFaZe Clan · IGL

CSGO-cqOyh-CSfhe-mnOnK-csY5s-s44RG

The textbook median: size 2, gap -2, thickness 0.5, green. Poll every pro rifler and average the answers — you get something very close to this.

Size 1 · gap -7 · thickness 0 · no dot · no outline · custom

b1tNatus Vincere · Rifler

CSGO-RGiBp-OXkpB-BqZwB-BRBvu-zwsyM

A size-1 cyan micro-crosshair from one of the highest headshot-percentage riflers in pro play. Minimal, but less extreme than donk’s.

Size 1 · gap -4 · thickness 1 · no dot · no outline · custom

device100 Thieves · AWPer

CSGO-QVJA3-eFyR4-wjv9e-x3tNO-DqmHB

A touch larger than most AWPer setups, which makes it easier to track a repositioning target between shots. Four Majors say it works.

Size 1 · gap -4 · thickness 0 · no dot · no outline · custom

FalleNFURIA · IGL

CSGO-ssxCh-Y9LFi-B9amu-NWkZo-ObaAB

A balanced green 2 / -2 / 0.5 from the Brazilian AWP professor — comfortable whether or not the big green is in your hands.

Size 2 · gap -6 · thickness 1 · no dot · outlined · yellow

None of these clicking? The full crosshair codes databaseis filterable by role and color, and every entry links back to the player's complete settings page.

The Complete cl_crosshair Command Reference

Every crosshair setting has a console command behind it, and the console exposes a few options the settings menu doesn't. Open the console with the ~key (enable it under Settings > Game first) and use the values below.

Crosshair Style: cl_crosshairstyle

cl_crosshairstyleMultiplayer Safe

Crosshair style (0 = default, 1 = static classic, 2 = dynamic classic, 3 = dynamic, 4 = static, 5 = legacy)

Default0CategoryCrosshair

This is the command that decides whether the crosshair moves at all, and which of your other settings it bothers to respect:

  • 0 — Default: the stock dynamic crosshair; expands with movement and firing, ignores most custom values
  • 1 — Default Static: the stock shape, locked in place
  • 2 — Classic: uses your custom values with a slight, dampened response to firing
  • 3 — Classic Dynamic: your custom values with full expansion during movement and spray
  • 4 — Classic Static: your custom values, completely fixed — this is what the vast majority of pros use
  • 5 — Legacy: old-school 1.6-style scaling behavior

Crosshair Color: cl_crosshaircolor

cl_crosshaircolorMultiplayer Safe

Crosshair color preset (1=green, 2=yellow, 3=blue, 4=cyan, 5=custom RGB)

Default1CategoryCrosshair

It takes six values, and the numbering trips people up — cyan is 4, not 3, and custom colors need 5:

  • 0 — Red
  • 1 — Green (the default)
  • 2 — Yellow
  • 3 — Blue
  • 4 — Cyan (light blue)
  • 5 — Custom RGB, set with cl_crosshaircolor_r, cl_crosshaircolor_g and cl_crosshaircolor_b (0–255 each)

For pure white, set color 5 with all three channels at 255. Cyan and green dominate among pros because they clash with almost nothing in CS2's map palette; yellow earns its place on darker maps.

Shape and Visibility Commands

Every card below renders straight out of the CSDB command database, so the default value is the one currently shipping and anything Valve has removed or made read-only is badged as such rather than quietly recommended. The typical range is our editorial advice; the default and the description are the database's.

cl_crosshairsizeMultiplayer Safe

Length of the crosshair lines

Default2.5CategoryCrosshair

Typical range 1–3. Arms longer than 3 start covering heads at the ranges you most need to see them.

cl_crosshairgapMultiplayer Safe

Gap between crosshair lines and center (-5 to 5)

Default0CategoryCrosshair

Typical range -4 to 1. Negative values pull the arms in toward the centre; most pro codes sit between -3 and -1.

cl_crosshairthicknessMultiplayer Safe

Thickness of the crosshair lines

Default0.5CategoryCrosshair

Typical range 0.5–1.5. Below 0.5 the arms start to disappear against bright surfaces unless you outline them.

cl_crosshairdotMultiplayer Safe

Show center dot (0 = off, 1 = on)

Default0CategoryCrosshair

On or off. A dot inside small arms is the common hybrid; a pure dot with no arms is the strictest placement teacher and the hardest to spray with.

cl_crosshair_tMultiplayer Safe

T-shaped crosshair — removes top line (0 = off, 1 = on)

Default0CategoryCrosshair

On or off. Removing the top arm uncovers the pixels a head appears in, which is the whole argument for T-style.

cl_crosshairalphaMultiplayer Safe

Crosshair opacity (0-255, 255 = fully opaque)

Default200CategoryCrosshair

Typical range 200–255. Anything much below 200 costs you visibility on busy backgrounds for no real benefit.

cl_crosshair_drawoutlineMultiplayer Safe

Draw outline around crosshair (0 = off, 1 = on)

Default0CategoryCrosshair

On or off. The cheapest fix for a crosshair that vanishes against skyboxes and bright walls — mandatory if you run white.

Thickness of the crosshair outline

Default1CategoryCrosshair

Typical range 0.5–2, and only does anything with the outline enabled.

Use weapon-specific gap values for dynamic crosshair

Default0CategoryCrosshair

On or off. Overrides your own gap with a per-weapon value — leave it off if you want one consistent picture across your whole loadout.

Width of the sniper scope crosshair line

Default1CategoryCrosshair

Typical range 1–3. Only affects the scoped reticle; raise it if the scoped lines look too thin at high resolutions.

cl_crosshair_recoilMultiplayer Safe

Crosshair follows recoil pattern (0=off, 1=on)

Default1CategoryCrosshair

On or off. Makes the crosshair chase your actual recoil — eye-opening for a session of spray practice, noisy in real matches. Most players try it once, learn something, and turn it back off.

Transparency also has an enable toggle alongside the alpha value itself. It is worth knowing about, but the honest default advice is to leave the crosshair fully opaque: a semi-transparent crosshair is a crosshair you lose against exactly the busy backgrounds where you needed it.

Which Settings Actually Fit Your Game

There is no best crosshair, but there are wrong ones for how you play. Match the shape to your habits, not to whoever won the last Major.

Small Static for Tappers

If your damage comes from single taps and short bursts at head height, a small classic static (style 4, size 1–1.5, gap -3 or tighter) is the right tool. It obscures nothing at long range, and its fixed shape means the picture your brain memorizes never changes. This is the donk / NiKo / b1t school, and it rewards players who already hold reasonable angles.

Dynamic for Learners

Style 3 expands the moment your shots stop being accurate — while running, jumping, or deep into a spray. That constant feedback is the fastest way to internalize CS2's movement-accuracy rules: when the arms are apart, you miss; when they snap together, you're allowed to shoot. Run it deliberately for a couple of weeks as a training aid, then graduate to static before the expansion becomes visual noise you've learned to ignore.

The Dot Debate

A pure dot is the strictest placement teacher in the game — there are no arms to lean on, so your eye learns to put one pixel on heads. The cost shows up in sprays: without arms you lose the peripheral reference for how far your aim has drifted during a transfer. That's why the pure dot is rare in tier-one play while the hybrid — a dot inside small, faint arms, like s1mple runs — keeps showing up. If you tap more than you spray, try the dot; if you spray, keep at least minimal arms.

AWPers

Scoped in, your crosshair is replaced by the scope reticle, so an AWPer's crosshair mostly matters for quick-switch flicks and pistol rounds. That's why AWPer codes like device's and FalleN's trend slightly larger and calmer — the crosshair is a positioning reference between shots, not a precision instrument. Set cl_crosshair_sniper_width to 1–2 if you find the scoped lines too thin at high resolutions.

Placement Beats Settings

A blunt truth: the difference between a decent crosshair and a perfect one is worth maybe a few percent, while the difference between good and bad crosshair placement decides entire matches. Keep the crosshair at head height as you move — not at the floor, not at your feet cover — and pre-aim the exact pixel where a head will appear before you swing the angle. When you die, watch where your crosshair was in the killfeed replay: if it was below the shoulders or a full flick away from the enemy, no share code was going to save that duel.

Placement is a trainable habit with well-known drills — head-height tracking around the map, pre-aim routes, one-taps in deathmatch. Our aim training guide breaks down the routine; ten minutes a day moves your placement more than a year of crosshair tinkering.

Common Crosshair Mistakes

  • Changing it after every bad game. Your crosshair didn't lose you that match. Constant switching prevents the two weeks of consistency that aim actually needs.
  • Judging it in the settings menu. A crosshair that looks crisp against the preview backdrop can vanish into Ancient's foliage or Nuke's glare. Only deathmatch verdicts count.
  • Going too big. Arms longer than size 3 start covering heads at long range — exactly the pixels you need to see on Mirage mid or Dust2 long.
  • White with no outline. Pure white disappears against skyboxes and bright walls. If you want white, keep cl_crosshair_drawoutline 1; otherwise pick cyan or green.
  • Keeping dynamic forever. Style 3 is a teacher, not a destination. Once you know the movement rules, the expansion is just motion in the center of your screen.
  • Copying a pro's code and expecting their aim. The code transfers the picture, not the ten thousand hours behind it. Use pro codes as strong starting points, then tune.

How to Iterate Without Wrecking Your Aim

  1. Export your current crosshair with the Share button and save the code — that's your rollback
  2. Start from a proven baseline: one of the ten codes above, or a small classic static
  3. Change one variable at a time — gap first, then size, then thickness — never three at once
  4. Preview changes live in our crosshair generator, which renders every combination in the browser and exports a share code without launching the game
  5. Test each candidate with 15–20 minutes of deathmatch across at least two maps
  6. Lock in your choice for two full weeks before allowing yourself another change

The generator is also the fastest way to answer what-ifs — what donk's crosshair looks like in yellow, or your own with a dot — because you can fork any pro preset and nudge one slider. When in doubt, resist the urge to be original: the settings that the professionals in our database converged on are a better prior than any hunch.

Frequently Asked Questions

What crosshair do most pro players use?

The overwhelming majority run a small classic static crosshair (cl_crosshairstyle 4): size 1-2, gap between -4 and -1, thickness around 0.5, in green or cyan. Across the 990+ verified codes in our database, that cluster covers most of tier one. The outliers are deliberate — s1mple's near-invisible dot hybrid, ZywOo's hairline — not random.

How do I import a crosshair share code in CS2?

Open Settings, go to Game > Crosshair, and click the share icon next to the preview. Paste a code in the CSGO-XXXXX-... format and hit Import. Alternatively, open the console and run apply_crosshair_code followed by the code. Both methods apply instantly, and you can revert by importing your previous code.

Should I use a static or dynamic crosshair?

Static (cl_crosshairstyle 4) is the competitive default because it gives identical visual feedback every round, which is what muscle memory needs. Dynamic styles (0 and 3) expand while you move or fire, which makes them a genuinely useful teaching tool for learning movement accuracy — most players use one for a few weeks, internalize the lesson, then switch to static permanently.

Is a dot crosshair good in CS2?

A pure dot forces precise placement and suits tap-heavy, head-height players, but it gives you no arms to gauge spray drift, so transfers during a spray get harder. A hybrid like s1mple's — dot plus near-invisible arms — is the practical middle ground. Try cl_crosshairdot 1 with cl_crosshairsize 1 before committing to a dot alone.

Do CS:GO crosshair codes still work in CS2?

Share codes in the CSGO- format import into CS2 without modification, and the cl_crosshair console commands carry over with the same values. CS2 also added a few new options on top, most notably cl_crosshair_recoil, which makes the crosshair track your recoil in real time.

How often should I change my crosshair?

Rarely, and never mid-losing-streak. Aim changes take roughly two weeks of consistent play to settle into muscle memory, so constant switching resets that clock every time. Change one variable at a time, give it real matches rather than a warmup, and keep your previous share code saved so reverting costs nothing.

JL

Director at Bettor Media. CS player since 2013 with experience in skin trading, marketplace analysis, and competitive play.