[Userscript] WaniKani Show Specific SRS Level in Reviews

: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 it?

When you finish reviewing an item, you see the green or red popover saying what the new SRS level is. However, it only shows Apprentice or Guru without being more specific.
This script changes the popover to show Apprentice 1, Apprentice 2, Apprentice 3, or Apprentice 4 instead of just Apprentice and Guru 1 or Guru 2 instead of just Guru.

For example, instead of showing

you will see

How to Install?

  1. As always, make sure you have a script manager installed. If you don’t, follow these instructions.
  2. Get the script here: WaniKani Show Specific SRS Level in Reviews


  • This script has only been tested in Chrome using Tampermonkey, but will likely work in Firefox as well.

Revision History

1.0.1 - Fix a conflict with Reorder Ultimate.
1.0.0 - Initial release.


Cool I’ll definitely give that a try. It has bothered me from the beginning, that there is no indication of where the item is in the specific bracket.


Yeah, I agree. I decided to write the script after seeing this post by @Leebo.

It was suprisingly easy to write. This does show it only during reviews though, and not on any other pages.


I just tested it. Works great :slight_smile: Thanks for your work.


Tested it in firefox, also works great, thank you very much!

1 Like

That’s weird, it still works fine for me. Are there any errors in the console?

1 Like

I’ll make sure to test it again. I don’t think I even checked the console previously. If I did, then I didn’t see any errors.
Is there a good way of testing review scripts when one’s next reviews are “about 5 hours” from now? :slight_smile:

Unfortunately not. If it doesn’t work again, try turning off all other scripts and try again, just to make sure there’s nothing interfering.

1 Like

Well, there was nothing in the console when I tested it in my last review; and further… well, I turned off all other scripts halfway through the review, and maybe that messed things up somehow? Anyway, before I did that, everything was “normal”, i.e. it would just say “Apprentice” and “Guru” like vanilla WaniKani. But after I deactivated the other scripts, there was no label in the “level notification box” at all, i.e. it was just a little green box with an upward arrow.
Can you make any sense of this?

Next time I will deactivate all other scripts before the review, and I’ll probably also reinstall your script before I do all that.

Anyway, luckily my tweaked version of saxoncameron’s script does exactly what I want now. Still, I’d like to understand what’s going wrong. Also, I’d like to understand more about how userscripts work and become able to write them myself. Even though I dread Javascript. :slight_smile:

Turning off scripts in the middle of the session shouldn’t do anything unless you refreshed the page. This is because by the time you turned the scripts off, they’ve already been loaded on the page and are running.

1 Like

I edited the on/kun reading script to show the SRS level number

Did you post this comment in the wrong thread?

I don’t think so, but it you think it’s irrelevant I’ll delete it

I see. I saw Lvl 8 and assumed it was the level the item appeared on, not the SRS level. No need to delete your post, but if you want to share what you made I’d recommend a new thread so people can easily find it.

Here is the link
I don’t know if it’s useful enough to get its own thread


I wouldn’t use it because anything about level or SRS level before reviewing an item acts as a spoiler and could let you get the item right when you wouldn’t have.

1 Like

That’s true, sometimes I can guess the meaning just because I know that I’ve learned the word recently. But that’s now my only script related sin…

Oh, I did refresh the page.

Okay, good. All I do with the script is modify the function window.Srs.name and add some css. Try running the following in the console, both with the script off and the script on:

[1,2,3,4,5,6,7,8,9].map((v) => window.Srs.name(v))

When the script is off, you should see:

["apprentice", "apprentice", "apprentice", "apprentice", "guru", "guru", "master", "enlighten", "burn"]

When the script is on, you should see:

["apprentice1", "apprentice2", "apprentice3", "apprentice4", "guru1", "guru2", "master", "enlighten", "burn"]
1 Like

need some help here.
I installed the script but doesn’t work at all.
could it be because of this problem marked in some lines as you can see below ?