Do You Even Kana? Okurigana Matcher

I noticed that this doesn’t accept a trailing 'n' if the vocab word ends in a literal 'ん' (it already worked for words ending in kanji because it just uses /.+/ for them). If anyone else wants it, I changed answerChecker.evaluate to:

answerChecker.evaluate = function(e, t) {
    var isLesson = /^http.*:\/\/www\.wanikani\.com\/lesson/.test(location.href);
    var cI = $.jStorage.get(isLesson ? "l/currentQuizItem" : "currentItem");
    var type = $.jStorage.get(isLesson ? "l/questionType" : "questionType");
    if (cI.voc !== undefined && type === "reading" && !kanaMatches(cI.voc, t)) {
        return { exception: true };
    } else {
        return oldEvaluate(e, t);

function kanaMatches(vocab, input) {
    return makeRegex(vocab).test(input.replace(/n$/, "ん"));

I’m thinking this script could use an override or “submit anyway” function for cases where we legit don’t remember the correct answer. Without it, the script refuses to let me submit my answer, and I have to resort to looking up the correct value to continue, which defeats the purpose of the review. Perhaps if the user presses enter more than once (or twice), the script should let the answer be submitted?

Probably a little late for you and I’m not sure if I understood your request correctly but here are two scripts that might help:

  • Double Check: for correcting your answers if you made a typo and manually override the right/wrong identification
  • Don’t know Button: adds a ? to the answer bar if you don’t know the answer and it will submit a long string that cannot possibly be correct

Do you mean if you can’t remember the Kana?
eg. That り is ‘ri’ etc?

It should let you submit anything so long as the kana is correct. You should absolutely be able to get things wrong if you mess up the Kanji. Let me know if that’s not the case.

does this work for the hiragana typing?

I mean if I want to type 作業(さぎょう) but instead I type さぎょ does it have a shake animation to warn it is not correct?

In my understanding this script only checks the okuriganas, that is kana explicitly present in the vocabulary word. For example in 見る the okurigana is る while み is not an okurigana.

In the example you bring I don’t expect any shake because the word doesn’t contains okurigana.

1 Like

@prouleau is correct. I don’t see any benefit of second chances on the Kanji, that’s what we’re here to learn. Might as well install Never Wrong at that point.

With okurigana though, the answer is in the question.


This is the script I didn’t know I needed but I probably don’t deserve.

If you are still developing it, a feature like “only warn if the kanji part matches” would be quite nice. I usually just input something random like あ into the input box if I don’t know a word and this would help me be lazy basically.


Did you say something about wanting to get some practice with your keyboard?


It broke btw, so I’m waiting for replacements to arrive tomorrow

But yeah, it’s on the list already, alongside my rabbit hole idea and the latest request in the request thread

1 Like

That is kind of hilarious. What keyboard is it, btw?

tldr, the lesson is, don’t buy shoddy arduino knock offs

1 Like

Cool! I was wondering if it was something like that, though I have not seen that version before

1 Like

I’ll think about it. I don’t think it should be too difficult but I haven’t looked at it for a while.
It’s a good idea.


hi ^^

i don’t know if you still want to maintain this script, but at least for me it’s been broken since the recent WK update. i really like this update because it strikes that sweet spot between “i don’t trust myself with the double-checker” and “that was definitely a typo”

do you think you might have a look at this?

or otherwise, does anybody know of a replacement for this script?

thanks either way ^^

1 Like

I’ll have a look at it

1 Like

Okay I’ve made some changes and it should work now. I’m not happy with how I retrieve answerChecker, but it’s something.

Hopefully it’ll do for now.


hi again, and thank you for your reply!

i tried it out, and at first it didn’t work, didn’t even show up in the list of scripts:


and, i’m really not a coder, but it seemed strange to me that it didn’t even show up in the list, so i looked at the code, and realised that this line doesn’t match up with the url which WK uses for reviews now:

// @include http*://*

so i added this line with the current url:

// @include

and now the script shows up in the list, but when i tested it, it didn’t catch the typo:


i see that you refer to an url further down, in this line:

var isLesson = /^http.*:\/\/www\.wanikani\.com\/lesson/.test(location.href);

but i am totally out of my depth here.

anyway, i hope this is helpful? and thank you again for your work, WK wouldn’t be the same without all the work you and others put into the userscripts!

Thanks for your feedback.

Did you update to version 0.11.0?

The include should have changed to
// @include http*://*

1 Like


i’m reasonably sure that i checked for updates right before starting reviews now, and that it told me the script was up to date.

but it was showing up as 0.10.something in tampermonkey.

uninstalled/reinstalled the script, now it’s working!

that’s on me, sorry.

and many thanks for your time and effort!

1 Like