Method 1: the Share or Import dialog
This is the route almost everyone should use. It needs no console, no config file and no restart.
- Copy the share code you want. Since the 30 September 2026 update it starts with
CSand is followed by 44 letters and digits, with no dashes. - Launch CS2 and open Settings from the gear icon in the top left of the main menu.
- Go to the Game tab, then open the Crosshair section.
- Click Share or Import at the top of the crosshair panel.
- Paste the code into the import field and click Import.
The preview in the settings panel updates as soon as the code is accepted, and the crosshair is written straight into your settings. You do not need to press apply anywhere else. If you are in a match, the new crosshair is live the moment you close the menu.
If CS2 says the code is invalid or old
CS2 only imports the new CS… format since the 30 September 2026 update (1.41.8.8). Any code that starts with CSGO-, whether from CS:GO, from CS2 before the update, or from the short-lived pixel builds of 23 and 24 September, is rejected as invalid or old. You do not have to rebuild the crosshair: paste the old code into our decoder and copy the new code it gives you. Codes from the September pixel builds carry over exactly; CS:GO-era codes are converted from the old size scale to pixels and can land a pixel off, so check the preview.
Method 2: the console command
CS2 also accepts a code from the developer console. The command is apply_crosshair_code followed by the code:
apply_crosshair_code CS2VkbZz3rjH7UzZTUsLDYH7O25fYRoviPYK8eym3XtVhE For this to work the console must be turned on. Open Settings, go to the Game tab and set Enable Developer Console to Yes. The default key to open it is the tilde key, which sits under the escape key on most keyboards. If that key does nothing, check the key is still bound under Settings, Keyboard and Mouse, UI Keys.
The console route is faster once the console is open, and it is the only route that works inside a bind, which is what makes it worth setting up.
Exporting your own code
The same dialog exports as well as imports. Open Settings, Game, Crosshair, then Share or Import. Your current crosshair code is shown at the top of the dialog with a copy button next to it. Since the update that single string carries the style, length, gap and thickness in pixels, the crosshair and outline colours, the outline mode, dot, T-style, follow recoil, the dynamic and split values, the screen height it was built at and the scope dot, so a teammate who imports it sees exactly what you see.
A few settings are deliberately not part of the format, including the master crosshair toggle, the friendly fire warning and the sniper scope line options. If you rely on those, set them separately after importing. Our code decoder shows you every value a code contains before you apply it.
Binding codes to keys for hot-swapping
If you like a small static crosshair for rifles and something larger for AWP rounds or deathmatch, bind each code to a key and switch instantly:
bind F5 "apply_crosshair_code CS2VkbZz3rjH7UzZTUsLDYH7O25fYRoviPYK8eym3XtVhE"
bind F6 "apply_crosshair_code CS4N3cTLGtbqN5JxffWv6vBB5dqiCwEP55KQhZQ4bJ4JQE" Paste those lines into the console once, and F5 and F6 swap crosshairs for the rest of the session. Binds are not saved permanently unless you put them in a config file, which is the next step. If you had binds with old CSGO- codes, replace the codes: CS2 rejects them inside a bind too.
Making it permanent with autoexec.cfg
An autoexec file runs a list of commands every time the game starts. Create or open this file:
Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\autoexec.cfg Put your crosshair code, your binds and anything else you want applied on launch inside it. For example:
apply_crosshair_code "CS2VkbZz3rjH7UzZTUsLDYH7O25fYRoviPYK8eym3XtVhE"
bind F5 "apply_crosshair_code CS2VkbZz3rjH7UzZTUsLDYH7O25fYRoviPYK8eym3XtVhE"
host_writeconfig To make the game read the file on every launch, add a launch option. In Steam, right click Counter-Strike 2, choose Properties, and put this in the launch options box:
+exec autoexec Save the file as a plain text file with the .cfg extension, not .cfg.txt. Windows hides known extensions by default, so turn file extensions on in File Explorer if you are not sure.
Copying an opponent crosshair while spectating
When you are dead and spectating a teammate, or watching a demo, the spectator panel shows the player crosshair settings and a copy option. Copy the code from there and import it the normal way once the round ends. This also works in community demos, which is the easiest way to lift a crosshair from a pro match without hunting for it online. If the panel is not visible, press the key that cycles spectator overlays, or check our pro crosshair codes instead, since most of them are already listed in the new format.
Troubleshooting
The code is rejected as invalid
- If the code starts with
CSGO-, it is in the old format CS2 stopped importing in September 2026. Convert it with the decoder first. - Check for a stray space at the start or the end of the code. Copying from a chat message often adds one.
- A new code is exactly
CSplus 44 characters. Anything shorter or longer lost a piece in a copy-paste chain. - Some characters never appear in a real code: uppercase I, lowercase l, lowercase g, zero and one. If you see one of those, the code was retyped by hand or mangled by a font.
- A code with the right shape can still fail the checksum. If it does, the code was edited after it was generated.
The code imports but nothing changes
- Make sure the master toggle is on. Run
crosshair 1in the console. - If you used the console route, confirm the console is actually enabled and that the command returned no error.
- Check that you pasted into the import field and not the search box at the top of the settings menu.
- If you use an autoexec, a command later in the file may be overwriting the crosshair. Put
apply_crosshair_codeat the end. - Some codes only differ by a pixel or two. Compare them side by side with our compare tool before assuming nothing happened.
What to do next
Once a code is in, the fastest way to fine tune it is to open the crosshair generator, paste the code, move the sliders and export a new one. If you would rather understand each value first, read all CS2 crosshair commands or our guide to the best crosshair settings.