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 9041017413 breakdown

Winner: Radiant. Score 43:23, duration 32:59. 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

  • Riki — Haibaraa: 4/10/16, 9,739 net worth, 354 GPM. Played poorly Lina killed you 4 times — that is a read pattern, not bad luck: change position or hold a counter for that hero.
  • Void Spirit — Sephirothㄨ: 19/2/14, 20,375 net worth, 637 GPM. Played well
  • Juggernaut — GeraiNet: 12/2/5, 24,118 net worth, 752 GPM. Carried the game 28% of all damage you took came from one source — Anchor Smash. That is what the build should have answered.
  • Bane — Gildarts Clive: 2/4/20, 9,307 net worth, 315 GPM. Played well 2 wards in 33 min — the team played nearly blind.
  • Doom — dejavu~: 6/5/23, 17,490 net worth, 555 GPM. Played well

Dire

  • Tidehunter — ZOVайбился: 2/9/12, 11,789 net worth, 389 GPM. Played well Juggernaut killed you 5 times — that is a read pattern, not bad luck: change position or hold a counter for that hero.
  • Lina — MaSIk: 9/7/3, 12,436 net worth, 411 GPM. Played well Void Spirit killed you 5 times — that is a read pattern, not bad luck: change position or hold a counter for that hero.
  • Disruptor — DOTA 2: 4/14/15, 4,891 net worth, 233 GPM. Played poorly Void Spirit killed you 6 times — that is a read pattern, not bad luck: change position or hold a counter for that hero.
  • Luna — hate every1: 3/6/7, 15,193 net worth, 497 GPM. Played well The enemy had Riki, and you bought no sentry or dust all game.
  • Rubick — adalwolf: 4/7/9, 7,869 net worth, 290 GPM. Played well Lane efficiency 41% of par for your role — you left the lane already behind.

The fight that decided it — 31:21, Dire jungle

Winning side: radiant. Deaths in the fight: 8, gold swing 5,335.

  • Juggernaut: 5,748 damage, killed Lina, Luna, Rubick, Disruptor, Tidehunter. Cast: Omnislash, Blade Fury, Swiftslash, High Five, Healing Ward
  • Riki: 1,463 damage, killed Disruptor. Cast: Blink Strike, Smoke Screen, Tricks of the Trade
  • Bane: 29 damage. Cast: Nightmare. Ultimate never cast
  • Void Spirit: 2,723 damage. Cast: Astral Step, Aether Remnant, Dissimilate, Resonant Pulse
  • Doom: 1,547 damage. Cast: Doom, Icefire Bomb, Scorched Earth
  • Luna: 3,035 damage, killed Bane. Cast: Eclipse, Lucent Beam
  • Lina: 1,843 damage, killed Riki. Cast: Laguna Blade, Light Strike Array, Dragon Slave
  • Disruptor: 685 damage. Cast: Static Storm, Kinetic Field, Thunder Strike. Buybacks: 1
  • Tidehunter: 1,561 damage. Cast: Ravage, Anchor Smash, Gush, Dead in the Water
  • Rubick: 344 damage. Cast: Spell Steal, Fade Bolt, Telekinesis, Aether Remnant
DuelsRewardsMarketBlogProfile