Doom cheat codes


Doom has many cheat codes. To use a cheat code in PC versions of the game, one simply types the code while playing (this includes automap mode). After the last letter of a code has been entered, a message of acknowledgment will appear at the top of the screen. The status bar, player face, and in-game view may also change, depending on the effects of the code.

In the Doom Classic version of the game for iPhone, touch the screen with four fingers at any time to bring up an on-screen keyboard.

Cheat codes are disabled on the "Nightmare!" skill level, except for the iddt and idclev cheats.

Depending on the source port used, cheat codes may be different on non-QWERTY keyboards. For example, in France, idkfa may be idkfq, because of the AZERTY keyboard layout commonly used there. This is due to the fact that Doom's keyboard interrupt handling code reads raw scan codes from the hardware, which are not subject to any form of localization.

All Doom engine versions[edit]

Code Effects Displayed message
idbehold# When # is one of the letters below, this gives the player the chosen power-up:

If you already have one of those power-ups in any way; same power-up will be toggled off (with the exception of the Computer area map).

When "idbehold" typed: "inVuln, Str, Inviso, Rad, Allmap, or Lite-amp"
When final letter is typed: "Power-up Toggled"
idchoppers[note 1] Gives the chainsaw. "... doesn't suck - GM"
idclip No clipping in Doom II (see idspispopd below for technical details). "No Clipping Mode ON"
"No Clipping Mode OFF"
idclev##[note 2] Warps to level E#M# or MAP##. This may have certain side effects (see IDCLEV idiosyncrasies). "Changing Level..."[note 3]
iddqd[note 4] Sets health to 100% and makes player immune to any damage source dealing less than 1000 damage ("god mode", "degreelessness"). If the player is currently standing on or subsequently enters a damaging floor of type 11, the invulnerability effect is nullified. The invulnerable player can still be killed by a telefrag, a spawn cube in MAP30, or any modified enemy projectiles with extremely high damage ratings (such as from a DeHackEd modification).[note 5] "Degreelessness Mode On"
"Degreelessness Mode Off"
iddt[note 6] This cheat reveals information if used while in automap mode, showing additional data the second time it is used:
  • First use: full automap (reveals unexplored areas, including invisible linedefs not shown by the computer area map powerup).
  • Second use: full automap with things.
  • Third use: the automap is restored to normal.
idfa[note 7] This is the same as idkfa below, but excludes the keys. "Ammo (no keys) Added"
idkfa[note 8] Grants full megaarmor protection (200%), all weapons, full ammo, and all the keys. "Very Happy Ammo Added"
idmus##[note 9] Plays music from level MAP## in Doom II, or E#M# in The Ultimate Doom. Using this cheat code will make the player change weapons in hand if the numbers pressed correspond to available weapons. If both digits are 0; Doom II will crash trying to play a non-existent midi file called d_introa, unless such named midi is provided by an external PWAD. Valid selection: "Music Change"
Invalid selection: "IMPOSSIBLE SELECTION"
idmypos[note 10] Shows the player's coordinates and compass direction. These numbers are hexadecimal representations of Doom's internal coordinate format, and can therefore be difficult to read; an online IDMYPOS converter can be used to decode them. "ang=[angle];x,y=([x],[y])"
idspispopd[note 11] No clipping (the player can walk through walls, monsters, and obstacles, climb high ledges instantly, and pass through items and across all tagged linedefs with no effect. This works only in Doom and The Ultimate Doom (see above for the equivalent idclip for Doom II). "No Clipping Mode ON"
"No Clipping Mode OFF"


  1. Prints the message "... Doesn't suck - GM". Taylor's explanation for this message: "Choppers is a State Programming Contest game that a friend of mine named Guy Maor (GM) helped write. He's a little defensive of it 'cause it wasn't *quite* finished on the release day. Was a cool two-player Rescue Raiders rip-off. He was drunk and talked to me one night, and I thought I'd put it in." This cheat code was also apparently meant to make the player invulnerable, but due to a typo the invulnerability only lasts one tic.
  2. CLEV stands for 'change level'; it could also be interpereted as "see (C) level."
  3. This message appears in the source code, but is not actually displayed in the original DOS executables. It is, however, displayed in some source ports.
  4. Taylor and two fellow hackers made up an informal fraternity called Delta-Q-Delta (hence the DQD) during their college days. The "Q" stands for "quit", and represents the grade members should strive to receive in their classes.
  5. According to the function P_DamageMobj in p_inter.c, "invulnerability" only protects the player from attacks doing less than 1000 points of damage. There is no form of attack in the game that does more damage than this number, except one: a telefrag, which inflicts 10000 points on the target. This is why a player in God mode can still be killed by telefragging. This also means that DeHackEd can be used to circumvent god mode by creating incredibly powerful weapons; some examples of this effect can be found in The Sky May Be.
  6. DT stands for 'Dave Taylor'. The code can be used in cooperative multiplayer games by first pressing T and then typing the code while holding ALT.
  7. FA stands for 'full ammo'. This cheat code is not present in versions prior to 1.666.
  8. According to John Romero in an interview in The Official Doom Survivor's Strategies & Secrets, KFA stands for 'killer fucking arsenal'. Frequent fan interpretations include 'kick fucking ass' and 'keys and full ammo'.
  9. MUS stands for 'music'. Certain selections may call for invalid music lumps (see IDMUS requests invalid music). In The Ultimate Doom, idmus40 will play the same music as idmus39 (D_E3M9) and idmus41 to idmus45 will play music from the intermission, main, and end screens. In Doom II, the non-level tracks are idmus33 to idmus35.
  10. MYPOS stands for 'my position'.
  11. SPISPOPD stands for 'S'mashing 'P'umpkins 'I'nto 'S'mall 'P'iles 'O'f 'P'utrid 'D'ebris. See more in SPISPOPD article.


The prefix FH in Doom95 cheat codes stands for the initials of Fred Hommel, the programmer who created the codes.

Code Effects Displayed message
fhhall1 Kills all monsters in the level, excepting lost souls. (Pain elementals killed in this manner will still generate extra lost souls as normal). "BY REQUEST..."
fhshh2 Monsters do not notice players unless they are hurt or hear a shot. "be vewy vewy quiet..."
  1. HALL refers to Jason Hall, CEO of Monolith Productions, who requested that particular cheat (hence the "BY REQUEST..." message that displays when the code is executed). The actual damage done to each monster is 10,000 hit points.
  2. Upon typing the fhshh cheat the message "be vewy vewy quiet..." is displayed. This is a reference to Elmer Fudd's catchphrase "Be vewy vewy quiet, I'm hunting wabbits!", in the beginning of a Looney Tunes or Merrie Melodies animated short. The message "Achoo!" appears when the cheat is disabled (the joke being that you sneezed, and the monsters have heard you).

See also[edit]