THAC0 (IPA: /ˈθækoʊ/) is an acronym constructed from the phrase "To Hit Armor Class 0" which comes from the role-playing game Dungeons & Dragons.[1] THAC0 was first introduced in the Dungeon Master's Guide of the 1st edition of Advanced Dungeon & Dragons(1979) as a convenient way to calculate the entries of the combat tables that were used to determine the success of a physical attack. In the 2nd edition of Advanced Dungeons & Dragons THAC0 replaced the combat tables completely and therefore most people associate THAC0 closely with this edition of the AD&D game.

THAC0 is a measure of a character's or monster's ability to successfully attack an opponent in physical combat. Each creature has an armor class that determines how hard it is to hit that creature, with lower numbers representing higher difficulty. For example, a normal, unarmored human has an armor class of 10 while a heavily armored fighter might have an armor class of 1 or 0.

The success of a character's or monster's attack is determined by rolling a 20-sided die. If the number obtained equals or exceeds the attacker's THAC0, the attacker has successfully hit a target with armor class 0. If the target has an armor class different from zero, the target's armor class is subtracted from the attacker's THAC0, and that number is what the attacker's roll must equal or exceed.

A simple formula for quickly calculating the success or failure of an attack roll using THAC0 is:

THAC0 - (roll on a d20) = AC Hit.

For example, if the attacker has a THAC0 of 17 and rolls a 15 on his or her To Hit roll, the attacker has succeeded in hitting if the target's armor class is 2 or higher (2 or worse).

High THAC0s signify that an attacker is poor at hitting targets, while low THAC0s indicate the attacker can hit targets with ease. There is nothing particularly significant about an armor class of 0 other than the fact that it simplifies calculations.

The idea that a creature is harder to hit when its armor class goes down was felt by some players to be counterintuitive. Furthermore it produces mathematical inconsistencies in the game system with magical armours as a beneficial magical modifier is always denoted with a "+" although it has actually to be subtracted from the AC. For example an ordinary chain mail armour provides a character with an AC of 5 whereas a magically enhanced version with a +3 modifier would improve the AC to 2 and not 8 as one might expect.

In the 3rd edition of D&D (2000), the armor class system was changed and THAC0 is no longer used in the following D&D editions. THAC0 is still sometimes unofficially used with the HackMaster RPG, which is derived from 1st and 2nd edition AD&D.

While some players mourned the loss of the THAC0 system in the change to 3rd Edition D&D, many invited the new system, which replaces THAC0 with a bonus to the attack roll called base attack bonus (in short BAB) and features an armor class rating that increases as it becomes harder to hit a creature. However, mathematically both systems are equivalent and the THAC0 and AC values of AD&D can be easily transformed to the AC and base attack bonus values of the later edition.

  • BAB = 20 - THAC0
  • THAC0 = 20 - BAB
  • 3rd Edition Armor Class = 20 - 2nd Edition Armor Class
  • 2nd Edition Armor Class = 20 - 3rd Edition Armor Class


  1. Cook, David. Advanced Dungeons & Dragons 2nd edition Player's Handbook. TSR, Inc . 1989. ISBN 0-88038-716-5. pg 89.