Static or dynamic
Set cl_crosshairstyle 4, Static Cross. Almost every professional player uses it: 338 of the 350 pros we track. A dynamic crosshair expands when you move and when you fire, but that expansion tells you something you already know, that you are moving, while making the centre of the screen busier at the exact moment you need it to be calm. Note that the new game default is Dynamic Quad (7), so a fresh install starts with a dynamic crosshair.
The update brought ten styles. Static Circle, Static Square, Static Quad and Dot Only are fixed shapes for players who want something other than a cross. Dynamic Cross, Dynamic Circle and Dynamic Quad spread with your real inaccuracy; Dynamic Cross (Legacy) is the old CS:GO split cross, and Static Cross (Shot Feedback) only reacts when you fire. If you have played dynamic for years, the switch to static feels wrong for about a week and then obviously better. See our static crosshair codes for a starting point.
Length
cl_crosshair_length sets how long each bar is, in pixels. Pros almost all sit at 2 to 5. A short bar keeps your eye on the centre point instead of on the arms, and it covers less of a distant head. If you keep losing the crosshair in a fight, that is usually a colour or outline problem rather than a length problem, so fix those first before going bigger.
Every code also stores cl_crosshair_screen_height, the resolution the pixel values were built at, and CS2 scales from it to yours. So a code built at 1080p looks the same physical size on a 1440p monitor, just with more pixels. Change the length once, look at it in a deathmatch server, then leave it alone. Small crosshair codes collect the shortest setups in use.
Gap
cl_crosshair_gap is now a plain pixel distance, which is much easier to read than the old offset from a base of four. Gap 0 and gap 1 both close the cross so the bars touch the centre line, and every step above adds one pixel of space.
Most pros use 1 or 2. A closed or nearly closed crosshair gives you one clear aim point instead of four bar ends to average between. Only Dynamic Cross (Legacy), style 2, accepts negative gaps, which is how the overlapping-bar look of old CS:GO configs survives. Larger gaps are mostly useful with a centre dot, where the dot is the aim point and the bars are peripheral reference.
Thickness
cl_crosshair_thickness is a whole number of pixels from 0 to 32, and 1 or 2 is where nearly every pro sits. Odd thicknesses centre on a single pixel and even ones on the line between two, so a 2-pixel crosshair sits half a pixel off a 1-pixel one. It is invisible in a fight but explains why a crosshair can look slightly lopsided in a screenshot.
Thickness 1 gives the thinnest, most precise crosshair. Thickness 2 is easier to see and is the more common choice among players who run without an outline.
Outline
cl_crosshair_drawoutline now has three modes: 0 off, 1 a one-pixel border around every bar, and 2 a half outline on the top and left edges only, a lighter shadow. The outline also has its own colour and alpha through cl_crosshairoutline_r, _g, _b and _a, where it used to be fixed black.
The usual trade is this: a full or half outline with thickness 1, or no outline with thickness 2. Both give you roughly the same on-screen weight, but the outlined version survives bright backgrounds better while the plain version looks cleaner. Most pros, 303 of the 350 we track, run no outline. If you play a lot of Ancient or Overpass with their pale surfaces, try the half outline first.
Colour, and why it changes per map
The job of the colour is to never match what is behind it. Green, the default, is a good choice precisely because almost nothing in CS2 maps is a saturated green. Our green crosshair codes cover most of the pro scene for that reason. The update removed the colour presets, so every colour is now three RGB values plus alpha.
- Green (0, 255, 0) works everywhere and is the right default if you do not want to think about it.
- Cyan (0, 255, 255) is the best pick for grey and blue-grey maps such as Nuke and Ancient, where green can sink into foliage.
- Yellow (255, 255, 0) stands out strongly on dark maps and dark corners, and is easy for most colour blind players to see.
- Red is the one to avoid. Blood, fire, red map textures and the damage indicator all compete with it.
- Custom colours are just other RGB values. Bright pink (255, 0, 255) and mint (0, 255, 135) are popular because neither appears in the environment.
Switching colour per map is legitimate and easy with binds, but it costs you familiarity. Unless one map is genuinely giving you trouble, pick one colour and keep it.
Dot and T-style
cl_crosshairdot 1 adds a centre dot the size of your thickness. Combined with a short bar and a gap of 2 or 3, it gives you a precise single aim point with light peripheral structure. A pure dot is now its own style, Dot Only (cl_crosshairstyle 6): nothing on screen except the point you are aiming at. It suits players with steady crosshair placement and punishes players who need the bars to find the centre quickly. Try it in deathmatch first, and browse dot crosshair codes to see how pros configure it.
cl_crosshair_t 1 removes the top bar, leaving a T shape. The idea is that nothing blocks the space just above the centre where a head appears when someone peeks over a box or up a ramp. It is a small gain and purely a matter of taste.
Alpha
cl_crosshaircolor_a 255 gives a fully solid crosshair, which is what you want in almost every case. Lower values make the crosshair semi transparent and harder to read in a fight. The old cl_crosshairusealpha 0 trick that forced additive blending is not part of the new crosshair code.
Follow recoil
cl_crosshair_recoil 1 makes the crosshair travel with your spray pattern, and since the update it is on by default. It is a good learning tool: spray the AK pattern into a wall and you can see the relationship between the pattern and your compensation directly. In matches most pros turn it off, because the moving crosshair removes the fixed reference point you use to place your next shot.
Resolution and aspect ratio
Sizes are pixels at the screen height stored in the code, scaled to your resolution, so a crosshair keeps its proportions across 1080p and 1440p. Aspect ratio still matters for stretched resolutions: on 4:3 stretched, the horizontal axis is scaled up, which makes the horizontal bars look wider relative to the vertical ones. If you move between native and stretched, expect to nudge the length by a pixel rather than rebuild the crosshair.
Recommended starting points
Three presets that cover most preferences, all in the new CS… format. Copy the code, then import it in CS2 through Settings, Game, Crosshair, Share or Import. Every one of them is a starting point rather than an answer; open the generator and adjust from there.