How To Change Crosshair In CS:GO [Complete Guide]

Crosshair Generator v3 workshop map made by crashz

Some people change their sensitivity, resolution or even gear to make the game feel fresher or even push past slumps. Even though this might work for some, in general we advice against it. Changing your crosshair is the best way to refresh your game (at least when it comes to settings) and stay consistent at the same time.

Changing The Crosshair

Changing your crosshair is easy:

The Usual Way (Developer Console)

  1. Enable Developer Console from Menu -> Game Settings -> Game -> Enable Developer Console
  2. Bind Console to a key of your choice from Menu -> Keyboard Mouse -> UI Keys -> Toggle Console
  3. Start switching crosshair command values (we’ll talk about them below)
find cl_crosshair command in the developer console

You can see your current crosshair settings in the developer console by using command "find cl_crosshair"

Alternative Ways

crashz' Crosshair Generator (Custom Map)

The custom map made by crashz is rather genius and really noob friendly. Just launch an offline game that runs the map (this is really easy) and start switching your crosshair by shooting certain marks on the map. It allows you to customize a crosshair of your own or even pick up crosshairs used by pro CS:GO players and see them immediately on your screen without the extra hassle of copypasting and switching between desktop and in-game.

  1. Go to
  2. Log into Steam on your browser and click on the green button that says “Subscribe”
  3. Launch CS:GO and go to: Play -> Workshop Maps -> Pick the correct map from the list -> Press Go
  4. Start playing around

CS:GO Crosshair Generator By Dathost

This one is also simple but since crosshairs don’t look the same on different resolutions there’s not much point in using it when you have the possibility to use the workshop map that runs on your in-game settings.

  1. Go to
  2. Create a crosshair by using the sliders and buttons
  3. Copy and paste the given commands in your console
dennis' CS:GO crosshair on two different resolutions
An example of how dennis' crosshair looks on 4:3 stretched and full hd resolutions.

CS:GO Crosshair Commands

These are probably the most commonly switched commands once you get into the habit of changing your crosshair:

  • cl_crosshairsize
  • cl_crosshairgap
  • cl_crosshairthickness
  • cl_crosshaircolor
  • cl_crosshair_drawoutline
  • cl_crosshairstyle

Now let’s have a brief look on what they do.


Style 0 is irrelevant once you get past the total beginner phase and styles 1 and 2 are extremely rare amongst the better end of the competitive players pool. Most of the good competitive players stick to styles 3-5.

  • cl_crosshairstyle 3 is a dynamic crosshair, meaning that it spreads when you move and shoot.
  • cl_crosshairstyle 4 stays the same all the time.
  • cl_crosshairstyle 5 comes from the previous iterations of the game (1.6/Source) and is also dynamic but it only spreads when you shoot

Since the concept of spray patterns (recoil) and not moving and shooting at the same time might be something that takes a while to internalize when you first start playing CS:GO, it might be of help to use a dynamic crosshair as a “reminder”.

Once you get better and start focusing on things like crosshair placement, you probably find it distracting that your crosshair spreads when you move. 


This one’s pretty self-explanatory. Ranges from 0 to God-knows-how-high and can be tweaked .5 units at a time. Generally speaking anything beyond 5 starts to get a bit too chunky but each to their own.


Developer console allows you to choose from five different preset colors (red, green, yellow, blue, cyan) but you can also tweak the color by using cl_crosshaircolor 5 and manually inserting RGB values.

  • cl_crosshaircolor_r 0-255
  • cl_crosshaircolor_g 0-255
  • cl_crosshaircolor_b 0-255


cl_crosshairalpha sets the transparency of your crosshair. The lower the value the more transparent the crosshair is, 255 is maximum.


You can change the thickness of the crosshairlines by modifying cl_crosshairthickness value – the value can be changed at 0.5 units at a time.


Crosshairgap is also pretty straightforward. You can also completely remove the gap by going low enough.


Adding an outline improves the visibility of your crosshair. You can also modify the thickness of the outline by cl_crosshair_outlinethickness 0.1-3. The default value of the outline is 1.


Adds a dot in the middle of the crosshair. 


If you want to remove the top line of your crosshair to make it T-shaped, enable cl_crosshair_t 1.


cl_crosshair_sniper_width examples
cl_crosshair_sniper_width 1 and 2 comparison

You can also change the thickness of the scope crosshair lines by using cl_crosshair_sniper_width. Some people use value 2 because they feel the thicker lines are easier to see when they get blurred while moving.

Dot Crosshair

An example photo displaying a green dot crosshair for CS:GO

If you want a dot crosshair without the lines, use the following commands:

  • cl_crosshairstyle 4
  • cl_crosshairsize 0
  • cl_crosshairdot 1

Then you can modify the size of the dot by changing cl_crosshairthickness and the color with cl_crosshaircolor.

CS:GO Pro Crosshairs

You should always create your own config by trying out what works best for you, but it doesn’t hurt to check out what others are doing, maybe you’ll find some inspiration and tweak it for your own taste.

Here’s a few examples from top professional CS:GO players, we tried to pick up a good collection of different styles. The screenshots are all taken in full hd so the crosshairs might look different than intented.

New Update Adds Useful Grenade Trajectory Commands

CSGO guides

A new CS:GO game update adds three new console commands that massively help nade training. 

From release notes:

cl_grenadepreview: show a live update of the grenade’s trajectory while the pin is pulled.
cl_sim_grenade_trajectory : Freeze the trajectory of the currently equipped grenade for the specified number of seconds. Useful for studying the path of long range smokes that go out of view.
sv_rethrow_last_grenade: Recreate the last grenade thrown on this server. Useful for testing the same flash against multiple positions.

This is great news for everyone who are looking to improve their nade game. All of this (and even more) was previously only possible if you had your own server with the Practice Mode plugin by Alliedmodders. 

Beloved DonHaci was the first to demonstrate the new commands on Twitter, check them out:

Nuke In, Inferno Out – Pro Scene Reactions

Valve announced today that it will be revamping de_inferno just like they did with de_nuke and de_train. De_nuke will replace Inferno in active duty and tournament map pools.

Being vastly criticized for its shockingly bad optimization and in general having too much hassle going on, de_nuke caused a lot of discussion in the social media sphere. Most of it being not as positive as Valve probably would’ve expected from their ivory tower.

Pro Scene Reactions on ESL Banning Jump Throw Scripts


The Electronic Sports League, more commonly known as ESL updated their CS:GO rule book earlier this week.

The most game-changing of these is the decision to ban jump throw scripts. If you are not familiar with the term, let us break down how a jump throw script works.

What Is a Jump Throw Script?

  1. You put the following lines in your CS:GO config
alias "+jumpthrow" "+jump;-attack" 
alias "-jumpthrow" "-jump" 
bind h "+jumpthrow"

2. Line up the smoke you want and prime it

3. Press “h” and the script makes you jump and release the smoke

What is so drastic about this then? It releases the grenade at the same exact height every time making it land in the same spot. Now if you hop on a server and try throwing a jump smoke in the same exact spot every time you notice that it isn’t that easy.

Allowing a bind to do it for you basically makes every player a smoke throwing master. Throwing nades is an integral part of the game and it just highlights the diversity of skills needed at the highest level. Some people are aim gods, some come up with the nuttiest strategies and smokes to build them on.

For a more comprehensive look at jump throw binds see adreN’s video:

[youtube id=”9FB-f_-oC2o” width=”600″ height=”340″ position=”left”]

Pro Scene Reactions

Plus recent discussion before the new rule set was announced


Improve Your CS:GO Sound Settings

Redditor VolsAndJezuz posted a great in-depth analysis of improving your CS:GO sound settings. Take a look:

Sound issues? Consider getting a new headset.

The settings discussed here are in regards to playing CS:GO’s sound in a simple stereo arrangement (headphones, 2.0 or 2.1 speakers). I won’t go into it here, but trying to set up ‘surround sound’ through headphones, which always have only left and right drivers, is a bad idea in my opinion [edit: see comment section for some discussion]. Let’s start off with how the Windows sound settings and sound driver settings should be set up for CS:GO.

First go into the sound control panel settings in Windows. You’ll want to configure the playback device that you use for CS:GO as a stereo, full-range setup like this [1] . Then you’ll want to go into the playback device properties to disable exclusive mode and set the default format to the same sample rate and bit depth as the CS:GO audio files likethis [2] .

Now you need to check your sound driver settings. In general, you want to turn any digital enhancements and effectsoff, because they increase the processing time and degrade the positional and dynamic audio integrity. Because the exact process and settings depend on your specific hardware and driver version, I can’t really show useful step-by-step instructions, but I will provide my driver settings as an example [3] , with indications where I have disabled the digital effects options and selected input/output as 2 channels (stereo). If you find yourself wanting to use a modified EQ to make the game ‘sound right’, this is an indication that you need to upgrade your sound card and/or headphones.

Now let’s move on to some of the commands that take a little less discussion.

dsp_enhance_stereo "0" snd_legacy_surround "0" snd_mixahead "0.05" snd_pitchquality "1"
  • dsp_enhance_stereo is supposed to ‘enhance the stereo effect’ for a slight performance hit when set to “1”. In general, because digital effects that emulate stereo mixing are a bad idea as they to alter the apparent left-right positioning of sounds, and because it took extra CPU workload, I would set it to “0”. But in some limited testing I did before writing this, I couldn’t tell any appreciable difference between the two settings, so I suspect Valve has made them the same so that one does not offer a competitive advantage.
  • snd_mixahead is the length of the sound buffer in seconds, so 0.05 is 50ms (0.10, 100ms is the default). This is essentially the audio delay, so reducing it gives better synchronization. Not all hardware can handle this low of a buffer setting though, so if you hear any crackling or pops at 0.05, increase this setting by 0.01 until the crackling/pops disappear.

The volume settings are based on your personal preference. You can control the overall volume through whatever combination of CS:GO/Windows/driver settings you want, it doesn’t really matter.

snd_deathcamera_volume "0.0" snd_mapobjective_volume "0.0" snd_menumusic_volume "0.0" snd_musicvolume "0.5" snd_mute_losefocus "0" snd_roundend_volume "0.2" snd_roundstart_volume "0.0" snd_tensecondwarning_volume "0.2" volume "0.3" voice_scale "0.3" snd_mute_losefocus "0"
  • In general, the in-game music is a distraction. However, I find it useful to have snd_roundend_volume on very low, as it provides a very good estimate of whether or not you have time for a 5- or 10-second defuse. The timing varies depending on the music kit or lack thereof, so you have to get used to the timing of whatever you’re using. With my kit (MOLOTOV by Ki:Theory) for instance, I know that if the music has started, there’s not enough time for a full 10-second defuse, and a 5-second defuse needs to be started shortly after the music starts. Similarly, snd_tensecondwarning_volume can be a useful reminder that the round timer is ending, so it’s time to hide if you’re a CT or hunt kills if you’re a T and you can’t plant the bomb immediately. If you like having music on in the main menu, then change snd_menumusic_volume.
  • voice_scale is personal preference, and is a scale for how loud comms are compared to game sound with “0” being inaudible and “1” being full volume. I provided “0.3” as a guideline for what I prefer, though sometimes I have to adjust it higher in console if people’s mics are quiet, or lower if someone is particularly obnoxious/distracting or has an overly loud mic.
  • snd_mute_losefocus is whether or not you want to be able to still hear CS:GO’s sound while alt-tabbed. “0” is if you want to still be able to hear the sound, “1” if not.

The rest of my recommendations require more discussion. Rather than jump right into my recommended settings, I think it is more useful to first discuss other commonly recommended values to get an understanding of what these variables accomplish and why the popular settings suck. Note that windows_speaker_config indicates the output format, with “1” being Headphones and “4” being 2 Speakers. Previously, 2 Speakers had lower ambient noise volume than Headphones, but as far as I can tell the two are now identical. So I provide headphone settings as “1” and 2.0/2.1 speakers as “4”. Images of the graphs from snd_debug_panlaw “1” are shown for each situation. First, a situation representative of the default:

// NON-RECOMMENDED HEADPHONES SETTINGS windows_speaker_config "1" snd_front_headphone_position "90.0" snd_rear_headphone_position "90.0" snd_headphone_pan_exponent "1.0" snd_headphone_pan_radial_weight "0.0"

Image [4]

  • snd_front_headphone_position and snd_rear_headphone_position are the positioning of the ‘virtual speakers’, or more simply, the degrees over which left and right channel sounds will vary according to thesnd_debug_panlaw “1” graph (more on this later). “90.0” settings give the widest and most accurate static stereo positioning, with left and right channel levels spread over the entire 360 degrees around you. But this wide stereo image also means that facing towards a sound won’t help you pinpoint its location.
  • snd_headphone_pan_exponent is the relative volume of middle sound versus side sound. “1.0” means that sounds in the middle of your screen and sounds on the sides will be the same volume. While this gives the most accurate perception of sound distance regardless of which way you are facing, far away noises can be much more difficult to hear or locate.
  • snd_headphone_pan_radial_weight affects how the left-right volumes change. “0.0” is a linear change, while increasing this value makes the change more sigmoidal[5] . “0.0” gives the most accurate left-right positioning of sounds, but again means that facing towards a sound won’t help you pinpoint its location. Overall, this means that these settings have superior stereo accuracy for getting a general idea of a sound’s source, but poor precision for narrowing down the exact location.

Next, I’ll discuss the pros and cons of the most commonly recommended settings I see. While they certainly provide enhanced ability to pinpoint left-right positioning of sounds you are facing directly towards, they also completely ruin the stereo positioning and sound distance accuracy otherwise.

// NON-RECOMMENDED HEADPHONES SETTINGS windows_speaker_config "1" snd_front_headphone_position "45.0" snd_rear_headphone_position "135.0" snd_headphone_pan_exponent "2.0" snd_headphone_pan_radial_weight "2.0"

Image [6]

  • snd_headphone_pan_exponent “2.0” definitely makes sounds you are facing towards louder, as you can see from the image, so you hear faint, distant sounds in the middle much better. But it also makes everything sound much closer than it is when you’re facing it, which screws up your perception of how far away sounds are. For instance, if there are two AKs firing the same distance away from you, one directly in front of you and one to the left or right, the left/right one will sound like it’s much farther away. Furthermore, having the middle and side volume so drastically different can further throw off depth perception while turning. For instance, if you hear someone firing a Tec-9 and turn towards it, it will sound like they are getting closer to you even if they are standing still. It’s a common misconception that this setting affects the relative volume of front and rear sound, this setting has nothing to do with that. There’s no way to affect the volume of front versus rear sound without commands that require a cheat-enabled server.
  • snd_front_headphone_position and snd_rear_headphone_position have the same effect here (note the virtual speakers, as marked in yellow and cyan in the image, are all 45 degrees from horizontal). It’s another common misconception that this setting affects the relative volume of front and rear sound. More on this in my recommended headphones settings, but for these settings, the effect is that the panning curve from the image is only spread over a 90 degree cone directly in-front and directly behind you, giving a narrower stereo image. While this makes it easier to pinpoint sounds within these 90 degree cones, as left/right changes occur faster in these narrow cones, it also means that you have 90 degree ‘blind’ spots on your left and right (shaded grey in the image) where all sound in the left 90 degree cone will be 100% in the left channel and all sound in the right 90 degree cone will be 100% in the right channel.
  • snd_headphone_pan_radial_weight “2.0” makes the left/right sound change more sigmoidal and steeper within the 90 degree front/back cones, as you can see in the image. While this again makes it extremely easy to tell if something you are looking directly at is moving left or right (these settings are king for 1v1 situations where the opponent has to make sound), it also further degrades the accuracy of stereo positioning. The change in left/right volume is very rapid near the middle, so it makes the already narrow stereo image even narrower and non-linear. Consider trying to keep track of sounds from enemies at multiple locations around you. Only the sounds from near the center of your screen or directly behind it can be accurately located, while those even slightly off-center or to the sides will basically sound 100% panned left or right.

Now we can finally get to the headphones settings I do recommend. The point of my settings is that they are acompromise between the previous two extremes, imo providing the benefits of both while avoiding their shortcomings. The “xx.x” value depends on your resolution, with values given for common resolutions.

// RECOMMENDED HEADPHONES SETTINGS windows_speaker_config "1" snd_front_headphone_position "xx.x" snd_rear_headphone_position "90.0" snd_headphone_pan_exponent "1.2" snd_headphone_pan_radial_weight "0.5"

xx.x = 43.2 (5:4 resolution), 45.0 (4:3 resolution), 50.2 (16:10 resolution), or 53.2 (16:9 resolution)

Image – 16:9 resolution [7]

  • snd_headphone_pan_exponent “1.2” is a compromise between the default “1.0” and the oft-quoted “2.0”. You get the benefit of the latter with less of a drawback, in that distant middle sounds are louder, but not so much so that it makes it difficult to distinguish distances in the short- to medium-range.
  • snd_headphone_pan_radial_weight “0.5” is a compromise between the full-width accuracy of “0.0” and the ability to pinpoint sounds you are facing directly with “2.0”. While the effect is less drastic than with “2.0”, it also doesn’t have the negative effect of drastically degrading the stereo positional accuracy of sounds away from where you are directly staring. Furthermore, “0.5” gives a sharper final drop-off of the lower channel as it goes to 0 volume, which is a very noticeable effect as hearing sound 100% on one side is very distinctive (and kind of strange).
  • snd_front_headphone_position “xx.x”, with the image showing an example 16:9 resolution value of “53.2”, positions the virtual speakers right outside your horizontal field-of-view (which changes with resolution). Thus, sounds in the front will be panned across your field of view. If a sound is 100% right, you’ll know that the sound is coming from front-right just outside your FOV (shaded grey in the image) and turning towards it will help quickly pinpoint its location. The effective ‘blind’ spots from the front and rear are thus only a combined 73.6 degrees with the 16:9 resolution settings here, as compared to a combined 180.0 degrees in the second non-recommended settings.
  • snd_rear_headphone_position “90.0” has a few subtle advantages. The only real con is that the front and rear stereo widths are not equal. However, “90.0” allows you to completely eliminate ‘blind’ spots in the rear. Because you will want to turn and face sounds that you are trying to pinpoint, the wider stereo image is preferable in the rear and also helps distinguish front versus rear sound in many situations due to their different stereo width. Consider the situation where you are hearing sounds from several different locations at once. With some experience using these settings, it becomes intuitive from turning even just a slight amount to distinguish where the sounds are coming from left-to-right and front versus rear. This is because the front sounds will pan left/right much quicker than the rear sounds.

Finally, if you’re like me, you use both speakers and headphones for CS:GO. Headphones for comp, but often times speakers for warming up and DM because it’s annoying and more fatiguing on the ears to always use headphones. The purpose of these settings is to make the speakers sound as similar as possible to the headphones settings I provided. In-game, trying to switch between windows_speaker_config “4” and “1” doesn’t seem to work, and you instead have to change the between 2 Speakers and Headphones in the CS:GO audio settings menu to get the sound engine to restart. Similar to “xx.x”, “yy.y” is dependent on your resolution and also the angle of your speakers from center-line, theta [8] , which you can estimate or use measure and use the formula in the picture.

// RECOMMENDED 2.0/2.1 SPEAKERS SETTINGS windows_speaker_config "4" snd_front_stereo_speaker_position "yy.y" snd_rear_stereo_speaker_position "90.0" snd_stereo_speaker_pan_exponent "1.4" snd_stereo_speaker_pan_radial_weight "0.5"

yy.y = (xx.x / 90 – 1) * theta [RES ignored duplicate link][9] + 90

xx.x = 43.2 (5:4 resolution), 45.0 (4:3 resolution), 50.2 (16:10 resolution), or 53.2 (16:9 resolution)

Image – 16:9 resolution, speakers 60 degrees off center [10]

  • snd_front_stereo_speaker_position as shown in the example image is 65.5, as calculated with the example 16:9 resolution and example 60 degree angle of speakers from center-line. Since speakers are normally arranged at a shallower angle than the 90 degree position of headphones, the front virtual speaker position is adjusted proportionally in an attempt to give the same apparent stereo width as with the recommended headphones settings.
  • snd_stereo_speaker_pan_exponent is increased slightly versus headphones settings because of complications with human perception and cancellation that occurs in the middle when the sound waves from the two speakers interact (which doesn’t happen with headphones obviously).

[edit: tl;dr intentionally not provided because there are several settings that depend on your other game settings or personal preference, so if you want to try out my recommendations, you need to go through and figure out which ones you want to use. Also this wasn’t really meant to be a list of optimal settings. It was intended more as information that hopefully helps explain what the more convoluted sound variables do and recommendations as to what I personally use, as a starting point for you to experiment in game with them and figure out settings to best suit your personal preferences, play style, hardware, etc.]

Source and credit: VolsAndJezuz at Reddit