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 Cheat Codes
| Cheat | Effect | Code | Category |
|---|---|---|---|
| IDDQD | God mode: sets health to 100% and makes the player immune to normal damage. | iddqd | Doom / Doom II |
| IDKFA | Gives 100% health, all weapons, maximum ammo, 200% armor, and all keys. | 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 and The Ultimate Doom, allowing the player to pass through walls and other normally solid obstacles. Doom II uses IDCLIP instead. | 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 |
| IDDQD (Doom II MAP30) | Note: IDDQD does NOT prevent death-by-Icon-of-Sin in the original release. | — | Caveat |
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 |
– | 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.