Clarity 2

Clarity is a parser for Dota 2 and CSGO replay files written in Java.

Version 2.5 (last updated March 28, 2020)

Version 2.5 has been quite a lot slower and buggy, because of overly accurate reproduction of client frame handling in the Source engine. Today I refactored a lot of the handling, to get back to how clarity 2.4 does things.

The result is worth it: Speeds are back to 2.4 level, while console replays and live data will work fine.

2.5 has already been battle tested with some closed source parsers, but you might still find problems - so use 2.5-SNAPSHOT with caution, and report bugs!

Version 2.4.1 released

The fall update of Dota 2 contains a bugfix that are needed for replays from that new patch. If you get an exception saying that highLowMultiplier is zero, be sure to use the fixed version!

Replay Data

clarity produces the following data you might be interested in from a replay. Choose from:

* unprocessed: data is provided as original protobuf message object



Fetch the current stable version (2.4.1) from Maven Central with


Clarity 2.5 is work in progress and only available as a snapshot, so you got to add a pointer to the repository to your pom.xml (see the pom.xml of clarity-examples, which already does that)

To add the snapshot repository, add the following:

        <name>Sonatype OSS Snapshot Repository</name>

and then fetch the dependency with:


Example Code

For example code, please see the the separate project clarity-examples.


See LICENSE in the project root.