Dota 2 Cheat Codes and Practice Commands

Important: Dota 2 does not allow cheating in online matchmaking or ranked games. Using hacks or exploits in real games will get your account banned permanently, and rightly so.

However, Dota 2 does have a built-in cheat system for custom lobbies and practice mode. These commands let you test heroes, practice mechanics, experiment with builds, and learn the game in a pressure-free environment. They only work in lobbies where cheats are enabled by the host.

This page covers the most useful console commands and cheat codes for practice and learning purposes. Use them to improve your Dota 2 skills legitimately.

How to Enable Cheats and Open the Console

Before you can use cheats, you need to enable them and make sure the developer console is accessible.

**Step 1: Enable the Developer Console** 1. Open Dota 2 2. Go to Settings (gear icon) 3. Go to the Options tab 4. Under "Advanced Options," check "Enable Developer Console" 5. The console is typically bound to the backtick/tilde key (`) or the F10 key

**Step 2: Create a Custom Lobby with Cheats** 1. Click "Play Dota" in the main menu 2. Select "Create Custom Lobby" 3. In the lobby settings, check the box that says "Enable Cheats" 4. Start the game 5. Once in game, open the console and you can use cheat commands

**Step 3: Basic Console Usage** - Press the console key (usually ` or ~) to open and close the console - Type commands and press Enter to execute them - Some commands start with a dash (e.g., -lvlup), others are standard console variables - You can use the up/down arrow keys to browse previous commands - Type "help" in the console for a list of commands

**Note:** Cheat commands only work in lobbies where cheats are enabled. They do not work in normal matchmaking, ranked, or other official game modes.

Basic Cheat Commands for Practice

These are the most commonly used cheat commands for practicing and testing:

**Gold and Economy:** - `-gold X` — Gives you X amount of gold (e.g., `-gold 10000` gives 10,000 gold) - `-item item_name` — Gives your hero a specific item (e.g., `-item blink` gives Blink Dagger) - `-givebots item_name` — Gives an item to all bots - `-sellitems` — Sells all your items (useful for testing different builds quickly)

**Level and Abilities:** - `-lvlup X` — Levels up your hero X times (e.g., `-lvlup 25` gives max level) - `-levelbots X` — Levels up all bots to level X - `-abilitylvlup ability_name` — Levels up a specific ability - `-maxskills` — Maxes all your abilities (not all heroes support this) - `-respawn` — Respawns your hero instantly if you died

**Health and Cooldown:** - `-refresh` — Fully restores health, mana, and resets all cooldowns instantly - `-heal` — Fully restores health and mana - `-togglepause` — Pauses or unpauses the game

**WTF Mode:** - `-wtf` — Enables "What The F***" mode — no ability cooldowns and no mana cost. Great for testing ability interactions and having fun. - `-unwtf` — Disables WTF mode

**Time and Game State:** - `-time X` — Sets the game time to X minutes (e.g., `-time 20` sets time to 20:00) - `-day` — Forces daytime - `-night` — Forces nighttime - `-killwards` — Removes all wards on the map - `-allvision` — Gives you vision of both sides of the map (like spectator mode) - `-normalvision` — Returns to normal vision

Spawning Units and Creeps

These commands let you spawn creeps, heroes, and other units for testing purposes.

**Creep and Unit Spawning:** - `-spawncreeps` — Instantly spawns lane creeps in all lanes - `-spawnneutrals` — Spawns neutral creeps in all jungle camps - `-spawnroshan` — Spawns Roshan (if he is dead) - `-killcreeps` — Kills all lane creeps on the map - `-killneutrals` — Kills all neutral creeps on the map - `-killroshan` — Kills Roshan instantly

**Hero Spawning:** - `-createhero hero_name` — Creates a hero unit (e.g., `-createhero invoker enemy` creates an enemy Invoker) - You can add `enemy` or `friendly` to control which team the hero is on - Useful for testing matchups and ability interactions - Examples: `-createhero axe enemy`, `-createhero lina friendly`

**Illusion Commands:** - `-illusions` — Creates 5 illusions of your hero (for testing illusion damage, etc.)

**Practice Tips with Spawning:** - Spawn enemy heroes to practice your combo on a target dummy - Spawn lane creeps to practice last hitting - Spawn Roshan to practice Roshan killing speed with different items - Spawn multiple illusions to test AoE damage

The spawn commands are some of the most useful for practice because they let you set up specific scenarios.

Advanced Console Commands

These are more advanced commands for testing, debugging, and customization.

**Camera and View:** - `dota_camera_distance X` — Changes the camera distance (zoom level). Default is about 1200. Higher numbers give more vision. - `dota_camera_accelerate X` — Changes camera acceleration - `dota_always_show_player_names` — Always shows player names above heroes

**HUD and UI:** - `dota_hud_netgraph` — Shows performance/net graph (ping, FPS, etc.) - `cl_showfps 1` — Shows FPS counter - `dota_minimap_hero_size X` — Adjusts hero icon size on minimap

**Performance:** - `fps_max X` — Caps FPS at X - `mat_vsync 1/0` — Turns vsync on/off - `dota_cheap_water 1` — Reduces water quality for better performance

**Game Rules:** - `sv_cheats 1` — Enables cheats (same as the lobby setting) - `mp_gamemode X` — Changes game mode (0 = none, 1 = all pick, etc.) - `dota_all_pick` or `-ap` — All Pick mode - `dota_captains_mode` or `-cm` — Captains Mode

**Bot Commands:** - `-bots` — Adds bots to the game - `-fill_with_bots` — Fills empty slots with bots - `dota_bot_give_level X` — Gives all bots X levels - `dota_bot_give_gold X` — Gives all bots X gold

**Note on Console Variables:** Some commands are console variables (cvars) that you set with a value (e.g., `fps_max 144`). Others are command-line style commands with a dash prefix (e.g., `-refresh`). Both work in the Dota 2 console.

Practice Drills Using Cheats

Here are some effective practice drills you can do using cheat commands to improve your skills:

**Drill 1: Last Hit Practice** - Create a custom lobby as your favorite carry hero - Set the game to mid lane only (or go to the safe lane) - Do not buy any items - Just practice last hitting for 10 minutes - Aim for 80+ CS at 10 minutes - Do this daily for a week and your last hitting will improve dramatically

**Drill 2: Combo Practice** - Pick your favorite hero - Give yourself max level and core items using `-lvlup 25` and `-gold 20000` - Spawn an enemy hero target with `-createhero axe enemy` - Practice your ability combos - Use `-refresh` to reset cooldown - Time yourself — how fast can you do the full combo? - Practice until the combo is muscle memory

**Drill 3: Item Build Testing** - Give yourself lots of gold (`-gold 50000`) - Try out different item builds - Spawn Roshan and see how fast you can kill him with different builds - Test which build gives the highest DPS - Try counter items against different enemy heroes

**Drill 4: WTF Mode Practice** - Enable WTF mode with `-wtf` - Test ability interactions - See what your hero can do with unlimited mana and no cooldowns - Fun for learning ability mechanics - Also useful for testing how abilities interact with each other

**Drill 5: Map Knowledge** - Enable allvision with `-allvision` - Fly around the map and learn ward spots, camp locations, etc. - Use free camera to get a bird's eye view of the map - Learn the locations of secret shops, Roshan pit, outposts, etc.

**Important:** Cheat practice is great for building mechanical skill, but it is not a substitute for real games. Use practice mode to drill specific skills, then apply them in real matches.

Autoexec.cfg and Useful Launch Options

For more advanced customization, you can create an autoexec.cfg file that runs commands every time Dota 2 starts.

**What is autoexec.cfg?** It is a configuration file in your Dota 2 game folder that automatically executes console commands when the game starts. You can use it to set up your preferred settings, keybinds, and performance options.

**Common Autoexec Commands:** - FPS and performance settings - Custom keybinds - Camera settings - Net graph settings - Quick buy bindings - Mini-map customization

**How to Create One:** 1. Navigate to your Dota 2 cfg folder 2. Create a new text file named `autoexec.cfg` 3. Add your commands (one per line) 4. Save the file 5. Dota 2 will automatically execute it on launch

**Launch Options:** You can also set launch options in Steam: - `-console` — Enables the console (if the in-game option does not work) - `-novid` — Skips the intro video - `-high` — Sets Dota 2 to high CPU priority - `-dx11` or `-dx12` — Forces DirectX 11 or 12 - `+fps_max X` — Sets FPS cap on launch

Note: Modifying game files and using console commands is allowed by Valve as long as you are only using them for practice mode and quality of life improvements. Using third-party programs or modifications that give you an advantage in real games is bannable.

Important: No Cheating in Real Games

Let us be very clear:

**Cheating in real Dota 2 matches is not allowed and will get you banned.**

This includes: - Using third-party hack programs (map hacks, skill shot assists, etc.) - Using modified game files that give an unfair advantage - Exploiting bugs for in-game advantage - Boosting accounts or buying/selling accounts - Using macros or scripts that automate gameplay

Valve actively detects and bans cheaters. Bans are permanent and non-negotiable. It is not worth risking your account and your inventory over a few MMR.

**What IS Allowed:** - Practice mode / custom lobby cheat commands (what this page is about) - Autoexec.cfg for quality of life and performance settings - The in-game developer console - Watching replays and analyzing your games - Third-party sites that provide statistics (DOTABuff, etc.) — these are fine because they use public data

Practice mode exists so you can improve legitimately. Use these tools to become a better player, not to cheat.

Questions players ask

Are there cheat codes in Dota 2?

Dota 2 does not have cheat codes for normal online matchmaking — that would be cheating and result in account bans. However, in custom lobbies with cheats enabled, you can use console commands to test heroes, practice mechanics, and experiment with builds. These only work in your own private lobbies.

How do I enable cheats in Dota 2?

To enable cheats, create a custom lobby, go to lobby settings, and check the "Enable Cheats" box. Once in the game, open the console (usually bound to the backtick/tilde key) and type the command -enable_cheats or sv_cheats 1. You can then use various cheat commands.

What are the best Dota 2 console commands?

Useful practice commands include: -lvlup (level up), -gold (give gold), -refresh (reset cooldowns and HP/mana), -wtf (no cooldowns and no mana cost), -spawnneutrals (spawn jungle creeps), and -allvision (see both sides of the map). These are great for practicing and testing.

How do I practice in Dota 2 with cheats?

Create a custom lobby with cheats enabled and no other players. Use gold and level commands to test item builds and ability interactions. Use -refresh to reset cooldowns. Use -wtf mode to spam abilities. Practice last hitting, combo timing, and mechanics without pressure.