Match autopsy

DOTA
AUTOPSY

Paste a match ID and get the whole game taken apart: every death on the map, every item that never got used, and an honest verdict on all ten players.

Find the ID in your Dota 2 match history, or in any Dotabuff link.Free, no account needed — just paste the ID.

What you get

Death map

Every kill, ward and rune where it actually happened — with the hero portrait and the minute.

Teamfights

Who started it, who showed up, and who was farming a jungle camp instead.

Build audit

Gold spent on items that sat in the bag, and the actives that were never pressed.

Hero percentiles

Not "low farm" — "GPM below 78% of players on this hero".

A verdict on each player

Decided by fixed rules in our engine, not by a model's mood.

AI breakdown on demand

The model gets the finished numbers and explains what to do about them.

How it works

  1. 1

    Paste the ID

    Any public match. Parsed replays give more — deaths, wards and fights on the map.

  2. 2

    Open the tabs

    Overview, players, map, fights, team report. All of it free and instant.

  3. 3

    Order the analysis

    Pick a player and let the model turn the numbers into a plan for the next game.

Dota 2 — match 9011653586 breakdown

Winner: Dire. Score 16:49, duration 31:26. Below is a verdict on each of the ten players, a breakdown of the decisive fight and the main mistakes, computed from match data.

Radiant

  • Io — kezr: 4/7/4, 7,508 net worth, 286 GPM. Played poorly 0 wards in 31 min — the team played nearly blind.
  • Grimstroke — P-DIDDY: 3/11/3, 3,896 net worth, 160 GPM. Played poorly Lane efficiency 37% of par for your role — you left the lane already behind.
  • Jakiro — WolMax: 2/10/7, 7,378 net worth, 264 GPM. Played poorly Lane efficiency 28% of par for your role — you left the lane already behind.
  • Lifestealer — Αργαλειός της Πηνελόπης 2.0: 3/8/7, 11,608 net worth, 391 GPM. Played poorly Infest was cast 4 times in 31 min on a 80s cooldown — the ability sat idle most of the game.
  • Zeus — Mancini.2K: 3/13/3, 8,214 net worth, 280 GPM. Played poorly 2 wards in 31 min — the team played nearly blind.

Dire

  • Snapfire — Илинден Беснобурa: 8/7/24, 12,561 net worth, 422 GPM. Support MVP Lane efficiency 47% of par for your role — you left the lane already behind.
  • Outworld Devourer — Digital: 13/0/12, 17,675 net worth, 573 GPM. Played well 31% of all damage you took came from one source — Arc Lightning. That is what the build should have answered.
  • Anti-Mage — nafanya: 14/2/14, 22,140 net worth, 698 GPM. Carried the game 32% of all damage you took came from one source — Radiance. That is what the build should have answered.
  • Dawnbreaker — AnpuStatera: 11/7/18, 16,208 net worth, 549 GPM. Played poorly Lane efficiency 63% of par for your role — you left the lane already behind.
  • Mirana — Yamcha: 3/0/27, 11,023 net worth, 369 GPM. Played well Lane efficiency 48% of par for your role — you left the lane already behind.

The fight that decided it — 30:16, Base

Winning side: dire. Deaths in the fight: 5, gold swing 4,820.

  • Lifestealer: 1,703 damage. Cast: Rage, Open Wounds. Ultimate never cast
  • Jakiro: 120 damage. Cast: Dual Breath, Ice Path. Ultimate never cast
  • Zeus: 77 damage. Cast: Heavenly Jump, Lightning Bolt. Ultimate never cast
  • Io: 0 damage. Cast: Tether. Ultimate never cast
  • Grimstroke: 0 damage. Cast: Soulbind, Ink Swell, Phantom's Embrace
  • Snapfire: 2,342 damage, killed Zeus, Lifestealer. Cast: Mortimer Kisses, Lil' Shredder, Scatterblast, Firesnap Cookie
  • Anti-Mage: 4,477 damage, killed Jakiro. Cast: Mana Void, Blink, Counterspell
  • Outworld Devourer: 1,982 damage, killed Io. Cast: Sanity's Eclipse
  • Dawnbreaker: 1,604 damage, killed Grimstroke. Cast: Solar Guardian, Converge, Starbreaker, Celestial Hammer
  • Mirana: 785 damage. Cast: Leap, Sacred Arrow, Starstorm. Ultimate never cast
DuelsRewardsMarketBlogProfile