WoW Combat Log Analyzer
Drop in the WoWCombatLog.txt the game already writes for you and get the night back as fights: damage and healing per player and per ability, what is actually hitting your raid, and a replay of the last twelve events before every death. The file is parsed in your browser, so a log never leaves your machine and there is no account, upload, or queue between you and the numbers.
Open a log
Drop your WoWCombatLog.txt here
The file is parsed in your browser. Nothing is uploaded, stored, or sent anywhere.
Windows: World of Warcraft\_retail_\Logs\WoWCombatLog.txt
Record a log worth reading
A combat log is only as good as the settings it was recorded with. Four minutes of setup is the difference between a flat damage list and a file that can tell you which cooldown was missing when the tank died.
- 01
Turn on Advanced Combat Logging
Open Options, then System, then Network, and tick Advanced Combat Logging. Without it the log still parses, but it carries no health values, no pet ownership, and no gear or position data.
- 02
Start the log before the pull
Type /combatlog in chat, or let an addon such as DBM or BigWigs start it for you. The game writes every event from that moment until you type /combatlog again or leave the game.
- 03
Find the file
It is written to World of Warcraft\_retail_\Logs\WoWCombatLog.txt. A full raid night is often several hundred megabytes, which is fine here because the file is streamed rather than loaded whole.
- 04
Rename it between nights
The game appends to the same file forever. Rename or move it after each raid so one night is one file and the fight list stays readable.
What the numbers mean
Every figure below is computed from the raw events in your file. Where two reasonable definitions exist, the one used here is stated so you can compare against another tool without wondering which of you is wrong.
- DPS and HPS
- Total output divided by the length of the fight, measured from the pull to the encounter end the game recorded. This is raid DPS, not active DPS, so a player who stood in an intermission with nothing to hit will read lower here than in a tool that only counts time on target.
- Effective healing
- Healing that actually restored missing health. The game logs the gross number, so overhealing and any healing eaten by a heal absorb come back off before the total. Overhealing is still shown on its own so you can see where a cooldown was wasted.
- Overkill
- Damage past the target's remaining health. It counts as damage done because the swing landed, but a large overkill share on execute abilities usually means the kill was already secured.
- Pets
- A gargoyle, an army, a Wild Imp, and a Feral Spirit all report their damage under the player who owns them, with the pet named on the ability row so the source stays clear.
- Enemies
- Every copy of a mob is merged onto one row by name, so a Mythic+ pull reads as one enemy rather than forty. Enemies are hidden until you tick Include enemies.
Players are matched to one of the 39 live specializations from the specialization ID the game records at the pull, so each row links straight to the spec guide for whoever you are looking at. Once you know which ability is underperforming, the talent calculator and the SimulationCraft planner are the next stop.
What a combat log cannot tell you
These are properties of the log format itself rather than gaps in the tool. Knowing them stops you drawing the wrong conclusion from a real number.
- Absorb shields have no caster credit
- The log records absorbed damage on the hit itself, which the damage taken view shows. It does not attribute that absorb to the player who cast the shield, so a Discipline Priest's shielding will not appear as healing done.
- Fights come from the game, not from guesswork
- A fight appears when the client wrote ENCOUNTER_START and ENCOUNTER_END, or a Mythic+ start and end. Open world pulls and target dummy testing have no such markers, so they roll up into the Entire log row instead of being split by invented rules.
- One log is one point of view
- The client only records what your character could see. Damage dealt on the far side of a split phase, or before you zoned in, is simply not in the file.
- Specs come from the pull
- A specialization is read from the COMBATANT_INFO line the game writes at the start of an encounter. A player who respecs mid-instance keeps the spec they pulled with until the next encounter starts.