Every CS2 Crosshair Setting Explained
Crosshair · 6 min read · Updated May 30, 2026
CS2 builds your crosshair from a handful of console commands, all prefixed with cl_crosshair. You never have to type them by hand. Our crosshair generator exposes every one as a slider or toggle and writes the share code for you. This guide explains what each setting actually does so you can dial in a crosshair that suits your aim.
The core shape
| Setting | Command | What it does |
|---|---|---|
| Length | cl_crosshairsize | How long each of the four lines is. |
| Thickness | cl_crosshairthickness | How thick the lines are. |
| Gap | cl_crosshairgap | Space between the center and where each line starts. Negative values pull the lines inward. |
| Center dot | cl_crosshairdot | Adds a single dot in the middle. |
| T-style | cl_crosshair_t | Removes the top line for an unobstructed view, leaving a T shape. |
The outline
An outline draws a thin black border around the lines so the crosshair stays visible on bright and busy backgrounds. Turn it on with cl_crosshair_drawoutline and set its thickness with cl_crosshair_outlinethickness (0 to 3, in half steps). Most players use a thin outline of around 1.
Color
cl_crosshaircolor picks a preset: 0 red, 1 green, 2 yellow, 3 blue, 4 cyan. Set it to 5 to use a fully custom color through cl_crosshaircolor_r, cl_crosshaircolor_g and cl_crosshaircolor_b. You can also fade the crosshair with cl_crosshairusealpha and cl_crosshairalpha (0 to 255). A bright color that contrasts with the maps you play, like cyan or a custom pink, is easiest to track.
Static or dynamic: cl_crosshairstyle
This is the big one. It decides whether the crosshair reacts to movement:
- 0 and 1: the default and default-static styles, with a small built-in dot.
- 2 and 3: classic dynamic. The lines spread apart while you move, jump and fire, roughly showing your inaccuracy.
- 4: classic static. The crosshair never moves. This is what most pros use, because a still reference is easier to place.
- 5: legacy, the old CS:GO classic dynamic behavior.
If you are unsure, start with style 4. A static crosshair teaches better habits because it does not hide your spray inaccuracy from you.
Dynamic tuning
When you do run a dynamic style, a few extra commands control how the lines split: cl_crosshair_dynamic_splitdist, cl_crosshair_dynamic_splitalpha_innermod, cl_crosshair_dynamic_splitalpha_outermod and cl_crosshair_dynamic_maxdist_splitratio. CS2 also adds cl_crosshair_recoil, which makes the crosshair follow your recoil pattern as you spray. These are niche, so leave them at their defaults unless you have a specific reason to change them.
Rather than memorize any of this, open the generator, move the sliders, watch the live preview, and copy the share code straight into CS2.