How to improve your accuracy in osu!

Accuracy in osu! is the share of the maximum hit value a player earns across a play: a 300 counts as 1, a 100 as one third, a 50 as one sixth, and a miss as nothing. Improving it means shrinking the spread of your hit timing relative to the beatmap's hit windows, which are set by overall difficulty. In osu!, the 300 window is 80 minus 6 times the OD in milliseconds either side of the object, so OD 9 allows plus or minus 26 ms and OD 8 allows plus or minus 32 ms. Real progress comes from diagnosing whether your errors are random spread or a systematic offset, then practising the specific fault.

What the accuracy number actually measures

In osu!, accuracy is calculated as (300 × 300s + 100 × 100s + 50 × 50s) / (300 × all judged objects), where the denominator includes misses. Per object that reduces to four simple values:

The useful way to read this is by what each mistake costs. Out of 300 points per object, a 100 forfeits 200, a 50 forfeits 250, and a miss forfeits 300. So a 50 costs 1.25 times what a 100 costs, and a miss costs 1.5 times. On a 1,000-object map, thirty 100s and nothing else gives exactly 98.00%; sixty gives 96.00%. Note that the accuracy shown on your profile is a separate, weighted figure calculated across your best plays, so it moves far more slowly than any single score you set.

Hit windows and overall difficulty

Overall difficulty (OD) runs from 0 to 10 and sets how tight the timing windows are. In osu! the windows follow fixed formulas, measured either side of the object's correct time:

JudgementWindow formulaOD 8OD 9OD 10
30080 − 6 × OD±32 ms±26 ms±20 ms
100140 − 8 × OD±76 ms±68 ms±60 ms
50200 − 10 × OD±120 ms±110 ms±100 ms

One detail matters in practice: sliders award a 300 as long as they are hit anywhere inside the 50 window — slider leniency. Song select displays the exact windows for the selected map, including any mods you have active.

Reading unstable rate and hit error

The results screen tooltip gives two numbers that are far more diagnostic than the accuracy percentage. Unstable rate (UR) is the standard deviation of your hit errors in milliseconds multiplied by ten, so UR 150 means a 15 ms spread. Error reports your average early and average late deviation separately.

They answer different questions. UR measures consistency; the error pair measures bias. A player at UR 120 whose errors read −4 ms and +4 ms is centred and simply needs a tighter spread. A player at the same UR 120 whose errors read −2 ms and +18 ms is playing consistently late, and can recover accuracy immediately by correcting offset rather than by practising harder.

One caveat on rate-changing mods. In the stable client UR is measured in beatmap time, so Double Time and Half Time inflate or deflate it; the community convention is converted UR, dividing by 1.5 under Double Time and by 0.75 under Half Time. Lazer measures UR in real-world time, so no conversion is needed there.

What your UR predicts, and whether you are dropping 100s or 50s

If your hit errors are centred and roughly normally distributed, UR alone predicts your judgement mix. The table models the expected 300 rate and accuracy at two common overall difficulties:

URSpreadOD 8: 300sOD 8: accuracyOD 9: 300sOD 9: accuracy
808 ms99.99%~100%99.88%99.92%
10010 ms99.86%99.91%99.07%99.38%
12012 ms99.23%99.49%96.97%97.98%
15015 ms96.71%97.81%91.70%94.46%
18018 ms92.46%94.97%85.14%90.09%
20020 ms89.04%92.69%80.64%87.08%
25025 ms79.95%86.59%70.17%80.00%

This is an idealised model — it assumes no bias and ignores misses and slider leniency — but it makes the diagnosis concrete. Notice how rarely 50s appear: at OD 9 the 50 window is ±110 ms, which is 4.4 standard deviations out even at UR 250. If you are collecting 50s in any real number, random spread is not the cause. Look instead for a large offset, a section you consistently misread, or patterns you keep recovering from late.

Why your grade and your accuracy percentage disagree

Grades in osu! are not thresholds on the accuracy percentage. They are conditions on the proportion of 300s, plus separate rules covering 50s and misses:

GradeCondition in osu!
SS100% accuracy
SOver 90% 300s, at most 1% 50s, and no misses
AOver 80% 300s and no misses, or over 90% 300s
BOver 70% 300s and no misses, or over 80% 300s
COver 60% 300s
DAnything else

The consequences surprise people. On a 1,000-object map, 950 threes with 39 hundreds and 11 fifties is 96.48% accuracy with no misses — but 1.1% 50s breaks the S condition, so it grades A. Meanwhile 910 threes and 90 hundreds is only 94.00% accuracy and does grade S. A single miss on an otherwise excellent play caps you at A. Silver S and SS grades are awarded on the same conditions when Hidden, Flashlight or Fade In is active. See grades and combo for compact definitions.

Practice methods that actually move the number

Correct bias before you practise spread. The client's offset wizard and the universal offset setting handle a consistent whole-system lag, while the local per-beatmap offset handles individual maps whose audio sits early or late. No quantity of practice compensates for an uncorrected 15 ms systematic offset — at OD 9 that alone consumes well over half the 300 window on one side.

After that, the reliable pattern is deliberate play below your peak difficulty:

Mods that help you train timing

Four mods change either the OD value or the effective windows, and each is a different training lever:

ModEffectTraining use
EasyHalves the OD valueRemoves timing pressure so you can isolate reading and cursor movement
Hard RockMultiplies OD by 1.4, capped at 10Tightens windows on maps below OD 10; also raises CS, AR and HP
Double TimeOD unchanged; windows 33% shorter in real timeThe hardest timing test available, and it compresses the 100 and 50 windows more than the 300
Half TimeOD unchanged; windows 33% largerLets you feel the correct rhythm before returning to normal rate

Two worked examples. OD 8 with Hard Rock computes to 11.2, which caps at 10, so the 300 window narrows from ±32 ms to ±20 ms. OD 9 under Double Time keeps its ±26 ms window in beatmap time, but in real time that is ±17.3 ms — tighter than anything reachable unmodded, since OD 10 bottoms out at ±20 ms.

Realistic timelines and how to measure progress

Two things make accuracy improvement feel slower than it is. First, profile accuracy is a weighted figure across your best plays, so one strong new score barely moves it — the number is designed to be stable. Second, the 0.95 weighting applied to pp means an accuracy gain only converts into rank movement once it produces a score good enough to enter your top plays.

Measure the leading indicators instead. UR on a fixed benchmark map responds within a single session. The 100-count on maps you already know responds within days. Grade upgrades on familiar beatmaps, A to S on the same map, respond over weeks. Profile accuracy and global rank are lagging indicators and can take months to reflect a change you made today.

TrackMyOsu records a start and end snapshot for every session permanently, including accuracy and grade counts, and flags new top plays as they land during the session. Over a long run of sessions that makes the slow-moving numbers legible.

By . Last updated 2026-08-12.