WoW Forever race tier list
MythicSim Forever fork 46b9b91 · Spec tier list →
Choose a class and spec to rank its eligible races by simulated DPS. Each comparison keeps the preset gear, talents and rotation fixed.
- Classes
- 9
- Preset builds
- 29
- Iterations per race
- 10,000
- Snapshot
Choose your class
Warrior specialization
Only specs with a finished race comparison can be picked. Each uses one fixed preset build.
Fury Warrior
9 eligible races · 14 / 37 / 0 build · 1.37% between the top and bottom race
Level 60 character against a level 63 raid-boss target · 120 ± 15 seconds · Empty trinket slots
Each race wields its own weapon type, so its weapon specialization counts and the class's weapon rules follow, unless keeping the build's weapons does better: Sword +2% crit, Axe +1% crit, Mace +1% crit. This build wields Mace and Sword. The no-spec figure keeps those weapons and withholds the bonus.
Tiers use the unrounded gap from the highest mean DPS: S ≤ 1% · A > 1% to 2% · B > 2% to 4% · C > 4%. Bands only describe this preset. Empty tiers are hidden.
S tier
Within 1%- 1

Human
Top result · Racials +1.77% · +14.0 DPS · Sword spec +2% crit
800.7DPS
± 1.1
786.7 no spec
Spirit and Sword Specialization (+2% critical strike) are included, ranked with the build's weapons swapped for swords, where the class can use them.
- 2

Orc
0.20% behind · 1.6 DPS · Racials +1.57% · +12.3 DPS · Axe spec +1% crit
799.1DPS
± 1.1
792.0 no spec
Blood Fury is +10% melee attack power, ranged attack power and spell power for 15 seconds, off the global cooldown. Axe Specialization (+1% critical strike) is ranked with the build's weapons swapped for axes, where the class can use them. The fixed preset controls cooldown timing. Uncertainty overlaps the top result
- 3

Troll
0.21% behind · 1.7 DPS · Racials +1.40% · +11.0 DPS
799.0DPS
± 1.1
Berserking is a flat 10% attack and casting speed for 10 seconds. Beast damage is inactive on this target. Uncertainty overlaps the top result
- 4

Undead
0.35% behind · 2.8 DPS · Racials +1.61% · +12.6 DPS
797.9DPS
± 1.2
Touch of the Grave uses a 10% proc chance for Priests, Mages and Warlocks, 5% for other classes, a one-second cooldown, and 5% of max health damage. Whether it can crit remains unverified.
- 5

Tauren
0.59% behind · 4.7 DPS · Racials +1.14% · +9.0 DPS
795.9DPS
± 1.1
Hit and health are included. This DPS comparison does not value survivability or control.
- 6

Gnome
0.68% behind · 5.4 DPS · Racials +1.36% · +10.7 DPS
795.3DPS
± 1.1
Eureka! follows client 70009: 15 seconds and three charges, +10% damage on abilities but not white swings, and 10% off their cost for every class. Expansive Mind's 5% more maximum rage, energy or mana is included.
- 7

Dwarf
0.96% behind · 7.7 DPS · Racials +0.94% · +7.4 DPS · Mace spec +1% crit
793.0DPS
± 1.1
785.7 no spec
Mace Specialization (+1% critical strike) is ranked with the build's weapons swapped for maces, where the class can use them. Beast damage is inactive on this target. Defensive utility is not ranked.
- 8

Skyborne
0.99% behind · 7.9 DPS · Racials +0.79% · +6.2 DPS
792.8DPS
± 1.1
High Order (Alliance) and Windshaper (Horde) share the same racials. Wind Blessed attack and cast speed are included. Read Ley Line regeneration is not ranked; elemental damage is inactive on this target.
A tier
Over 1% to 2%- 9

Night Elf
1.37% behind · 11.0 DPS · Racials +0.37% · +2.9 DPS
789.7DPS
± 1.1
Elune's Light is +10% critical strike for 15 seconds on a three-minute cooldown. Shadowmeld utility is not ranked.
± is an approximate 95% confidence interval for mean DPS from sim variation. Where ranges overlap, the order between those races isn't settled. The interval doesn't cover missing or wrong game mechanics. Bars start at zero.
Race comparisons by class and spec
All 29 preset builds, each with the same settings. Specs without a simmed preset aren't ranked.
Warrior
- Fury Warrior races9 eligible
- Arms Warrior races9 eligible
- Protection Warrior races9 eligible
- Fury-prot (Experimental) Warrior races9 eligible
Paladin
- Protection Paladin races3 eligible
- Ret-prot (Experimental) Paladin races3 eligible
- Holy-prot (Experimental) Paladin races3 eligible
- Shockadin (Experimental) Paladin races3 eligible
- Retribution Paladin races3 eligible
Hunter
- Beast Mastery Hunter races7 eligible
- Marksmanship Hunter races7 eligible
- Survival Hunter races7 eligible
Rogue
- Assassination Rogue races8 eligible
- Combat Rogue races8 eligible
- Subtlety Rogue races8 eligible
Priest
- Shadow Priest races6 eligible
- Smite (Experimental) Priest races6 eligible
Shaman
- Elemental Shaman races5 eligible
- Enhancement Shaman races5 eligible
Mage
- Arcane Mage races6 eligible
- Fire Mage races6 eligible
- Frost Mage races6 eligible
- Frostfire (Experimental) Mage races6 eligible
Warlock
- Affliction Warlock races5 eligible
- Demonology Warlock races5 eligible
- Destruction Warlock races5 eligible
Druid
- Balance Druid races3 eligible
- Feral (Cat) Druid races3 eligible
- Feral (Bear) Druid races3 eligible
How the race comparison works
A race can lead on this preset and fall behind with different gear, fight length or rotation. Utility, PvP and healing are outside this comparison. Creature-specific bonuses are inactive on the neutral target.
Every race uses the same curated-dungeon-crafted-2026-09-23 equipment, 14/37/0 talents, warrior rotation, professions, buffs, consumes, encounter and random seed. Only the race changes. Rotations are the current presets and aren't tuned per race. Racial cooldowns are used as those presets and the engine's cooldown logic decide.
Every race uses Recklessness in the last 15 seconds of the fight.
Equipment also stays the same across factions. Some presets have faction-restricted items, so the gear is a shared stat template. Not every race could equip all of it.
Racials shows what each race's racial effects are worth on this preset: the same character on the same seed with every racial turned off, keeping that race's base stats. It measures the racials alone, so it can differ from the gap between races, which also includes base stats.
Eligible race and class combinations come from the pinned Forever engine. Skyborne's faction halves, High Order (Alliance) and Windshaper (Horde), share the same racials, so they show as one card wherever both can play the class. Each spec entry is one preset build.
This page is a precomputed snapshot and may use a different engine build from the spec tier list. Its DPS numbers only line up with each other, so compare races within this table.
Racial implementation and assumptions·Eligible race source
Exact build and simulation settings
- Engine commit
- 46b9b9188f871cb453d3cd456d9824d011d038c3
- Generated (UTC)
- 2026-10-01T09:59:13Z
- Preset race / talents
- Human · 20315003-250500035151310051
- Iterations / random seed
- 10,000 / 1179603525
Full baseline engine request below. Each variant replaces raid.parties[0].players[0].race with its engine race enum; the weapon swap, the no-spec figure and the no-racials figure also set the player's weaponTypeOverride, disableWeaponSpecialization and disableRacials options. Includes exact item IDs, enchants, buffs and rotation. Request SHA-256: 3c2c723db1f2778370bbe8776d94fbe221f7057c247ad191e3e30d707eb4016e.
{
"encounter": {
"duration": 120,
"durationVariation": 15,
"executeProportion20": 0.2,
"executeProportion25": 0.25,
"executeProportion35": 0.35,
"executeProportion45": 0.45,
"executeProportion90": 0.9,
"targets": [
{
"canCrush": true,
"damageSpread": 0.3333,
"id": 213336,
"level": 63,
"minBaseDamage": 3000,
"name": "Level 60",
"parryHaste": true,
"stats": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
805,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3731,
0,
127393,
0,
0,
0,
0,
0,
0,
0,
0
],
"swingSpeed": 2
}
]
},
"raid": {
"buffs": {
"giftOfTheWild": true
},
"debuffs": {
"curseOfRecklessness": true,
"exposeArmor": true,
"faerieFire": true,
"giftOfArthas": true,
"sunderArmor": true
},
"parties": [
{
"buffs": {
"battleShout": "TristateEffectRegular",
"leaderOfThePack": true,
"strengthOfEarthTotem": true,
"windfuryTotem": true
},
"players": [
{
"buffs": {
"greaterBlessingOfKings": true,
"greaterBlessingOfMight": true
},
"class": "ClassWarrior",
"consumables": {
"alcoholId": 21151,
"attackPowerBuffId": 12460,
"battleElixirId": 13452,
"defenseElixirId": 13445,
"dragonbreathChili": true,
"foodId": 20452,
"goblinSapper": true,
"guardianElixirId": 3825,
"mhImbueId": 18262,
"ohImbueId": 18262,
"potId": 13442,
"potions": [
13442
],
"strengthBuffId": 12451,
"zanzaId": 8410
},
"dpsWarrior": {
"options": {
"classOptions": {
"defaultStance": "WarriorStanceBerserker",
"queueDelay": 250,
"useBattleShout": true
}
}
},
"equipment": {
"items": [
{
"enchant": 1506,
"id": 12640
},
{
"id": 11933
},
{
"id": 12927
},
{
"enchant": 849,
"id": 13340
},
{
"enchant": 1891,
"id": 11726
},
{
"enchant": 1885,
"id": 12936
},
{
"enchant": 927,
"id": 18722
},
{
"id": 22232
},
{
"enchant": 1506,
"id": 15065
},
{
"enchant": 1887,
"id": 14616
},
{
"id": 18500
},
{
"id": 17713
},
{
"enchant": 1900,
"id": 11684
},
{
"enchant": 1900,
"id": 18484
},
{
"id": 18323
}
]
},
"name": "warrior",
"profession1": "Engineering",
"race": "RaceHuman",
"reactionTimeMs": 100,
"rotation": {
"prepullActions": [
{
"action": {
"castSpell": {
"spellId": {
"itemId": 20130
}
}
},
"doAtValue": {
"const": {
"val": "-5s"
}
}
}
],
"priorityList": [
{
"action": {
"castSpell": {
"spellId": {
"rank": 5,
"spellId": 11597
}
},
"condition": {
"and": {
"vals": [
{
"cmp": {
"lhs": {
"auraNumStacks": {
"auraId": {
"rank": 5,
"spellId": 11597
},
"sourceUnit": {
"type": "CurrentTarget"
}
}
},
"op": "OpLt",
"rhs": {
"const": {
"val": "1"
}
}
}
},
{
"not": {
"val": {
"auraIsActive": {
"auraId": {
"rank": 5,
"spellId": 11198,
"tag": -1
},
"sourceUnit": {
"type": "CurrentTarget"
}
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 12328
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "211.5s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"otherId": "OtherActionPotion"
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "20s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "140s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 20572
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "20s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "141.5s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"itemId": 21180
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "130s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 29602
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "130s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"itemId": 23041
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "130s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"itemId": 23041
}
},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "130s"
}
}
}
}
]
}
}
}
},
{
"action": {
"autocastOtherCooldowns": {},
"condition": {
"or": {
"vals": [
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpLe",
"rhs": {
"const": {
"val": "30s"
}
}
}
},
{
"cmp": {
"lhs": {
"remainingTime": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "140s"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 1680,
"tag": 1
}
},
"condition": {
"cmp": {
"lhs": {
"numberTargets": {}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1"
}
}
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"rank": 5,
"spellId": 20662
}
},
"condition": {
"isExecutePhase": {
"threshold": "E20"
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"rank": 4,
"spellId": 23894
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 1680,
"tag": 1
}
},
"condition": {
"cmp": {
"lhs": {
"spellTimeToReady": {
"spellId": {
"rank": 4,
"spellId": 23894
}
}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1.5s"
}
}
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"rank": 5,
"spellId": 20569,
"tag": 1
}
},
"condition": {
"and": {
"vals": [
{
"cmp": {
"lhs": {
"numberTargets": {}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1"
}
}
}
},
{
"or": {
"vals": [
{
"cmp": {
"lhs": {
"currentRage": {}
},
"op": "OpGe",
"rhs": {
"const": {
"val": "40"
}
}
}
},
{
"isExecutePhase": {
"threshold": "E20"
}
}
]
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"rank": 3,
"spellId": 7373
}
},
"condition": {
"and": {
"vals": [
{
"cmp": {
"lhs": {
"spellTimeToReady": {
"spellId": {
"rank": 4,
"spellId": 23894
}
}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1.5s"
}
}
}
},
{
"cmp": {
"lhs": {
"spellTimeToReady": {
"spellId": {
"spellId": 1680,
"tag": 1
}
}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1.5s"
}
}
}
},
{
"cmp": {
"lhs": {
"currentRage": {}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "70"
}
}
}
}
]
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 2687
}
},
"condition": {
"cmp": {
"lhs": {
"currentRage": {}
},
"op": "OpLt",
"rhs": {
"const": {
"val": "90"
}
}
}
}
}
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 18499
}
},
"condition": {
"and": {
"vals": [
{
"cmp": {
"lhs": {
"spellTimeToReady": {
"spellId": {
"rank": 4,
"spellId": 23894
}
}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1.5s"
}
}
}
},
{
"cmp": {
"lhs": {
"spellTimeToReady": {
"spellId": {
"spellId": 1680,
"tag": 1
}
}
},
"op": "OpGt",
"rhs": {
"const": {
"val": "1.5s"
}
}
}
}
]
}
}
},
"hide": true
},
{
"action": {
"castSpell": {
"spellId": {
"spellId": 2458
}
},
"condition": {
"not": {
"val": {
"auraIsActive": {
"auraId": {
"spellId": 2458
}
}
}
}
}
}
}
],
"type": "TypeAPL"
},
"talentsString": "20315003-250500035151310051"
}
]
}
]
},
"simOptions": {
"iterations": 10000,
"randomSeed": "1179603525"
}
}Choosing a race in WoW Forever
What is the best race for my class and spec?
Pick your class and spec above to see which races lead on its preset build. Gear, talents, rotation and fight length can all change the order, so check each race's coverage note before you choose.
Does this show the highest parsing races?
No. These are sims on the wowsims Forever engine with one fixed build. No raid logs go into them, so they say nothing about parses, player skill or which races are popular.
What do the race tiers mean?
S is within 1% of the top race on the selected preset, A is over 1% to 2% behind, B is over 2% to 4% behind and C is more than 4% behind. When results are close, every race can land in S.
How are weapon specializations handled?
Human sword (+2% crit), Dwarf mace (+1%) and Orc axe (+1%) only count while that weapon is equipped, and every race shares one gear set. On warrior, rogue, hunter, paladin and Enhancement builds each race is simmed with the build's weapon swapped for its own type, same stats, unless the class can't use it or the swap loses more than the crit gives. Casters keep their weapons. The no-spec figure on a row is that race without the bonus.
How is this different from the spec tier list?
This page changes only race, and the weapon type some melee races use, within a single preset build. The WoW Forever DPS tier list compares different spec presets. Use that page to pick a spec and this one to pick a race for it. Their engine snapshots can differ, so only compare DPS within each board.
