[Userscript] WaniKani Kanji Review Vocabulary List

Sounds like you are approaching it from a good investigative perspective.

If you happen to think of it down the road, tag me with any interesting findings.


This is what I had in mind too.

I’m sure this script will benefit a fair few people, but it’s not one I’d want to use myself.

This is something I can really relate to, and I have yet to find a way apart from writing practice to address this. @rfindley any suggestions regarding this?


Writing is a good option if your number of leeches is small enough .

Beyond that, I’m a firm believer in the brain’s strength at remembering consistent sequences, which may be its most powerful associative cue. I would suggest queueing up a stack of card (physical or anki) where you are exposed to a kanji first, then to 2-3 vocab that use that kanji. Treat it like a quiz, where you have to remember the vocab in sequence after seeing the kanji. Don’t shuffle the order of a kanji and its vocab. But do shuffle each group, so you’re not associating a specific sequence of kanji.

In other words:
1st round: {k1+v1a+v1b}, {k2+v2a+v2b}, {k3+v3a+v3b}, …
2nd round: {k3+v3a+v3b}, {k1+v1a+v1b}, {k2+v2a+v2b}, …

If you find that you associate a particular vocab more strongly with a kanji, put that vocab first after the kanji, because the goal is to recognize where that kanji is used, and you’ll likely remember the other words after recalling the first. (And even if you don’t, that’s probably okay since that’s not the goal).


Cool! I will try this. Although I will probably modify it so that I only see the vocab after an incorrect answer


I’ve done similar, but rather than kanji to vocabulary, it was a constant sequence of similar-looking kanji that I kept getting mixed up. Just my luck, I memorized the order of meanings and soon lost any partial recognition I had of the kanji! Hopefully I’m just the exception that proves the rule on sequential association…

Any brief tips on how to go about this? Like, would you add an array to track which kanji have been seen/misanswered? Or does the page have Javascript tracking your results that you can query?

I’m completely new to writing WaniKani userscripts, so any minor hints may give me a hand up if I later decide to extend this script with configurable options.

1 Like

While WK does store the ID of items that have been partially answered in jStorage, what I did was just check whether the words should be visible every time an answer is submitted. You should look into what WK stores in jStorage. Setting up listeners for when the values change is particularly useful for figuring out when to make your script do something.

Might not be the best way to do it, but it was quick and easy. I just added this to your script

    // Fires every time an aswer is submitted because WK updates the questionCount value
    $.jStorage.listenKeyChange('questionCount', handle_answer)
    // Toggles a class on the #reviews element on and off depending on whether the vocab should be visible
    function handle_answer() {
        // The field containing the user's answer. WK adds a class "incorrect" on this when you answer something incorrectly
        let answer_field = document.querySelector('#answer-form fieldset');
        // WK stores information about the current item in jStorage with the key "currentItem"
        let item = $.jStorage.get('currentItem');
        // If the item is a kanji review and the user answered it incorrectly, then remove the "hidden_vocab_list" class from #reviews
        // Otherwise, add it to #reviews
        $('#reviews').toggleClass('hidden_vocab_list', !(item.kan && answer_field.className == 'incorrect'));
    // Insert some CSS hiding the #vocabulary_list when  the class "hidden_vocab_list" is present on #reviews
    $('head').append('<style id="kanjivocabcss">.hidden_vocab_list #vocabulary_list {display: none;}</style>');

Thanks for the info! It sounds like if I expand this, jStorage will be the next thing to learn a little about.

I see now what you mean about showing after getting a wrong answer. I was mistakenly thinking, “If the kanji is answered wrong the first time, then show the vocabulary underneath when reviewing it the next time.”


For this you would have to store that info yourself. Although, it shouldn’t be too difficult if you set up some listeners on the jStorage keys to monitor and record the changes

1 Like

Actually, that’s exactly what I would expect in that circumstance. The key is to maintain sequence on anything you want associated, and randomize for anything you don’t. That’s the reasoning behind why I advocate for doing an item’s reading-then-meaning back to back, but randomize the items overall in a session.

Where that concept originated: When I first started doing supplemental study on Wanikani, I went to the Level page (which shows all rad/kan/voc for a level), hid the meanings, and worked my way through the grid of kanji as a drilling exercise. It only took about 3 or 4 times through the grid to realize that I was starting to remember the sequence of meanings, so it made sense to randomize the grid each time through. The result was [Self-Study Hide Info].


Oh good, I’m normal!

What you say makes sense.

Yay, that’s how I do my reviews =D

Although, for the longest time I was always doing reading-then-meaning, so about two or three weeks ago I decided switch it up to meaning-the-reading. Since then, every single individual reviewed item, when the card comes up for meaning, I immediately think of the reading. (Even if reviewing 70 items, I default to reading first 70 times in a row.) I’m undecided on whether to just switch it back to reading-then-meaning, or keep trying to break the habit of defaulting to reading first.

1 Like

I do reading first since I consider that the most important. If I get the reading wrong, then reading the correct answer usually jogs my memory for the meaning. If I did meaning first I would be worried about whether I would actually recall the reading when seeing the kanji in the wild

1 Like

My reasoning for doing reading first is: If you think about it, the ‘meaning’ is actually just the English ‘reading’. The real ‘meaning’ is purely conceptual, but we don’t separate the concept from the reading in English, so we think of it as being the ‘meaning’. So, it made sense to me to put the Japanese reading before the English reading, so the Japanese would be the first thing I think of when I see a kanji/vocab. And eventually you look at 猫 and think ‘neko’ instead of ‘cat’, and that’s when you’re thinking in Japanese instead of translating.


Thanks for this. This might actually be very useful for remembering all the common readings of a Kanji. Right now, I remember the reading taught by WK when I see a Kanji, but using this method of yours, I may be able to remember the rest by considering an answer incorrect if I don’t get all the readings right :thinking:. Another way to do that would be to consider that I got the Kanji wrong if I get even one of the following vocabulary readings wrong.


so glad you decided to do this… woo hoo!!! if this works will be super awesome to kill off leeches!!!

1 Like

I’m going to murder some leeches.


realized I posted on your study thread but for this wanted to post it here…a couple of other possible ideas for leeches and self/other move pairs… could see this sort of method being used for displaying the ‘visually similar’ kanji as well as the self/other move verb pairs… getting more complicated but heck could even add your own non WKvocab and sententeces to something like this (would not be great if it that stuff was lost - but import/export like the leaderboard could work)

this is the first time I’ve actually wanted to see the leeches…part of a regular review (maybe it only adds a 30-60 sec per review but it’s a nice quick vocab review built in to the review cycles and that’s super important for me personally…all those external separate reviews through various additional SRS is just exhausting…and haven’t really worked …and on top of that there are potentially lots of other great possibilities with an approach like this…

fingers crossed this approach works for to squach leechy kanji!

1 Like

Although it’s not quite the same thing, be sure to check out the ConfusionGuesser userscript if you haven’t seen it. This one activates upon entering the wrong answer, and I believe it can show visually similar kanji that you might have been thinking of when answering. I mostly do my reviews on the Flaming Durtles app (except for kanji now!), but any time I do reviews through the site, I always appreciate the ConfusionGuesser popping up when I make a mistake.

This one would be outside of my scope to implement because I’ve already learned them. I’d have no way to measure if it’s helping any.

My path to learning these was:

  1. Read lots, so I get general exposure to them. It didn’t help with distinguishing them, but I got a very general feel for their usage. (It’s possible that encountering many verb pairs in WaniKani lessons will have a similar effect to get generally used to them.)

  2. Watch Cure Dolly’s transitivity video. Since I was generally familiar with the verbs, watching this video made distinguishing many (not all) of them unforgettable for me.

Time to brush up on Anki or Kitsun and making sentence cards :wink:

For example, I always get the meaning for 催促 wrong (confuse it with another word, since there as many similar-meaning words learned back to back). So I plan to make an Anki card with the sentence and a screenshot of the video from this Twitter post. Hopefully that will help me properly learn the meaning.

1 Like

already using the confusion guesser script… sometimes it helps but then when it comes up again oh yeah that one I screwed it up again…my memory is horrible…

as far as the self/other move pairs…just meant it’s a nice to have…suggestion or possible thing that could be implemented in a script like this…I have tons problems to be or not to be FFS can’t remember and even watching the cure dolly video about 8 times over the past few years I still often forget which it is and then the ones that flip drive me mad … There’s one vocab recently it’s new level 31 but I’ve reviewed it 51 times and it’s still apprentice because I finally learn it’s to be…then it gets to guru2 and because that interval is too dang long for me…i screw it up and eventually it works it way around again…failed it again a few min ago…just don’t have the memory of a young person anymore

Don’t want to use anki and all the other srs on top of what I’m already doing…already overloaded with SRS and it sucks any fun out of learning… doing WK, bunpro and then adding anki on top…it’s just exhausting… (for me personally). I have tried many times to go back to anki and do vocab there but in the end it’s just a miserable experience for me.

I also use flaming durtles a lot for reviews…so hopefully there will be more kanji tonight … will see how this script goes … only made these mentions because I could see quite a bit of potential in using something like this w/o adding an external SRS.

1 Like

I’ll admit, this would probably happen for me if I were doing 100% of my reviews on the site. (I’m still doing radical and vocabulary reviews on Flaming Durtles. I’m grateful that it has an advanced review setting to order reviews by stage, so I can do all radical reviews, then another advanced review setting to reverse review order so I can do all the vocabulary reviews. That leaves kanji to review on the site.)

Well that gives me something to look forward to.

It could partly be a matter of how you’re going about making the cards/notes. I know I went through a lot of things that didn’t work. But the number of daily reviews you have total can impact things as well. For example, the only way I’ve been able to take on Anki for daily reviews was to find ways to reduce my WaniKani daily reviews (including stopping lessons for w while). So, I definitely empathize with you on this one!

By the way, I don’t mean to sound dismissive of your thoughts and ideas. If I can salt these kanji leeches of mine, I will definitely be doubling down on finding ways to take on the vocabulary leeches.

1 Like
don't think you're being dismissive at all...no worries ... all constructive discussion :)

for me personally too many SRS just wipes all motivation away…and no matter what I ended up doing just seemed like all I had time for was SRS and no actual fun things…real motivation killer - same reason I gave up on KW

can you imagine having to give up all the things you read because you are overwhelmed by SRS :wink: the horror hehe

when I finally got to see the script in action…was thinking … this type of script and the layout has some real great possibilities and wanted to share some random ideas… (good, meh, and maybe horrible ideas) but wanted to throw them out.

really pleased you chose to develop this and share this script....really hoping this one works to kill those evil leeches....

ultimately the best thing would be WK to finally actually take action and build something proper instead of relying on users to try to script something that should really be a default feature in any SRS (gonna keep calling out WK on this until they do…maybe they never will but it’s annoying - looking at 2.5 to 3 years to finish WK at the rate I’m forced to go because of the leechy hell)

1 Like