Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Node Version

Revisit past Dota 2 matches in the browser.

View live:



This is an experiment to revisit past Dota 2 matches in the browser, fully relying on parsing replays client-side without any server involvement.

ReDota can download these replay files from Valve through a replay proxy.

Contributions in form of issues, feedback or pull requests more than welcome!


ReDota is a heavily derived project and stands on the shoulders of giants, notably parsers by Dotabuff and Skadistats.

Special thanks to community members from OpenDota and ModDota who assisted in deciphering replay specifics.


  • Dota 2 is a registered trademark of Valve Corporation.
  • Image resources, lore and other references are property of Valve Corporation.
  • The Dota 2 map and minimap images come from multiple sources:
  • The redo-symbol in the ReDota logo and favicon originates from Font Awesome.
  • Lane creep and building icons come from The Noun Project, see this README file.

Setup & Development

ReDota is written in ES2020+, powered by MobX and React, styled with styled-components, modularized using ECMAScript modules and bundled with webpack.

  1. Clone the repository:

    git clone git://
  2. Download and install Node.js 14+ for your platform.

    Note: If you plan on using ReDota's parser programatically, please note that Node.js 17+ is currently not supported.

  3. Install dependencies:

    npm install
  4. Compile Valve's game message definitions to a format ReDota can work with:

    npm run build:protos

    Note: This step only needs to be done once, or when the definitions themselves change.

  5. Run the dev server on http://localhost:8080 which automatically monitors source files:

    npm run start:dev