Skip to content
CS2 crosshair guide

CS2 Crosshair Bind Generator

Convert a few tested CS2 crosshairs into separate cfg files and switch them with conflict-free key binds.

Last reviewed 2026-07-25
Maintained by the xhair.pro data team · See our data method

A crosshair bind is useful for a small number of purpose-built presets: a main setup, a high-visibility backup, and a practice crosshair. The generator converts each share code to cl_crosshair* commands, stores them in separate cfg files, and binds keys to execute those files.

Why not bind the share code directly

bind executes console commands. A CSGO- share code belongs in the Share or Import window. Separate cfg files make every command inspectable and let you test each preset independently.

Before generating

  1. Save your current main share code as a final fallback.
  2. Check and record the existing command on every key you plan to use.
  3. Keep the list to two or three presets with clear file names.

A practical preset layout

  • xhair-main.cfg for the long-term default.
  • xhair-visible.cfg for a higher-contrast backup.
  • xhair-practice.cfg for dynamic feedback or experiments.

Bind and verify

This is only an example. Confirm that F6 has no important binding first:

bind "F6" "exec xhair-main.cfg"

Press the key in a local map, then check the crosshair preview and settings. Execute every cfg once to catch file-name, path, or command errors.

To remove only the example bind:

unbind "F6"

If the key had an earlier function, restore the recorded original command instead of leaving it unbound.

Open bind generator

Build a key bind from copied crosshair codes and keep multiple setups available in game.

Continue reading

FAQ

Can one key cycle multiple crosshairs?

Yes, but a simple direct bind is easier to remember. Use cycling only when you truly need several presets.

Should binds go in autoexec?

Put stable binds there. Temporary experiments can stay in the console.

Can I bind a CSGO- share code directly in CS2?

Use cfg files with cl_crosshair commands instead. The share-code import UI and cfg binds are different workflows.

How many crosshair binds should I keep?

Keep two or three stable binds. More presets usually make comparison harder.

Where should generated cfg files go?

Put them in the CS2 cfg directory, then reference them from autoexec or console exec commands.