[Userscript] Progress Percentages

:warning: This is a third-party script/app and is not created by the WaniKani team. By using this, you understand that it can stop working at any time or be discontinued indefinitely.

What is Progress Percentages

This script calculates how many percent you have learned of the kanji on each JLPT level, Joyo grade, Frequency bracket, and various other sources, then displays this on the dashboard.

It is similar to the charts on @rfindley’s stats site, which is where I got the idea, but differs from it in that it calculates the percentage based on the kanji you have learned rather than the kanji you should have learned after each level.

There are also hover tooltips that tell you exactly how many of the source’s kanji you have learned.


There are two settings for this script; the first of which is whether the percentages should only include each stage’s kanji, or if it should be a cumulative percentage. Cumulative percentages would mean that N3 shows the percentage of all kanji known for N3, N4, and N5 put together.
The second setting is the what should be considered learned. The default here is Apprentice 1, meaning you just have to do the lesson for the item, but you can go so far as to choose burned if you prefer.


Data explanations

  • I assume you are familiar with the JLPT levels N5-N1.
  • Joyo kanji are the kanji that Japanese children learn in school. G1 stands for grade 1.
  • F1-F5 indicate your progress based on the frequency of kanji. F1 are the 500 most frequent kanji, F5 are the 2001-2500 most frequent kanji.
  • NHK refers to NHK Easy News
  • News refers to various online news
  • Aozora refers to Aozora Bunko fiction books
  • Twitter I assume you are familiar with
  • Wikipedia you should also be familiar with

Sources for lists of kanji

JLPT Source
Joyo Source
Total frequency Source
NHK frequency Source
Other frequency sources


You need to have Wanikani Open Framework installed for this script to run. Make sure that it is installed properly and is running first of all scripts.

Available at

The donut buffet


man you’re on fire. I like this script, it will save from checking my progress through https://www.wkstats.com


I demand a refund of the vanilla ice cream I sacrificed upon entry of this so-called “donut buffet”. You dare call that a “donut buffet” when there were none with sprinkles?!


Sprinkles are just sugar, you don’t need them!


Oh and I suppose ice cream isn’t just sugar too?!–no you’re right, you’re right. It’s a very important food group. My bad.


Don’t you dare



These lists are always to be taken with a grain of salt of course. For the last N4 for example I tried to make sure that I had covered all kanji using the list on tanos.co.uk. 押すwas missing but appeared in the kanji section anyway (and I’m still slightly annoyed that I didn’t get it right because you see that kanji all the time on various machines). But it is probably close enough as a preparation.

Is there any way to see the list of kanji that one has not learned yet?


Indeed, they are hardly complete. It seemed to be the same list as rfindley used, so that’s good enough for me.

No, and that’s not something I store (in the browser) either. I tried to use as little localStorage as possible, so I’m only saving the number of learned items for each JLPT level. If I were to implement that I would have to save upwards 2200 items, which I suppose isn’t too much really. How do you think that would be displayed in a good way?

1 Like

Ah, I see. I was imagining something like clicking on e.g. N3 and it would expand a list of all kanji for that level, color coded by item level (Apprentice, Guru… ; Gray = not learned yet), linked to their WaniKani page. So basically similar to the lists here.

which I suppose isn’t too much really

I don’t think so either but it is also not too important, it was just an idea and I thought maybe I had missed something.

1 Like

Sounds good. I’ll do that.

1 Like

Joyo bar forthcoming?

1 Like

I think this is a great script and I reallybut appreciate all the time and effort you put into it!


Sure, if you want that I can add it as a sixth percentage

I was thinking a whole second bar, similar to wkstat’s bar graph. Keep you nice and busy :wink:


Oh, right. I forgot that there were grades to Joyo.

You think it would be best as a separate script or as an optional extra in this one?

I’d personally go with optional extra if it were me, but I’m a sucker for options.
I haven’t examined the code, but options could help with code reusability, depending how similar the two bars would work. Of course that could also be done with a separate js file each import.

1 Like

It’s called JLPT Percentage, respect the name and make another one!

1 Like

Customized with progress bars. :grin:



Thanks @Kumirei :slight_smile:


Thanks @Kumirei :upside_down_face:

1 Like