Back to Clutch Corner
Announcements4 min readMay 8, 2026

WoW Combat Log: The Complete Field Reference (The Docs Blizzard Never Wrote)

Every field, every event type, every gotcha. The undocumented format behind WarcraftLogs and every WoW analytics tool you've ever used — finally written down. Pulled straight from the production parser we built and layered AI coaching on top of.

Brian Morale

Founder & Chief Architect

The Docs Blizzard Never Wrote

The combat log is the most important data format in World of Warcraft. It powers WarcraftLogs, WoWAnalyzer, every parse score you've ever bragged about, every "you stood in fire" callout, and the entire analytics community. It is also, famously, completely undocumented by Blizzard.

For twenty years, every WoW data tool has had to reverse-engineer this thing from scratch. You open a log file. You squint at it. You see something like this:

5/8/2026 21:47:12.841-5  SPELL_DAMAGE,Player-1168-0A234B,"Darkslash-Mal'Ganis",0x514,0x0,Creature-0-4232-2662-31585-214502-0001,"Voidspire Acolyte",0xa48,0x0,343293,"Sever",0x1,...

You count fields. You guess at meanings. You scroll through Wowpedia, which is half-right and four expansions out of date. You scrape forum posts from 2017. You dig through addon Lua looking for clues.

I've been there. I built WowCoach.gg — a real production combat log parser that processes thousands of multi-gigabyte raid logs — and then layered an AI coaching engine on top of it to actually explain what the data means. Getting the parser right took months of staring at logs and figuring out things nobody had bothered to write down.

So I'm writing them down. Not as a blog post — as a permanent, navigable, code-style reference.

Read the WoW Combat Log Reference

That link goes to the structured docs. Every event type. Every field offset. Every gotcha. Every formula. Pulled directly from the parser code that runs in production today.


What's in the reference

The reference is split into seven sections, each focused enough to be linkable on its own:

SectionWhat's in it
Line Format & Common HeaderCombat log line structure, the version header, the 9-field common header (event + source + target), GUID prefixes, unit flags, the spell prefix
Event Type CatalogEvery event type a real parser handles — damage, healing, auras, casts, special events, encounter and metadata events, the _SUPPORT suffix for Augmentation Evoker
Advanced Combat LoggingThe 19-field block that powers HP timelines, position tracking, item-level breakdowns, pet attribution, and resource analysis. Plus the full power-type table
Damage & HealingField positions for SPELL_DAMAGE, SWING_DAMAGE, ENVIRONMENTAL_DAMAGE, SPELL_HEAL, and SPELL_ABSORBED. The actual damage and healing formulas. The cheat-death exclusion list
Metadata & Other SuffixesLayouts for ENCOUNTER_START/END, CHALLENGE_MODE, ZONE_CHANGE, MAP_CHANGE, WORLD_MARKER. Plus suffixes for AURA, INTERRUPT, DISPEL, ENERGIZE, MISSED, CAST_FAILED
COMBATANT_INFO & Spec IDsThe single most useful event in the combat log: full talent tree, gear with bonus IDs and gems, active auras, stats. Plus the complete spec ID table
GotchasThe non-obvious traps that will silently break your parser: trailing damage, two-format SPELL_ABSORBED, talent ID mix-ups, mid-log version restarts, vehicle attribution, and more

Each page is short, self-contained, and citable. Link to the specific page that helped you.


Why this exists

Existing documentation for the combat log is a patchwork of forum posts, half-correct wikis, and Lua source code from addons released a decade ago. I lost weeks to gotchas that nobody had bothered to write down. The WoW data community is incredible and deserves a real reference, not whispered tribal knowledge passed from one parser author to the next.

The reference covers combat log format V22, the retail format currently in use through patch 12.0+ (Midnight). It will be kept up to date as Blizzard rolls out new format versions.

Who I am, and why this is accurate

I'm Brian Morale. I built WowCoach as a solo project — the parser, the AI coaching layer, the desktop app, the AWS infra, all of it. The reference isn't training-data guesswork; every field offset and every formula on those pages is pulled from the production parser source code. If a number on the reference disagrees with the parser, the reference is wrong and I want to know about it. Email me, comment, find me anywhere.

If you want the longer version of how WowCoach got built, including the parts where I lost my mind chasing absorb shield accounting, see I Spent 6 Months Building a WarcraftLogs Competitor — Solo, on AWS Serverless.


A request

If you cite or build on this reference, please link back. That's the only ask. Wikis, GitHub READMEs, blog posts, parser source comments, addon documentation — link back to the docs section so other people can find it. The community pays this kind of thing forward in citations.

If you're newer to combat logs and want a gentler ramp before tackling field offsets, start with how to read WoW combat logs. If you're trying to figure out why your raid wiped, upload your log and ask the AI directly.

Otherwise — go build something. The format is finally documented.

→ Open the Combat Log Reference


Brian Morale is Founder & Chief Architect of WowCoach.gg. The combat log reference is a living document and will be updated as the format evolves.

Related topics

combat log formatwow combat logcombat log parserspell damage fieldsadvanced combat loggingwarcraftlogswow developmentwowcoachreverse engineeringreference

Ready to get roasted?

Upload your combat logs and get personalized insights. I promise to be brutal. I mean, helpful.

Upload Your Logs