[Userscript] Wanikani Real Score

What is Wanikani Real Score?

This script adds a score to your Wanikani dashboard, showing your real progress toward burning all items. You’ll see your current score (1 point per item per SRS level) and how close you are to burning everything, i.e. 22/60th complete. (hover for more detail)

You’ll also see your points tick up (or down) while you do reviews and on lesson and review summary pages.


Get this script on greasy fork. Optionally install Wanikani Open Framework. First script? Click here
Share your score? Go here


I got the idea when I was taking a much needed lesson break. I was still doing tons of reviews but without lessons that darn level counter never moved. It was hard to keep going, because it felt like I wasn’t making any progress.

So I whipped up this script and was surprised how motivating it was to see my score go up every time I made progress. Instead of an endless hopeless slog, it felt like I was actually getting somewhere.

I added the score to the reviews page too and was surprised how much more motivating it was than watching that % go up and down (which can get pretty depressing).

In short, I started having a lot more fun, feeling hopeful, and studying more.

Don’t I already see my score as my current level and apprentice, guru, master, enlightened, burned counts and my review accuracy?

Uh, yeah. That’s the problem this script solves actually. :slight_smile: While I love all the detailed ways to track progress in Wanikani, there isn’t a SIMPLE way to see your progress.

Current level shows how many levels you guru’d most of the kanji for. But it doesn’t show how close you are to burning those items, doesn’t account for items slipping back to apprentice, and doesn’t count vocabulary at all.

The apprentice, guru, master, enlightened, and burned items counts show progress, but are pretty obtuse. For example, you get high apprentice and guru scores by failing lots of reviews.

Review accuracy is great (I’m a math geek) but you see ANSWER accuracy during reviews and ITEM accuracy on the review summary. This can be confusing and disappointing because your ITEM accuracy is almost always worse than your ANSWER accuracy.

How is Real Score different?

Your real score is simple and goes up every time you make progress. Do a lesson, get a point. Answer a review item correctly, get a point. (fail a review, lose a point)

It’s instantly motivating and easy to track your progress.

Real score also lets you get a fair comparison with your friends. Because “level 24” means something completely different if you’re sprinting through the levels ignoring vocab or if you’re moving through the levels slowly. Asking “What’s your real score?” evens the playing field.

Is your Real Score accurate?

If Wanikani open framework is installed, the dashboard score should be perfectly accurate. You get 1 point for each item in each SRS stage. Total score possible is 80,073. If wkof isn’t installed, you’ll get an estimate which is faster but less accurate.

(I do lie occasionally on the review summary page, but it’s better that way. Trust me. I optimized for ‘least surprising’ instead of ‘most pedantic’, so your real score will never confuse you :slight_smile: )


Get this script on greasy fork. Optionally install Wanikani Open Framework. First script? Click here.
Share your score? Go here


Why does the score change after a short wait?

It takes time to calculate your score accurately, but I’m impatient, so I give a quick estimate in light grey while the accurate score is being calculated. If wkof isn’t installed, you’ll always see the estimate which will be accurate when you have no apprentice or guru items :slight_smile:

The quick estimate is 9burn + 8enlightened + 7master + 5.5guru + 2.5apprentice

Why does the review summary score match the reviews page but not the dashboard?

Remember when I said “I lie to you sometimes on the review summary page, but trust me it’s better that way!”. I wasn’t joking. :slight_smile:

When you miss a burn review, the item moves back to guru not enlightened. Thus for missed guru items, you’re “real score” on the dashboard will decrease by more than 1 point.

On the reviews page however, it seemed weird and somewhat depressing to see the counter go down by several points. My goal was to make things fun and not confusing, so I opted to show the simplified ‘correct items’ & ‘incorrect items’ score. Thus far, no one has mentioned this discrepancy, so I probably got this right.

On the reviews summary page, I had to chose what to show:

A) the accurate number of points accrued or lost (which the dashboard shows)
B) the “answered correctly” - “answered incorrectly” score, which seems to make sense but isn’t actually accurate if you missed a burn item.

Since the choice seemed arbitrary, I chose B, because I figured few people would notice, it was easier to code :slight_smile: and the dashboard is always accurate so there’s not much harm in a little fib here.

But… a few people have noticed, so I’ll probably address this next time I make an update to the userscript, making it accurate in a way that’s not surprising.


Nice script, thank you! I’m looking forward to using it during reviews and lessons and to feel its effects.

One thing I don’t get, though, is the right half of the dashboard display. You explain it as

but I don’t understand what it means. I.e. what do you consider to be “completed”? In which case would this not match my WK level? Will it always be lower or equal to my WK level, or can it be higher? etc.
I’d be grateful for some more in-depth explanation here :slight_smile:

1 Like

Good question - I’ll update the description…

Basically, I show % complete in base 60 :slight_smile: In other words, if you burn all items, you’ll be at 60/60. If you’re 1/3 of the way to burning all items, you’ll see 20/60.

Wanikani level shows the number of levels you’ve unlocked, which will always be higher than the number of levels “completed”.

1 Like

Oh, now I see, “complete” means “burned” :slight_smile: It would be easier to understand for me if you used “burned” instead of “complete”.

Are you sure about that? Because right now I’m at Level 33 and your indicator shows I’ve “completed” 32/60 levels. Now, clearly I did not burn all items up to and including Level 32 as I just leveled up a few days ago. Why do I get 32 levels “completed”, then? The answer is of course because WK’s level are not of uniform size. If you look in WKStats, you can see that the levels in the 20’s often have ~130 vocab items, while those in the 50’s are rather around 100 vocab items. So I would not be surprised at all if there were constellations where your “completed” level overtakes the WK level :wink:

I get what you’re saying, but I do hope that you know that this is not what you’re doing - and I’m very happy about it :joy_cat:

1 Like

Ooh I love this! I’ll download it at home.
Maybe make a separate thread as well to share your score? Like Kumirei’s Heatmap thread.


Bug report:
You are not including the very first item, because you start at index 1 instead of 0:

for (let i = 1; i <= items.length ; i++) {
	if ( items[i] && items[i].assignments ) {
		score += items[i].assignments.srs_stage;

Other than that, this seems like a fun script! I’m sooo close to level 60 ^^ It would probably help if I would do the ~200 reviews that are waiting for me for several months now.

1 Like

Yeah… does this make more sense?

This script adds a score to your Wanikani dashboard, showing your real progress toward burning all items. You’ll see your current score (1 point per item per SRS level) and how close you are to burning everything, i.e. 22/60th complete. (hover for more detail)

Ah! You’re right! Since levels are not uniform size, it’s possible for your “real level” to be higher or lower than your “wanikani level”. I was actually wondering why my “real level” was so close to my “level”. Thanks for explaining that.

I get what you’re saying, but I do hope that you know that this is not what you’re doing - and I’m very happy about it :joy_cat:

LOL - I guess it would be less useful to see my score as “8Ha” base 60 :slight_smile:


LOL - I love that. I just got 9 points for fixing my code :slight_smile: Thanks! See version 1.0.1


Yes, very much so! Thank you :slight_smile:

LOL that’s my thoughts exactly :rofl:

I already struggle reading Hex so please, no XD


1 Like

Good idea!
I thought the real score would be the same as the “net progress of SRS” shown in the heatmap script, but when I mark all days in the heatmap output I get a net progress of SRS of 55097 while your script gives me a score of 63854.
Can you explain the difference?



I haven’t played with heatmap, but here’s the ‘real score’ algorithm…

for (let i = 0; i < items.length ; i++) {
	score += items[i].assignments.srs_stage;
1 Like

I just tested with a mini review session of 3 items. I had two correct answers, 1 false. The review summary shows me a progress of 1:
but the overall count didn’t advance - which should be correct, as the error scored a -2, and the 2 correct answers a +2. Shouldn’t the reviews summary display 0, too?

This is why I confessed that I lie sometimes on the review summary page. I went for “least surprising” answer which is simply number or correct items minus number of missed items, or 2-1 in this case.

For a lay person, getting 2 right and 1 wrong seems like a score of 1. Seeing 0 would be surprising.
For a seasoned wanikani guru like yourself, the opposite is true.

I suppose I could add a setting for “ACCURATE REVIEWS SUMMARY SCORE” :slight_smile: What would the precise algorithm be?


For some reason, every time I refresh the dashboard it shows a number for a second and then changes.

Another option would be to show :arrow_up:2 :star: 1​:arrow_down: on the reviews summary page, which would match the reviews page. I actually tried several ways to calculate the score (like normalizing to 1000 points/level) and display the score (many variations).

The current method seemed motivating for me, but I’m open to changing it with more feedback :slight_smile:

Ah… I forgot to mention that. The first number (grey) is the quick estimate which I use when wkof is not installed. It’s calculated from the data available on the page (apprentice, guru, …), so I can get it pretty much instantly.

The 2nd number is the accurate score, which takes a few seconds to calculate, loading the items with wkof. If there’s a faster way to load things, I’d be excited to use it instead.

I liked showing something quickly… but it is a bit odd if you don’t know what’s happening.

The quick estimate is 9burn + 8enlightened + 7master + 5.5guru + 2.5apprentice

Great idea for the script!

I have a little suggestion in mind: may be it is better to use percentage instead of levels? I think it perfectly fits the semantics of the real score, and less confusing when having different numbers of ones WK level and true score level.
Please feel free to ignore me if you like levels more :sweat_smile:


I checked with the detailed apprentice and guru numbers and the total matches your script’s score.


Possibly the heatmap’s scoring doesn’t see the progress made with other tools (like Flaming Durtles).