CS2 viewmodel generator
Move the sliders and watch the gun move. Every slider stops at the range CS2 enforces, so nothing you copy gets clamped when you paste it in.
Presets
Preset 1 in the game, and the default values of the four viewmodel cvars.
Your valuesDesktopApproximation, not a CS2 render
Viewmodel commands
viewmodel_fov 60 viewmodel_offset_x 1 viewmodel_offset_y 1 viewmodel_offset_z -1 cl_prefer_lefthanded 0
Paste the one-line version into the console to try it. Put the separate lines in your autoexec.cfg to keep them.
What each viewmodel setting does
The viewmodel is the weapon and hands you see in first person. Four numbers place it, and the game limits each one. viewmodel_fov runs 60 to 68 and defaults to 60. It is separate from your own field of view, and a higher value makes the gun look smaller and pushes it toward the edge of the screen. The three offsets move it: viewmodel_offset_x goes -2 to 2.5 from left to right, viewmodel_offset_y goes -2 to 2 and sets how far forward the gun sits, and viewmodel_offset_z goes -2 to 2 from down to up. The defaults are 1, 1 and -1.
Those limits are why the sliders stop where they do. If you type a number past the edge into the console, CS2 clamps it silently, and a config copied from a video can end up looking different from what the video showed.
The preview is an approximation
The picture is a simple model of a rifle, placed with the same numbers and drawn with perspective, so you can see which way each slider pushes the gun and how a larger FOV shrinks it. It is not a render of CS2: the real weapon models, hands and screen shape differ, and so does how far each unit moves the gun. The dashed outline is the Desktop position, so you always have something to compare with. Check the final result in the game.
Viewmodel commands and their limits
| Command | What it does | Default | Range | |
|---|---|---|---|---|
| viewmodel_fov | Field of view of the gun, separate from your own FOV. | 60 | 60 to 68 | |
| viewmodel_offset_x | Moves the gun left (negative) or right (positive). | 1 | -2 to 2.5 | |
| viewmodel_offset_y | Moves the gun toward or away from you along your line of sight. | 1 | -2 to 2 | |
| viewmodel_offset_z | Moves the gun down (negative) or up (positive). | -1 | -2 to 2 | |
| viewmodel_presetpos | Applies a built-in position. 1 is Desktop, 2 is Classic. | 1 | any | |
| cl_prefer_lefthanded | Holds weapons in your left hand. | false | any |
Defaults and ranges are read from CS2's own variable list (files dated 28 October 2026).
Presets and what they change
| Preset | FOV | X | Y | Z | Notes |
|---|---|---|---|---|---|
| Desktop | 60 | 1 | 1 | -1 | Preset 1 in the game, and the default values of the four viewmodel cvars. |
| Classic | 68 | 2.5 | 0 | -1.5 | Preset 2 in the game. Values as widely published for the Classic preset; the game's own list names the preset but not its numbers. |
| Max FOV | 68 | 1 | 1 | -1 | The widest viewmodel_fov the game allows (68), with the Desktop offsets. |
Desktop matches the defaults in the game's variable list, and Max FOV uses the highest viewmodel_fov it allows. The Classic numbers are the ones widely published for that preset, so treat them as a starting point. None of these are a list of any player's settings.
The step from Desktop to Classic raises viewmodel_fov from 60 to 68, moves the gun 1.5 units to the right (x from 1 to 2.5), changes y from 1 to 0 and lowers it half a unit (z from -1 to -1.5). Click each preset in the builder and watch the dashed outline to see what that does.
Viewmodel commands that no longer exist
Older guides still list these. None are in CS2's command list, so typing them returns an unknown-command error.
| Old command | What it was | Use instead |
|---|---|---|
| cl_righthand | Left or right hand | cl_prefer_lefthanded |
| cl_bobamt_lat | Sideways viewmodel bob | Nothing. The bob cvars are gone |
| cl_bobamt_vert | Vertical viewmodel bob | Nothing. The bob cvars are gone |
| cl_bob_lower_amt | Weapon lower bob | Nothing. The bob cvars are gone |
| cl_bobcycle | Bob cycle length | Nothing. The bob cvars are gone |
| cl_usenewbob | Switches viewmodel bob style | Nothing. The bob cvars are gone |
| viewmodel_recoil | Viewmodel recoil amount | Nothing. The cvar is gone |
How to find a viewmodel that suits you
- Start a practice match against bots, or any offline map, so you can change settings without a round running.
- Open the console, paste the one-line version from the builder and press Enter. The gun moves at once.
- Change one number at a time. Look at what the gun hides: the corner of the screen where an enemy usually appears, and the area under your crosshair.
- Check several weapons. A rifle, a pistol and the AWP sit differently, and the knife and grenades show your hands more.
- When it feels right, add the lines to your autoexec.cfg so they load every time. The CS2 autoexec generator includes the viewmodel lines, and the CS2 launch options page covers adding +exec autoexec so the file runs.
Left-handed play uses cl_prefer_lefthanded, which replaced the old cl_righthand command. The builder mirrors the preview when you switch it on.
Settings that go with a viewmodel
A viewmodel only changes what is on screen. It does not touch your sensitivity or how your aim feels, so tune those separately: check your eDPI, or bring a sensitivity over from another game with the CS2 sensitivity converter. The crosshair sits in the middle of the same screen, and a gun that sits low and to the right leaves it clear, so it is worth choosing both together. Build one with the CS2 crosshair generator, and use the CS2 bind generator for weapon and utility keys.
FAQ
What are the CS2 viewmodel commands?
viewmodel_fov, viewmodel_offset_x, viewmodel_offset_y and viewmodel_offset_z set the field of view and position of the weapon on screen, viewmodel_presetpos applies a built-in position, and cl_prefer_lefthanded switches hands.
What are the limits for viewmodel_fov and the offsets?
The game enforces them. viewmodel_fov runs 60 to 68, viewmodel_offset_x -2 to 2.5, and viewmodel_offset_y and viewmodel_offset_z each -2 to 2. A value outside the range is clamped to the nearest limit, so the generator stops at the same edges.
What do viewmodel_presetpos 1 and 2 do?
The game lists two presets: 1 is Desktop and 2 is Classic. They set the position for you. If you also use your own offsets, put those lines after any viewmodel_presetpos line in a config so yours are the last word.
Where do I put the commands?
Paste the one-line version into the console to try it. To keep it, add the lines to your autoexec.cfg, which our autoexec generator can build for you.
Do the CS:GO bob commands still work?
No. cl_bobamt_lat, cl_bobamt_vert, cl_bob_lower_amt, cl_bobcycle, cl_usenewbob and viewmodel_recoil are not in CS2's command list, and cl_righthand has been replaced by cl_prefer_lefthanded. Configs that include them are carrying dead lines.
How do I reset my viewmodel to the default?
Run viewmodel_presetpos 1 in the console, which applies the Desktop position. Or set the four values yourself: viewmodel_fov 60, viewmodel_offset_x 1, viewmodel_offset_y 1 and viewmodel_offset_z -1. Those are the defaults in the game's own variable list.
Is there a viewmodel that is best for competitive play?
There is no single best setting. Players pick the largest FOV and an offset that keeps the gun out of the way of what they need to see. The presets here are starting points; adjust them in a practice map until the gun no longer blocks your aim.