“item_template” table

The item_template table holds information on every item that exists in the game.

Table structure

Field Type Null Key Default Extra
entry mediumint(8) unsigned NO PRI 0  
class tinyint(3) unsigned NO MUL 0  
subclass tinyint(3) unsigned NO   0  
name varchar(255) NO      
displayid mediumint(8) unsigned NO   0  
Quality tinyint(3) unsigned NO   0  
Flags int(10) unsigned NO   0  
BuyCount tinyint(3) unsigned NO   1  
BuyPrice int(10) unsigned NO   0  
SellPrice int(10) unsigned NO   0  
InventoryType tinyint(3) unsigned NO   0  
AllowableClass mediumint(9) NO   -1  
AllowableRace mediumint(9) NO   -1  
ItemLevel tinyint(3) unsigned NO   0  
RequiredLevel tinyint(3) unsigned NO   0  
RequiredSkill smallint(5) unsigned NO   0  
RequiredSkillRank smallint(5) unsigned NO   0  
requiredspell mediumint(8) unsigned NO   0  
requiredhonorrank mediumint(8) unsigned NO   0  
RequiredCityRank mediumint(8) unsigned NO   0  
RequiredReputationFaction smallint(5) unsigned NO   0  
RequiredReputationRank smallint(5) unsigned NO   0  
maxcount smallint(5) unsigned NO   0  
stackable smallint(5) unsigned NO   1  
ContainerSlots tinyint(3) unsigned NO   0  
stat_type1 tinyint(3) unsigned NO   0  
stat_value1 smallint(6) NO   0  
stat_type2 tinyint(3) unsigned NO   0  
stat_value2 smallint(6) NO   0  
stat_type3 tinyint(3) unsigned NO   0  
stat_value3 smallint(6) NO   0  
stat_type4 tinyint(3) unsigned NO   0  
stat_value4 smallint(6) NO   0  
stat_type5 tinyint(3) unsigned NO   0  
stat_value5 smallint(6) NO   0  
stat_type6 tinyint(3) unsigned NO   0  
stat_value6 smallint(6) NO   0  
stat_type7 tinyint(3) unsigned NO   0  
stat_value7 smallint(6) NO   0  
stat_type8 tinyint(3) unsigned NO   0  
stat_value8 smallint(6) NO   0  
stat_type9 tinyint(3) unsigned NO   0  
stat_value9 smallint(6) NO   0  
stat_type10 tinyint(3) unsigned NO   0  
stat_value10 smallint(6) NO   0  
dmg_min1 float NO   0  
dmg_max1 float NO   0  
dmg_type1 tinyint(3) unsigned NO   0  
dmg_min2 float NO   0  
dmg_max2 float NO   0  
dmg_type2 tinyint(3) unsigned NO   0  
dmg_min3 float NO   0  
dmg_max3 float NO   0  
dmg_type3 tinyint(3) unsigned NO   0  
dmg_min4 float NO   0  
dmg_max4 float NO   0  
dmg_type4 tinyint(3) unsigned NO   0  
dmg_min5 float NO   0  
dmg_max5 float NO   0  
dmg_type5 tinyint(3) unsigned NO   0  
armor smallint(5) unsigned NO   0  
holy_res tinyint(3) unsigned NO   0  
fire_res tinyint(3) unsigned NO   0  
nature_res tinyint(3) unsigned NO   0  
frost_res tinyint(3) unsigned NO   0  
shadow_res tinyint(3) unsigned NO   0  
arcane_res tinyint(3) unsigned NO   0  
delay smallint(5) unsigned NO   1000  
ammo_type tinyint(3) unsigned NO   0  
RangedModRange float NO   0  
spellid_1 mediumint(8) unsigned NO   0  
spelltrigger_1 tinyint(3) unsigned NO   0  
spellcharges_1 tinyint(4) NO   0  
spellppmRate_1 float NO   0  
spellcooldown_1 int(11) NO   -1  
spellcategory_1 smallint(5) unsigned NO   0  
spellcategorycooldown_1 int(11) NO   -1  
spellid_2 mediumint(8) unsigned NO   0  
spelltrigger_2 tinyint(3) unsigned NO   0  
spellcharges_2 tinyint(4) NO   0  
spellppmRate_2 float NO   0  
spellcooldown_2 int(11) NO   -1  
spellcategory_2 smallint(5) unsigned NO   0  
spellcategorycooldown_2 int(11) NO   -1  
spellid_3 mediumint(8) unsigned NO   0  
spelltrigger_3 tinyint(3) unsigned NO   0  
spellcharges_3 tinyint(4) NO   0  
spellppmRate_3 float NO   0  
spellcooldown_3 int(11) NO   -1  
spellcategory_3 smallint(5) unsigned NO   0  
spellcategorycooldown_3 int(11) NO   -1  
spellid_4 mediumint(8) unsigned NO   0  
spelltrigger_4 tinyint(3) unsigned NO   0  
spellcharges_4 tinyint(4) NO   0  
spellppmRate_4 float NO   0  
spellcooldown_4 int(11) NO   -1  
spellcategory_4 smallint(5) unsigned NO   0  
spellcategorycooldown_4 int(11) NO   -1  
spellid_5 mediumint(8) unsigned NO   0  
spelltrigger_5 tinyint(3) unsigned NO   0  
spellcharges_5 tinyint(4) NO   0  
spellppmRate_5 float NO   0  
spellcooldown_5 int(11) NO   -1  
spellcategory_5 smallint(5) unsigned NO   0  
spellcategorycooldown_5 int(11) NO   -1  
bonding tinyint(3) unsigned NO   0  
description varchar(255) NO      
PageText mediumint(8) unsigned NO   0  
LanguageID tinyint(3) unsigned NO   0  
PageMaterial tinyint(3) unsigned NO   0  
startquest mediumint(8) unsigned NO   0  
lockid mediumint(8) unsigned NO   0  
Material tinyint(4) NO   0  
sheath tinyint(3) unsigned NO   0  
RandomProperty mediumint(8) unsigned NO   0  
block mediumint(8) unsigned NO   0  
itemset mediumint(8) unsigned NO   0  
MaxDurability smallint(5) unsigned NO   0  
area mediumint(8) unsigned NO   0  
Map smallint(6) NO   0  
BagFamily mediumint(9) NO   0  
ScriptName varchar(64) NO      
DisenchantID mediumint(8) unsigned NO   0  
FoodType tinyint(3) unsigned NO   0  
minMoneyLoot int(10) unsigned NO   0  
maxMoneyLoot int(10) unsigned NO   0  
Duration int(11) unsigned NO   0  
ExtraFlags tinyint(1) unsigned NO   0  



The unique identifier of the item template entry.


The class of the item template.

ID Name ID Name
0 Consumable 7 Trade Goods
1 Container 9 Recipe
2 Weapon 11 Quiver
4 Armor 12 Quest
5 Reagent 13 Key
6 Projectile 15 Miscellaneous


The table only contains active classes, obsolete classes have been stripped.


The subclass of the item template.

Class ID Subclass ID Subclass
0 0 Consumable
1 0 Container, Bag
1 1 Container, Soul bag
1 2 Container, Herb bag
1 3 Container, Enchanting bag
1 4 Container, Engineering bag
2 0 Weapon, Axe 1H
2 1 Weapon, Axe 2H
2 2 Weapon, Bow
2 3 Weapon, Gun
2 4 Weapon, Mace 1H
2 5 Weapon, Mace 2H
2 6 Weapon, Polearm
2 7 Weapon, Sword 1H
2 8 Weapon, Sword 2H
2 10 Weapon, Staff
2 13 Weapon, Fist weapon
2 14 Weapon, Miscellaneous
2 15 Weapon, Dagger
2 16 Weapon, Thrown
2 17 Weapon, Spear
2 18 Weapon, Crossbow
2 19 Weapon, Wand
2 20 Weapon, Fishing pole
4 0 Armor, Miscellaneous
4 1 Armor, Cloth
4 2 Armor, Leather
4 3 Armor, Mail
4 4 Armor, Plate
4 6 Armor, Shield
4 7 Armor, Libram
4 8 Armor, Idol
4 9 Armor, Totem
5 0 Reagent
6 2 Projectile, Arrow
6 3 Projectile, Bullet
7 0 Trade goods, Trade goods
7 1 Trade goods, Parts
7 2 Trade goods, Explosives
7 3 Trade goods, Devices
9 0 Recipe, Book
9 1 Recipe, Leatherworking
9 2 Recipe, Tailoring
9 3 Recipe, Engineering
9 4 Recipe, Blacksmithing
9 5 Recipe, Cooking
9 6 Recipe, Alchemy
9 7 Recipe, First aid
9 8 Recipe, Enchanting
9 9 Recipe, Fishing
11 2 Quiver
11 3 Ammo pouch
12 0 Quest
13 0 Key
13 1 Lockpick
15 0 Miscellaneous, Junk


The table only contains active subclasses, obsolete classes have been stripped.


The item’s name that will be displayed.


A display model identifier. The value has to match with a model identifier defined in ItemDisplayInfo.dbc.


The quality of the item.

ID Color Quality
0 Grey Poor
1 White Common
2 Green Uncommon
3 Blue Rare
4 Purple Epic
5 Orange Legendary
6 Red Artifact


This is a bit-mask field, describing the item. Multiple flags may be combined. The following table lists available flags.

Value Name Description  
1 ITEM_FLAG_RESERVED_0 Reserved for later usage  
2 ITEM_FLAG_CONJURED Items created by spells having a SPELL_EFFECT_CREATE_ITEM  
4 ITEM_FLAG_LOOTABLE Used on items of any class != 1 (containers), allows for looting an item  
8 ITEM_FLAG_WRAPPED Reserved for later usage (3.x and newer)  
16 ITEM_FLAG_DEPRECATED Item is deprecated and can not be equipped or used  
32 ITEM_FLAG_INDESTRUCTIBLE used for totem. Item can not be destroyed, except by using spell (item can be reagent for spell and then allowed)  
64 ITEM_FLAG_USABLE Items that can be used via right-click  
128 ITEM_FLAG_NO_EQUIP_COOLDOWN Items without an equip cooldown (and usually a USABLE flag) 256 | ITEMFLAG_RESERVED_1 Reserved for later usage
512 ITEM_FLAG_WRAPPER used or not used wrapper  
1024 ITEM_FLAG_STACKABLE Items which can be stacked  
2048 ITEM_FLAG_PARTY_LOOT Items which can be looted by all party member  
4096 ITEM_FLAG_RESERVED_2 Reserved for later usage  
8192 ITEM_FLAG_CHARTER Guild charter  
16384 ITEM_FLAG_LETTER Readable letter items  
32768 ITEM_FLAG_PVP_REWARD Items rewarded for PvP ranks and/or honor standing  
65536 ITEM_FLAG_UNK16 Seems to be unique items, or items which only allow one stack in bags  
131072 ITEM_FLAG_UNK17 Items related to world events  


If an item is sold in stacks, the holds the number of items in a stack.


If an item has limited supplies, the item is refresh to this count.


The item’s price in copper.


The price for which a vendor will buy an item in copper. If an item can not be sold to vendors, this value is set to o.


Defines if and in which slot an item can be equipped. The following table shows all allowed values.

Value Slot name Value Slot name
0 Not equipable 15 Ranged
1 Head 16 Cloak
2 Neck 17 2H weapon
3 Shoulders 18 Bag
4 Body 19 Tabard
5 Chest 20 Robe
6 Waist 21 Weapon, main hand
7 Legs 22 Weapon, offhand
8 Feet 23 Holdable
9 Wrists 24 Ammo
10 Hands 25 Thrown
11 Finger 26 Ranged, right
12 Trinket 27 Quiver
13 Weapon 28 Relic
14 Shield    


A bit-mask corresponding to class that should be able to use the item. The value has to match with classes defined in ChrClasses.dbc.


Set to -1 to allow usage by all classes.


A bit-mask corresponding to races that should be able to use the item. The value has to match with races defined in ChrRaces.dbc.


Set to -1 to allow usage by all races.


The item’s base level.


The character level require to use the item.


If the item requires a skill to use, this references the skill’s entry in SkillLine.dbc.


If RequiredSkill is set, this has to be set to the skill points required to use the item


If the item requires a spell to use, this references the spells entry in Spell.dbc.


The honor system rank required to use an item. The following table contains allowed values.

Value Alliance rank Horde rank Officer rank
0 Unranked   No
5 Private Scout No
6 Corporal Grunt No
7 Sergeant Sergeant No
8 Master Sergeant Senior Sergeant No
9 Sergeant Major First Sergeant No
10 Knight Stone Guard Yes
11 Knight-Lieutenant Blood Guard Yes
12 Knight-Captain Legionnaire Yes
13 Knight-Champion Centurion Yes
14 Lieutenant-Commander Champion Yes
15 Commander Lieutenant General Yes
16 Marshal General Yes
17 Field Marshal Warlord Yes
18 Grand Marshal High Warlord Yes


DEPRECATED: the city rank required. City ranks did not make it into WoW.


A faction for which reputation is required to use the item. The value has to match with a faction identifier defined in Faction.dbc.


If a faction is set in RequiredReputationFaction this value is set to a reputation rank. The following table lists valid ranks.

Value Rank
0 Hated
1 Hostile
2 Unfriendly
3 Neutral
4 Friendly
5 Honored
6 Revered
7 Exalted


The maximum amount of copies of the item which a character may have. Setting this to 0 will allow an infinite amount.


Defines how many copies of an item can be stacked. By default this is one item.


Defines the amount of slots for items of type container or ammunition container.


An item modifier to apply for this item. The following list shows available modifiers.

Value Description
0 No stats
1 Health
3 Agility
4 Strength
5 Intellect
6 Spirit
7 Stamina


The value to add for the matching modifier.


The minimum damage caused by the item.


The maximum damage caused by the item.


The type of damage the matching dmg_min/dmg_max fields cause. The following table lists available spell schools for damage types.

Value Description
0 Physical
1 Holy
2 Fire
3 Nature
4 Frost
5 Shadow
6 Arcane


The armor value of the item.


Holy resistance.


Fire resistance.


Nature resistance.


Frost resistance.


Shadow resistance.


Arcane resistance.


The delay in milliseconds between successive hits for the item.


The ammunition consumed by an item of class 2 and subclass 2, 3 and 16 aka bows, guns, and thrown weapons.

The value usually equals the subclass value, where

  • 2 means arrows,
  • 3 means bullets,
  • 4 means thrown.



If the item can cast or trigger a spell, this references the spell’s entry in Spell.dbc.


The type of trigger for the matching spellid entry. The following tables shows valid trigger types

Value Description
0 On use
1 On equip
2 Chance on hit
4 Soulstone
5 On use without delay


The amount of charges for the spell referenced in the matching spellid entry. If

  • set to 0, the item can be used infinitely,
  • set to a value > 0, the item will will stay unusable in the characters inventory once charges are depleted.
  • set to a value < 0, the item will will be removed from the characters inventory once charges are depleted.


If the matching spelltrigger field is of type 2, this controls the proc per minute rate for a spell.


The cooldown in milliseconds for the matching spell. If set to -1, the default cooldown from the Spell.dbc table will be used.


A spell category identifier. The value has to match with a category identifier defined in SpellCategory.dbc.


The cooldown in milliseconds for the matching spell category. If set to -1, the default cooldown from the Spell.dbc table will be used.


Defines if and how and item will be bound to a character. The following table shows available variations for item bonding.

Value Description
0 No binding
1 Bind on pickup
2 Bind on equip
3 Bind on use
4 Quest item


A short - usually one sentence - description of the item. Mostly flavor texts.


If the item should be readable, e.g. for letters, this references a page text identifier in the “page_text” table table.


If an item should have text in a specific language this references a language identifier from Languages.dbc.


The material to be used as background for items with page texts set. This references a page text material identifier from PageTextMaterial.dbc.


If right-clicking the item should start a quest, this references the quest identifier from the “quest_template” table table.


If the item is a key, this references the lock mechanism’s identifier in the Lock.dbc table. The key will then only work on locks that require the referenced lock mechanism.


The material that the item is made of. The value here affects the sound the item uses when moved in bags. Use -1 for consumable items like food, reagents, etc. This references a material identifier from Material.dbc.

The following table contains valid material identifiers.

Value Material
1 Metal
2 Wood
3 Liquid
4 Jewelry
5 Chain
6 Plate
7 Cloth
8 Leather


The value of this field controls how characters will show or hide items worn, e.g. for weapons. The following table shows a list of supported sheath types.

Value Type Description
0 None No sheathing
1 Main hand On the back, pointing down
2 Off hand On the back, pointing up
3 Large weapon left  
4 Large weapon right  
5 Hip weapon left To the side
6 Hip weapon right To the side
7 Shield On the back, in the middle


If an item has a chance to be created with a random enchantment, this references an entry from the “item_enchantment_template” table table.


If an item is a shield, this field holds the block chance.


If an item is part of an item set, this references the item set’s identifier in the ItemSet.dbc table.


The maximum durability for an item.


If an item is only usable in a specific area, this reference a zone identifier in the AreaTable.dbc table.


If an item is only usable on a specific map, this reference a map identifier in the Map.dbc table.


If an item is a bag, this holds a bit-mask corresponding to bag families to which the bag belongs. The value has to match with bag families defined in ItemBagFamily.dbc.


Multiple bag families may be combined.


To assign a script from the script library to the item_template, set this string to the script’s exported name.


If an item can be disenchanted, this references an entry in the “disenchant_loot_template” table table.


If an item is usable as pet food, this table references an entry in the ItemPetFood.dbc table.


If an item is a container holding money, this field specifies the minimum amount of money in copper possibly looted.


If an item is a container holding money, this field specifies the maximum amount of money in copper possibly looted.


Items may have a duration set until the get removed from a character’s inventory.

  • if the value is > 0, the item will disappear after the set time in seconds, measured in game time,
  • if the value is < 0, the item will disappear after the set time in seconds, measured in real time.


Items set to be deleted in real time, require ExtraFlags set accordingly.


With these flags it is possible to set rare conditions on an item. The following table shows valid conditions.

Value Description
0 Nothing special
1 Item is not consumable
2 Item will be deleted in real time, when Duration is set