Cursor Trail for osu!

For osu! · how it works

How Cursor Trail reads your replay

Cursor Trail judges every note of your osu! replay again, the way the game does, then finds the main cause of each miss: aim, timing or the way you tap. Here's how, and how far you can trust it.

What you need

A replay (.osr) from osu!stable or osu!lazer, played in osu!standard. Cursor Trail finds the map by its hash where it can; otherwise drop the map with the replay (.osz or .osu).

Speed and difficulty mods (Double Time, Half Time, Hard Rock, Easy, lazer's custom speeds and Difficulty Adjust) and Mirror are applied. Mods the analysis can't reproduce, such as Relax, Autopilot, lazer's Random and other mods that move notes or change the rhythm, are named in the report and the play isn't analysed, rather than guessed at. The Classic mod on osu!lazer isn't supported yet.

Every note, judged again

A replay holds your cursor position and key presses, frame by frame. Cursor Trail plays them against the map and judges each note again with the rules of the game that made the replay: osu!stable's notelock (a tap only ever goes to the oldest note not yet judged) or osu!lazer's rules (a tap can hit a later note once the earlier ones have reached their time, which makes those a miss). All times are real milliseconds at the speed you played: "+35 ms" is late, "−13 ms" early.

It's checked against the counts the game saved. On 643 osu!stable plays, the re-judged 300s and 100s are within 2% of the game's on every play, and the misses within 1% on at least 98% of them. On the ten osu!lazer plays checked so far (the site owner's), the 300, 100, 50 and miss counts match what lazer saved on every one, and so do the slider ticks; the slider ends are within 1% of the sliders on every one, and the max combo matches on eight and is two over on the other two. Spinners aren't judged again; they count as hit. Each report's Details tab shows the game's counts next to the re-judged ones.

Each miss gets one main cause

First, what happened at each missed note: a late tap, an early tap, no tap, the cursor off the circle, or notelock (you tapped the note in its window while an earlier note was still open, so the game ignored it). The cursor is checked where it was at the note's time, not when you tapped: a tap that lands after the cursor moved on to the next note is a late tap, not an aim miss.

Then the findings: aim, timing in streams, timing on single notes and mixed tapping in one rhythm. Each says which misses it could explain. The one that explains the most takes them, then the next takes what's left, so each miss counts once, under one main cause. Every finding has to clear the same bar to show: 5 or more misses and 10% or more of all your misses. Misses no finding explains are counted as spread out.

Every number in a report says how many notes it comes from (n). Chart groups with fewer than 50 notes are drawn grey and never drive a finding. The thresholds are provisional until other players' replays are in.

What the report shows

Overview
The short version, what to do next time you play for your combo and your accuracy, why you miss by main cause, where your accuracy went, and three targets for the parts of the map you have data for.
Timeline
Hit error over the whole map, with the map played back.
Streams, Jumps and Sliders
Each kind of pattern on its own, with playback: drift across a stream and your tapping style, hit rate by jump distance and aim offset, dropped slider ends and why a slider dropped.
Details
The evidence behind each finding, every miss by type and cause, and how it was checked.

A share card (a picture drawn in your browser) and, if you ask for it, a roast of the play.

Your data

Your replay is analysed in your browser. To find the map only its hash is sent to our server, and to show its cover or song preview only its map set number. Replays are kept on our server only when you save them to your history. A saved play has its own link: anyone with it can open the report, with the player name saved in the replay, but never the replay file. Deleting a saved play removes it and takes its link down. The full text is under "How your data is handled" on the home page.

Where are my replays?

osu!stable

Press F2 on the results screen to save a replay. Replays are in your osu! folder under Replays; maps are under Songs.

osu!lazer

On a score, open its menu and choose Export to save the replay. Export the map from the editor: File → Export → Export package (.osz).