Want a cleaner screen, better target visibility, or to match your favorite pro’s setup? This guide covers every way to edit your CS2 viewmodel—through the in-game menus, console commands, smart binds, autoexec, and even a Workshop tool—plus tested ranges, presets, and troubleshooting. Updated for September 2025.
TL;DR: Quick Commands Cheat-Sheet
# Core viewmodel controls
viewmodel_fov 60 // up to 68 (higher = smaller gun, more space)
viewmodel_offset_x 0 // -2.5 to 2.5 (left/right)
viewmodel_offset_y 1 // -2 to 2 (near/far)
viewmodel_offset_z -1 // -2 to 2 (down/up)
# Presets (also available in Settings)
viewmodel_presetpos 1 // Desktop
viewmodel_presetpos 2 // Couch
viewmodel_presetpos 3 // Classic
# Handedness & toggle
cl_righthand 1 // 1 = right hand, 0 = left hand
bind h “switchhands” // default “H” toggles hands
Tip: Use 68 FOV + small/low offsets for maximum screen real estate (great for riflers). Use lower FOV if you want the weapon bigger/closer.
Method 1 — Change Viewmodel in Settings (No console needed)
- Settings → Game → Item
- Preferred Viewmodel Handedness: Right or Left
- Viewmodel Position: Desktop / Classic / Couch (these set X/Y/Z presets)
- Preferred Viewmodel Handedness: Right or Left
- Settings → Keyboard/Mouse → Weapon Keys
- Switch Viewmodel Left/Right Hand → bind a key (default is H).
- Switch Viewmodel Left/Right Hand → bind a key (default is H).
- Hop into an offline match and fine-tune until it feels natural.
When to use presets:
- Desktop (Preset 1): Balanced for typical desk distance.
- Classic (Preset 3): Old-school CS feel.
- Couch (Preset 2): For players who sit farther from the screen.
Further read: What is Subtick in CS2?
Method 2 — Change Viewmodel with Console Commands
Enable the console in Settings → Game → Enable Developer Console, then press ~.
The 4 commands you actually need
- viewmodel_fov — how far your hands/gun appear from the camera.
Default: 60. Max: 68 (popular: 62–68). - viewmodel_offset_x — horizontal position. Range: -2.5 to 2.5.
- viewmodel_offset_y — forward/back. Range: -2 to 2.
- viewmodel_offset_z — vertical (up/down). Range: -2 to 2.
Recommended starting points (copy/paste)
Minimal & clear (great all-rounder):
viewmodel_fov 68; viewmodel_offset_x 2; viewmodel_offset_y 0; viewmodel_offset_z -2
Centered classic (transitioning from default):
viewmodel_fov 60; viewmodel_offset_x 0; viewmodel_offset_y 1; viewmodel_offset_z -1
Left-hand main (for left-eye dominant players):
cl_righthand 0; viewmodel_fov 64; viewmodel_offset_x -1.5; viewmodel_offset_y 1; viewmodel_offset_z -1.5
Camera FOV vs Viewmodel FOV:
Changing true camera FOV (e.g., fov_cs_debug) requires sv_cheats 1 and is for private/offline servers only. For matchmaking, adjust viewmodel_fov instead.
Further read: What is Rubberbanding in CS2?
Handedness: Right ↔ Left (and why it matters)
- Default toggle key: H
- Console toggle: bind h “switchhands”
- Force right/left: cl_righthand 1 (right), cl_righthand 0 (left)
Left-eye dominant or peeking certain angles? Swapping hands can reduce model obstruction on tight corners.
Want step-by-step with screenshots? See our dedicated guide: How to change to left hand in CS2.
Make It Stick: Binds & Autoexec
1) Useful binds
Toggle between two full viewmodel styles:
alias vm_clear “viewmodel_fov 68; viewmodel_offset_x 2; viewmodel_offset_y 0; viewmodel_offset_z -2”
alias vm_classic “viewmodel_fov 60; viewmodel_offset_x 0; viewmodel_offset_y 1; viewmodel_offset_z -1”
alias vm_toggle “vm_state1”
alias vm_state1 “vm_clear; alias vm_toggle vm_state2; echo Viewmodel: CLEAR”
alias vm_state2 “vm_classic; alias vm_toggle vm_state1; echo Viewmodel: CLASSIC”
bind v “vm_toggle”
bind h “switchhands” // quick left/right swap
2) Save to autoexec.cfg
Create autoexec.cfg in your CS2 cfg folder (Windows default):
…\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\
- Put your commands (including binds) in autoexec.cfg.
- In Steam → CS2 → Properties → General → Launch Options, add:
- +exec autoexec.cfg
Now your viewmodel loads every time you launch the game.
Workshop Helper: crashz’ Viewmodel Generator (CS2)
Prefer sliders over commands? Subscribe to crashz’ Viewmodel Generator on the Steam Workshop, load it from Play → Workshop Maps, and tweak:
- Live FOV / X / Y / Z previews
- Left/right side swap
- Presets & autoexec output (copy/paste to your config)
This is the fastest way to “see before you save” and grab clean command snippets.
Best Practices (what pros actually optimize for)
- Maximize target visibility. A higher viewmodel_fov (e.g., 66–68) + lower z often frees central and lower-right screen space.
- Consistency > novelty. Pick one style and keep it across weapons. Your aim and crosshair focus benefit from muscle memory.
- Match your eye dominance. Left-eye dominant players often prefer left hand on certain angles; bind a quick toggle.
- Don’t chase myths. “Bob” and old animation tweaks are locked down now—focus on offsets/FOV and clean binds instead.
Want to explore pro preferences? Check our player setups:
- NiKo CS2 settings • ZywOo CS2 settings • s1mple CS2 settings
Also see: How to change crosshair in CS2
Troubleshooting
- “Unknown command” when using fov_cs_debug
You’re trying to change camera FOV without sv_cheats 1. Use viewmodel_fov for MM servers. - Settings reset on restart
Add your commands to autoexec.cfg and set +exec autoexec.cfg in launch options. - Bobbing/animation tweaks not working
Some legacy bob/shift commands were removed/locked in CS2. Focus on offsets/FOV—those still work. - Left/Right toggle not responding
Re-bind Switch Viewmodel Left/Right Hand in Settings → Keyboard/Mouse and check for conflicts.
FAQ
What’s the best CS2 viewmodel?
There’s no universal “best.” Start with viewmodel_fov 66–68, x around 1.5–2, y 0–1, z -2 to -1, then refine after a few matches.
What’s the max viewmodel FOV?
68. Most players land between 62–68 for space without making the weapon too tiny.
How do I reset to default?
Use a preset: viewmodel_presetpos 1 (Desktop) or set: viewmodel_fov 60; viewmodel_offset_x 1; viewmodel_offset_y 1; viewmodel_offset_z -1.
Can I change camera FOV on official servers?
No. That requires sv_cheats 1 and is only for private/offline servers. Stick to viewmodel_fov online.