The basics

The Valorant crosshair is one of those settings players obsess over more than they probably should, but it also genuinely affects accuracy if you are new to tactical shooters. The code system is straightforward once you stop reading Reddit threads for twenty minutes. You type a number string into the crosshair tab in settings, and each digit controls a specific parameter like color, thickness, gap, and whether the crosshair is filled or hollow. There are about twenty different parameters depending on your build version, and most people only adjust six or seven of them. Vintage-style crosshairs are just older formats that became popular before Riot simplified the UI around 2020. The classic format looks something like this: 0;31;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;1;1 and people have been sharing and tweaking them ever since. The aesthetic people refer to as vintage usually means a thin, clean crosshair with a small gap, solid colors, no outline, and no alpha fade. It is not magical. It is just a setting string that has circulated for years. Open Valorant and go to Settings. Click the Crosshair tab. There is a text input field at the top that says "Custom Code." Paste your number string there. The crosshair preview box updates immediately. If the preview goes blank or errors out, your code has a typo or an invalid parameter. Copy the code again slowly and check each segment. Common mistakes are using a letter instead of a zero, adding an extra semicolon, or copying from a source that uses curly quotes instead of straight ones.

I spent about forty-five minutes one evening debugging a code that kept displaying nothing in the preview. It turned out a forum post had auto-formatted the semicolons into something else entirely. You cannot see this difference unless you paste the string into a plain text editor first. That step alone saves a lot of wasted time. Once you have a working code, hit Apply. Then immediately hit Copy in the same menu so you have your current configuration backed up somewhere. People forget this and reset everything when a new patch breaks their crosshair. The code is stored locally on your machine, but patches sometimes introduce new parameters or shift the defaults, and a clean reinstall will wipe it.

Picking the right vintage configuration

A typical solid vintage crosshair runs like this: 0;31;1;1;1;1;1;1;1;1;1;1;1;0;1;0;1;1;1. Here is what matters in practice. The first number is the preset style. Zero means custom. The second number sets the color index. Thirty-one is green in the default palette. The third and fourth numbers are inner and outer thickness. One and one keeps everything thin. The gap is controlled by later parameters, and the style of the crosshair lines depends on the fill and outline values near the middle. Most beginner mistake is chasing a code that was designed for someone else's mouse sensitivity and monitor refresh rate. A crosshair that looks perfect in a screenshot from a high DPI setup might look disconnected and jarring on your screen because the visual weight is completely different. Change the gap and thickness first. Color last.

Get the Full Details

VALORANT Crosshair Tutorial (CSGO Crosshair) - YouTube
VALORANT Crosshair Tutorial (CSGO Crosshair) - YouTube

What to actually adjust yourself

If you want to move past copy-pasting codes, here are the three parameters that matter most. The inner gap controls the space between the two halves of the crosshair. Larger gaps make it easier to track moving targets in close range but hurt precision at distance. Smaller gaps do the opposite. The thickness determines visibility. One is barely visible on bright maps. Two or three is more practical for most players. The color matters less than people think, but bright green against gray concrete and white against dark walls are usually the most reliable combinations. Avoid yellow on Icebox or Ascent because the sand color blends into it badly. I recommend crosshair.sh and the Valorant crosshair YouTube channels because they update codes regularly. The official Riot crosshair page also has a growing library. Avoid random Discord servers unless you know the person who posted the code is actually a competitive player and not someone who found it on a spam site. I found a code posted by a semi-pro team account once that had been scraped from a different player and modified to include unnecessary parameters. It still worked, but it made the UI slower to load for some reason. There is no single perfect code. The community shares thousands, and most are fine. The real variable is your own playstyle, your screen, and how long you are willing to spend adjusting the numbers until it feels natural.