How dan levels are estimated

Every chart gets a dan level of its own, and your level is read from the charts you have already passed. That is why every estimated dan is written with a "~" in front of it and why the leaderboard is a rough ordering.

Automatic tracking only began on June 9, 2026. Older scores are included when they are still in your osu! top plays, and any missing passed mania score with an osu! score link can be added from your profile's Skills tab.

The same goes for any session where you never set a score on a ranked, qualified or loved chart: tracking never notices you are playing, so nothing from that session is recorded either. Why that is. If your estimate reads low, add the important missing scores from the Skills tab or keep playing to let new scores fill it in.

A quick reminder of what a dan is

A dan course is a fixed set of charts, played back to back in one sitting, with an accuracy bar you have to finish above. Clearing the course awards you that level. Each keymode has its own community ladder, run by different people: 4K regular uses DDMythical's Reform courses, 4K LN uses the _Underjoy courses, 7K uses the JinJin courses, and 6K has two of its own, Arkman's ladder on the regular side and sunnyxxy's on the LN side.

Most dan courses are unranked, except JinJin's, loved up to Phase III.

Step 1: every chart gets its own dan level

The estimator downloads the chart file, reads the notes, and runs the pattern through a rating engine. Which engine depends on the keymode, because no single one is best at all of them:

  • 4K regular goes through the Mixed estimator from Leo_Black's map analyser, which blends four difficulty models: Roxy, Azusa, Daniel and Sunny.
  • 4K LN goes through that same analyser's LN table, with a small supplementary model filling in the easy charts that sit below where the table starts.
  • 6K and 7K get a Sunny star rating, mapped through the published 6K and 7K dan tables.
  • Every other keymode gets no dan at all. There is no ladder to map it onto.

The engine gives back a continuous number, and the number is what everything else uses. The label you see is just that number printed in the ladder's own language. 4K regular runs 1st to 10th and then into the greek levels (alpha, beta, gamma and up). 4K LN runs 1 to 17, numbered up to 10 and named above it: Yoake, Yuugure, Yoru, Yami, Yume, Yokaze, Yeehee. 7K runs 0 to 10th and then Gamma, Azimuth, Zenith, Stellium. Both 6K ladders run 0 to 9th and then Terra, Celestial, Mystery, Nihility and Finish.

4K regular

4K regular 14K regular 24K regular 34K regular 44K regular 54K regular 64K regular 74K regular 84K regular 94K regular 104K regular alpha4K regular beta4K regular gamma4K regular delta4K regular epsilon4K regular zeta4K regular eta4K regular theta4K regular iota4K regular kappa

4K LN

4K LN 14K LN 24K LN 34K LN 44K LN 54K LN 64K LN 74K LN 84K LN 94K LN 104K LN Yoake4K LN Yuugure4K LN Yoru4K LN Yami4K LN Yume4K LN Yokaze4K LN Yeehee

7K regular

7K regular 07K regular 17K regular 27K regular 37K regular 47K regular 57K regular 67K regular 77K regular 87K regular 97K regular 107K regular gamma7K regular azimuth7K regular zenith7K regular stellium

7K LN

7K LN 07K LN 17K LN 27K LN 37K LN 47K LN 57K LN 67K LN 77K LN 87K LN 97K LN 107K LN gamma7K LN azimuth7K LN zenith7K LN stellium

6K regular

6K regular 06K regular 16K regular 26K regular 36K regular 46K regular 56K regular 66K regular 76K regular 86K regular 96K regular terra6K regular celestial6K regular mystery6K regular nihility6K regular finish

6K LN

6K LN 06K LN 16K LN 26K LN 36K LN 46K LN 56K LN 66K LN 76K LN 86K LN 96K LN terra6K LN celestial6K LN mystery6K LN nihility6K LN finish

One dan level is wide, so each is split into five steps. A chart can be 7--, 7-, 7, 7+ or 7++, from the easiest end of 7th dan to the hardest. Those suffixes are ordering inside a level, nothing more.

At the time of writing there were around 138,000 charts with a dan estimate: about 97,000 4K regular, 22,000 7K regular, 8,500 4K LN, 7,500 7K LN and 3,000 6K regular.

Step 2: what makes a chart LN

A chart counts as an LN chart when hold notes are 45% or more of it, and as a regular chart below that. On 7K the line is 37.5% instead, because its mapping culture ships hybrid charts the community reads as LN. This is the same line the maps pages use to label a chart, so a chart cannot feed your LN rating and wear a regular badge at the same time.

Step 3: which of your plays count

The pool is your osu! top plays, everything recorded while you were tracked, and any score links added manually, keeping only your best play on each chart at each speed. Automatic history below your top plays only exists if you are on your country's roster, which is its top 100 plus anyone who turned tracking on themselves, and it starts the day tracking does. Charts flagged as vibro are thrown out everywhere, because the rating engines read a mash wall as enormous density and rate it absurdly.

Out of that pool, a play earns credit by where its accuracy sits against the bar the real course asks for. Each ladder sets its own bar:

LadderPass barWhere it comes from
4K regular96%DDMythical's Reform dan courses, stable accuracy
4K LN97%_Underjoy LN dan courses, ScoreV2 accuracy
7K regular96%, or 95% in the Normal Kyu band below 1st danJinJin dan courses
7K LN95%JinJin LN dan courses
6K regular and LNthe same 96% and 95%JinJin's numbers, reused for 6K

The site recalculates accuracy from the score's judgements instead of using the number shown in-game. This matters because stable and lazer calculate accuracy differently. Regular 4K uses stable accuracy, while 4K LN uses ScoreV2 accuracy. Recalculating it lets scores from either client count the same way.

Hitting the accuracy bar gives full credit for the chart's level. The next 1% above the bar still gives full credit. After that, bonus credit starts. It stays small until 99%, then rises faster. Scores below the bar can still count at a lower level. On regular charts, the penalty rises smoothly from zero at 96% to about half a level at 95%. A near miss can keep the same dan label while contributing less to the estimate; it still falls short of a full clear. Regular charts count down to 5 percentage points below the bar, for 1.5 levels less credit. 6K/7K LN charts count down to 92%, for 1.75 levels less. 4K LN counts down to 94.5%, for 1.55 levels less, and its bonus stops rising at 99.7%:

96.00%the chart's full level~alpha++++

On jea - Makiba [4K Extra], rated alpha++

+1.500-1.50nothing96%100%
Stable-formula acc (96%)Credit
100%the chart's level +1.5
99.5%the chart's level +1.1
99%the chart's level +0.7
98.7%the chart's level +0.2
98%the chart's level +0.12
97.5%the chart's level +0.06
96-97%the chart's full level
95.5%the chart's level -0.25
95%the chart's level -0.51
94%the chart's level -0.76
92%the chart's level -1.25
91%the chart's level -1.5
below 91%nothing

Lazer scores are recalculated from their judgements, so the accuracy used here may be higher than the displayed value. For example, a 95.5% play could count as a 96% clear. On charts with a lot of long notes the recalculation is only close to what stable would show, because the two clients judge holds differently. The Classic mod makes no difference.

These numbers are subject to change.

Rate mods count, and they count for what the chart is worth at that speed. A pass at 1.0x, at or (1.5x), at or (0.75x), or at any custom lazer rate from 0.5x to 2.0x is credited against the chart's dan at that exact rate, with each speed rated separately. Runengon [4K Hard] is a 4th dan chart at 1.0x and around 9th dan under , so a pass on it is credited as 9th, not as 4th. ANiMA [Starry's 4K Lv.15] moves from 3rd to about 7th the same way. Slowing a chart down works in reverse: a 0.75x pass is worth what the chart is at 0.75x, which is well under its normal level. A speed nobody has rated that chart at yet is worked out the first time your estimate needs it, so a play at an unusual rate can take a little while to start counting.

Step 4: your passes are sorted into four skills

Every qualifying pass lands in one of four skills, and those four are what the estimate is built out of. On 4K they are jack, tech, speed and stamina, taken from the play's own MSD skillset ratings and normally filed under whichever skillset is strongest on that chart: jack (JackSpeed and Chordjack), tech (Technical and Jumpstream), speed (Stream) and stamina (Handstream and Stamina).

Some charts are two of those things at once, and those count in both. A chart lands in two skills when the reading is genuinely split between speed and tech, or when it is a jack chart long enough that the endurance is half of what it asks for, which puts it in jack and stamina. A pass on a chart like that counts toward both skills' levels, but only toward the four-pass minimum of the stronger one, so it can raise a skill you already have and cannot start one on its own.

Speed and tech are told apart by how the chart is played rather than by the ratings, and when the reading is not sure the chart counts as both.

6K and 7K cannot use those skillsets, because that engine does not rate Technical at all and everything collapses onto Handstream. They use pattern tags from the chart analysis instead, so a chart tagged both chordjack and tech backs both skills. On the LN side only 7K gets a split, into general, tech, inverse and release, because those are the only LN subtypes the analyzer separates in any volume. The other LN ladders are read as one skill.

Step 5: each skill's dan is a weighted average of your best passes

Take your credited passes in one skill, sort them by the level each one credited, and average them until their weights fill 20 slots. That is your dan in that skill. Nothing is added on top of the evidence, and no single pass can set it on its own.

Say the levels your 4K jack passes credit come out as:

gamma, beta+, beta, alpha++, alpha, 10+, 10, 9++ ...

With different charts, your jack dan is the average of your 20 best of these. The gamma pass does not make you gamma on its own: averaged against everything below it, it can pull your dan up a fraction of a level, but it cannot set it.

Rates and verified rate reuploads of the same chart share influence within each skill: your best clear has 100% weight, the next 90%, then 81%, and so on. Their dan credits stay unchanged, and a better clear takes the strongest position. Two rates contribute 1.9 slots; five contribute about 4.1. The average reaches further into your other clears to fill 20 weighted slots.

With fewer than 20 weighted slots the average is over the evidence you have; you do not need 20 different charts. A skill you have fewer than four qualifying passes in gets no dan of its own, and a side you have fewer than four on gets no estimate at all rather than a shaky one.

Up to three passes in a skill are left out of its average when they credit more than five levels below the average of your best five in it. They still show in the dan window, marked not counted.

Step 6: your dan is the average of your skills

Your estimate for a side is the plain arithmetic average of the skill dans you have. Skills at 10, 9, 7 and 6 make an estimate of 8. If it lands at the very top of a ladder, the badge switches from "~" to ">" and reads as beyond that level instead of pinning you to it, because the ladder has run out of levels to measure you with.

7K LN is the one exception. Its General skill already mixes every kind of long note, so the estimate stays within one level of your General dan, whichever way Tech, Inverse and Release point. Those dans stop well under General for almost everyone, whether because few hard maps of those kinds exist or because the site does not recognise all of them, so they no longer get to decide the number on their own. Your Tech, Inverse and Release dans still show their own numbers; only the overall estimate is held near General.

Skills you do not have four passes in are left out of the average rather than counted as zero, because a missing skill is nearly always a short play history rather than a hole in your playing. Players with fewer than two rated skills are read off the same average over their 20 best passes overall.

Extra: clearing a real course overrides all of it

If your recorded plays show that you passed a dan course, your estimate for that side cannot read below that course, whatever your skills average to. Clear EXTRA-EPSILON and you read as epsilon even if your skills average out to delta. The rest of this page works a number out from your plays. A course hands you one directly, so it wins.

It only ever raises the number. If your skills already average higher, the average stands. The skill rows underneath are untouched either way, which is why they can read lower than the number above them.

Your accuracy sets the tier. On a ladder whose courses ask for 96%, a bare 96% pass on the delta course reads as delta, 97.5% as delta+, and 98% and up as delta++. Come up short and you still get something for it: 95% reads as delta- and 94% as delta--. Below 94% you get nothing. Ladders that ask for a different accuracy shift the whole scale with them.

These are the packs checked, matched by beatmap. A pass has to be on one of these exact difficulties. Clearing the same courses from a different upload is still a clear, but that upload is not currently checked. More packs can be added.

A few difficulties inside those packs are left out, because they sit below the first level their ladder measures: REFORM's three INTRO courses, and the 0th to 2nd of Jinjin's LN Phase I.

A run only counts if it was really the course. Easy, No Fail and Random disqualify it, and so does anything that slows the chart down: Half Time, Daycore, or a custom rate under 1.0x. Mirror, Hidden, Fade In, Flashlight, Hard Rock, Sudden Death, Perfect and Double Time are all fine, because none of them make the course easier. A pass recorded before mod data was stored cannot be checked, so it counts for nothing rather than being taken on trust. Clicking your dan badge shows the course that set your estimate, when one did.

Limitations

The estimate only sees scores it has. Your osu! top plays are always included, and history below them is recorded automatically while you are tracked. Missing older scores are not permanently lost: open the Skills tab on your profile, choose Add a missing score, and paste the osu! score link. A player who quit years ago may start with a low estimate from their top 200 alone, but qualifying old clears can be added instead of replayed.

The site notices you are playing through osu!'s feed of new scores, and that feed only lists scores on charts with a leaderboard, so a play on a graveyarded chart never shows up in it. Your recent plays are a separate lookup that does include graveyarded charts, but it has to be asked per player, so the site only starts asking once a leaderboard score shows you are playing, and keeps asking every few minutes until you stop, meaning 30 minutes pass without a new play. Everything it finds during that time counts, including unranked charts. If you only play unranked charts, nothing is recorded automatically.

What it looks like across everyone

At the time of writing there were skill ratings for 14,385 players on 4K, 4,119 on 7K and 2,879 on 6K. Of the 4K players, 12,974 had enough qualifying passes for a regular dan and 5,038 for an LN dan. This is where the 4K regular estimates landed:

1-5: 4,371 players (33.7%)33.7%6-10: 4,825 players (37.2%)37.2%alpha: 1,062 players (8.2%)8.2%beta: 1,138 players (8.8%)8.8%gamma: 821 players (6.3%)6.3%delta: 539 players (4.2%)4.2%epsilon: 199 players (1.5%)1.5%zeta+: 19 players (0.1%)+0.1%

Where to see it

Your own estimate is on the Skills tab of your player page. Click any dan badge there to see the passes behind it, broken down by skill. The whole population is on the Dan tab of the rankings page, per country and per keymode.