Doom Cheat Codes
Cheat code reference for classic Doom.
These are the original 1993/1994 cheat codes found in the original PC Doom games, typed during gameplay (no console). Most major source ports retain the classic codes, although behavior and additional cheats can vary by port. Doom II and Final Doom use the same codes with a few differences of their own — IDCLIP, two-digit map numbers and the MAP30 exception — covered on the Doom II cheat codes page.
Every code
| Cheat | Effect | Code | Category |
|---|---|---|---|
| IDDQD | God mode: sets health to 100% and makes the player immune to normal damage. In the original release it does not prevent death by the Icon of Sin on Doom II MAP30. | iddqd | Doom / Doom II |
| IDKFA | Gives all weapons, maximum ammunition, 200% armor and all keys. Health is not changed. | idkfa | Doom / Doom II |
| IDFA | Gives all weapons, maximum ammunition, and 200% megaarmor, but does not give keys. | idfa | Doom / Doom II |
| IDCLIP | Toggles no-clipping in Doom II and Final Doom: walk through walls and other solid obstacles. In Doom and The Ultimate Doom the code is IDSPISPOPD; most source ports accept both. | idclip | Doom II / Final Doom |
| IDSPISPOPD | Noclip (Doom 1 only — replaced by IDCLIP in Doom II). | idspispopd | Doom |
| IDCLEV## | Warps to a level. In Doom/The Ultimate Doom, x is the episode and y is the map (e.g. IDCLEV21 = E2M1). In Doom II, the two digits specify the map number (e.g. IDCLEV23 = MAP23). | idclevXY | Doom / Doom II |
| IDDT (on map) | First use reveals the entire map; the second adds markers for things; the third restores the normal automap. | iddt | Doom / Doom II |
| IDMYPOS | Displays current X, Y coordinates and camera angle in hexadecimal | idmypos | Doom / Doom II |
| IDBEHOLD | Power-up menu. Follow with V (invulnerability), S (berserk), I (partial invisibility), R (radiation suit), A (Computer Area Map), or L (light amplification). | idbeholdX | Doom / Doom II |
| IDMUS## | Changes the music. The number corresponds to an episode/map in Doom and The Ultimate Doom, or to a MAP number in Doom II and Final Doom. | idmusXY | Doom / Doom II |
| IDCHOPPERS | Gives the chainsaw and grants one tic of invulnerability. It also displays the chainsaw cheat message. | idchoppers | Doom / Doom II |
| FHHALL | Kills every monster in the level except Lost Souls (a Pain Elemental killed this way still releases its Lost Souls); the message reads "BY REQUEST...". Doom95 only: the DOS versions and source ports do not accept it. | fhhall | Doom95 |
| FHSHH | Monsters do not notice the player unless they are hurt or hear a shot; the message reads "be vewy vewy quiet...", and "Achoo!" when switched off. Doom95 only: the DOS versions and source ports do not accept it. | fhshh | Doom95 |
Doom’s cheat system is deliberately simple: type a code while playing and the game responds immediately. The classic codes cover everything from god mode and full weapons to level warps, no-clipping, map information, and music selection. Most of the original PC cheats work across Doom, The Ultimate Doom, Doom II, and Final Doom according to the engine version they were designed for, while modern source ports may add their own commands or console equivalents.
DoomWiki documents IDSPISPOPD as the no-clipping code for Doom and The Ultimate Doom, while IDCLIP is its Doom II equivalent. IDKFA supplies the complete weapon, ammunition, armor, and key loadout; IDFA is the same without keys.
How IDBEHOLD works
The letter at the end determines the power-up:
| Code | Power up |
IDBEHOLDR | Radiation suit |
IDBEHOLDI | Partial invisibility |
IDBEHOLDV | Invulnerability |
IDBEHOLDA | Computer area map |
IDBEHOLDL | Light amplification visor |
IDBEHOLDS | Berserk |
Typing the same power-up code again normally toggles that power-up off, except for the computer area map.
IDCLEV level warp table
In Doom and The Ultimate Doom, IDCLEVxy uses x for the episode and y for the map (e.g. IDCLEV21 = E2M1). In Doom II, TNT: Evilution, and The Plutonia Experiment, the two digits directly specify the MAP number (e.g. IDCLEV23 = MAP23)
Doom / The Ultimate Doom
| Code | Level |
IDCLEV11 | E1M1 — Hangar |
IDCLEV12 | E1M2 — Nuclear Plant |
IDCLEV13 | E1M3 — Toxin Refinery |
IDCLEV14 | E1M4 — Command Control |
IDCLEV15 | E1M5 — Phobos Lab |
IDCLEV16 | E1M6 — Central Processing |
IDCLEV17 | E1M7 — Computer Station |
IDCLEV18 | E1M8 — Phobos Anomaly |
IDCLEV19 | E1M9 — Military Base |
IDCLEV21 – IDCLEV29 | E2M1–E2M9 |
IDCLEV31 – IDCLEV39 | E3M1–E3M9 |
IDCLEV41 – IDCLEV49 | E4M1–E4M9 — The Ultimate Doom only |
For example, IDCLEV19 takes you to E1M9, while IDCLEV41 takes you to E4M1 in The Ultimate Doom. The fourth episode does not exist in the original shareware/commercial Doom release.
Doom II / Final Doom
| Code | Level |
IDCLEV01 – IDCLEV09 | MAP01–MAP09 |
IDCLEV10 – IDCLEV19 | MAP10–MAP19 |
IDCLEV20 – IDCLEV29 | MAP20–MAP29 |
IDCLEV30 – IDCLEV32 | MAP30–MAP32 |
Original Doom II executable: the IDCLEV handler accepts map numbers through 34, although the standard Doom II IWAD contains maps only through MAP32. MAP33 and MAP34 can therefore be addressed by the cheat when supplied by a PWAD or other compatible content.
IDMUS music table
IDMUS## follows the same numbering convention: in Doom and The Ultimate Doom, the digits identify an episode and map; in Doom II, they identify the MAP## slot. The code selects the music associated with that level, although some numbers correspond to tracks that are not ordinary level music.
Doom / The Ultimate Doom
| Code | Level |
IDMUS11 | E1M1 — At Doom’s Gate |
IDMUS12 | E1M2 — The Imp’s Song |
IDMUS13 | E1M3 — Dark Halls |
IDMUS14 | E1M4 — Kitchen Ace (And Taking Names) |
IDMUS15 | E1M5 — Suspense |
IDMUS16 | E1M6 — On the Hunt |
IDMUS17 | E1M7 — Demons on the Prey |
IDMUS18 | E1M8 — Sign of Evil |
IDMUS19 | E1M9 — Hiding the Secrets |
IDMUS21 – IDMUS29 | E2M1–E2M9 music |
IDMUS31 – IDMUS39 | E3M1–E3M9 music |
IDMUS40 | Plays the E3M9 music |
IDMUS41 – IDMUS49 | E4M1–E4M9 — selections; many reuse music from earlier episodes |
The Ultimate Doom’s fourth episode did not introduce a new soundtrack; its maps reuse music from the first three episodes.
Doom II / Final Doom
| Code | Map |
IDMUS01 – IDMUS32 | MAP01-MAP32 music |
IDMUS33 | Story text music |
IDMUS34 | Title screen music |
IDMUS35 | Intermission music |
The music does not correspond one-to-one with unique tracks: Doom II reuses several songs across multiple maps. For example, D_RUNNIN is used by MAP01 and MAP15, while D_STALKS is used by MAP02, with alternate track lumps used for some repeated songs.
Note: IDMUS00 is not a normal Doom II level selection. In the original engine it attempts to play a nonexistent D_INTROA MIDI and can crash unless an external PWAD supplies a lump with that name.
Cheats on Nightmare!
In the original Doom engine, cheat codes are disabled on Nightmare!, with two important exceptions: IDDT and IDCLEV still work. This is not universal across later ports or modern re-releases; DoomWiki specifically notes that the rule does not apply to the Doom Classic Unity port or Doom + Doom II.
| Code | Original Nightmare! |
IDDT | Works |
IDCLEV | Works |
| All other cheats | Disabled |
That means you can still use IDDT to inspect the map or IDCLEV to jump to another level on classic Nightmare!, but codes such as IDDQD and IDKFA will not activate.
Console equivalents in ZDoom-based ports
The following commands are for ZDoom-family ports such as GZDoom. They are functional equivalents, not universal commands shared by every Doom source port.
| Classic cheat code | ZDoom/GZDoom equivalent |
IDDQD | god or iddqd |
IDKFA | give all |
IDFA | give weapons + give ammo + give armor |
IDCLIP / IDSPISPOPD | noclip |
IDMUS## | idmus or changemus |
IDCLEV## | map or changemap |
IDDT | No direct one-command equivalent |
IDBEHOLDR | give radiation suit |
IDBEHOLDI | give partial invisibility |
IDBEHOLDV | give invulnerability |
IDBEHOLDA | give computer map |
IDBEHOLDL | give light amplification visor |
IDBEHOLDS | give berserk |
IDCHOPPERS | give chainsaw |
Additional ZDoom cheats
ZDoom-family ports also provide cheats with no direct classic Doom equivalent, such as fly for flight and notarget for suppressing monster targeting.
Cheat codes after Doom
Doom did not invent the cheat code, but typing IDDQD into a running game made it a habit for a generation of PC players, and the idea outlived the engine. The Grand Theft Auto series is the clearest case: every mainline entry since Grand Theft Auto III has shipped with single-player cheats, first as controller button sequences and, from Grand Theft Auto IV on, as numbers dialled on the in-game phone. The PC version of Grand Theft Auto V went back to something Doom players would recognise: open a console, type a word, press enter.
Whether that tradition continues is an open question. Rockstar has not published a single code for Grand Theft Auto VI, and GTA Playbook’s page on whether GTA 6 will have cheat codes explains why every list circulating before release is invented.