WaniKani Custom SRS - WIP

0.4.6 released!

  • Fixes for -suru verbs, conjugation verb levels
  • Add settings section (in main settings section) to select which conjugations to include

@NeoArcturus I’m failing to replicate the multiple line issue, if it happens again could you please right click on the okurigana, click inspect, and then expand with the little arrow this div which should be highlighted if you right clicked directly on the okurigana:
And send me a screenshot of it please? And then also with the same div element selected still a screenshot of the “style” tab that’ll be either below or to the right:
Thank you!!

1 Like


This is not all, the style tab is pretty long lol, please tell me if you need more :slight_smile:


Thank you! It looks like it’s overflowing for some reason (in your first screenshot it has overflow tags, which it shouldn’t have) :thinking: Could you right click > inspect it again and then hover over the div to highlight the actual element on the page like this and send a screenshot please?

Also, what browser do you use? I’ll try and replicate your setup as closely as possible to see if I can get the same issue.
Oh and make sure you don’t have Jitai / any other script that changes that section with the characters in enabled please!


I don’t think I can fix the Jitai issue from this script, but I’ve added instructions for how to change the Jitai script to fix the issue in the top post - it’s just one super small change on one line! It currently makes the english also switch font but I’ll fix that in the next version of this script. If you go into the tampermonkey menu, and go to Jitai and edit then:

Line 361 of the latest version of Jitai (version with recent WK fixes applied) needs to be changed from

const glyphs = item_element.innerText;


const glyphs = item_element.innerText.split("\n")[0];
1 Like

You mean like this?


I’m on Firefox and Windows 11

Also, I noticed that this issue doesn’t happen always, and if it happens, only part of the okurigana is effected sometimes.

(This is still 0.4.5, btw, I haven’t installed the update yet, will do that now :sweat_smile:)

Also, it seems like the verbs that are being chosen are more randomized now. I have no idea why that happened previously :sweat_smile:


Hmm, interesting, the blue box containing the text should grow to whatever width it needs to but it looks like it’s not for some reason… I’ll try it out on Firefox now to see if that’s causing some differences. Thanks for the screenshots!


Should be fixed in 0.4.7, it was a Firefox-specific issue in the end. Let me know if it’s still happening, but hopefully it shouldn’t be!

1 Like

0.4.8 - Finally some additions to the overview tab!

  • Add pack progress views in overview tab, to show the level of each item per level
  • Fix packs levelling up at wrong SRS stage

EDIT: Just realized the colours are broken when not using dark mode lmao I’ll get that fixed with the next update!


0.5.0 - More conjugations + fixes

  • Add receptive and causative forms to conjugation practice
  • Fixes for progress bar colours in light mode
  • Changes to conjugation settings structure to allow adding new auto-activated conjugations

Please let me know if you come across any incorrect verbs in the conjugation practice - it’s possible there could be one or two exceptions that I haven’t thought of yet… There’s more exceptions than I thought there were in japanese verb “conjugation” :sweat_smile:


0.5.1 - Audio Quiz

  • Added audio quiz - will play the audio of burned vocab and ask for their meanings. A great way to practice some basic listening comprehension!
  • Small fixes

Just tried out the conjugation feature and it’s so useful to have, thanks a lot. I have 2 questions:

  1. On Firefox (mobile and desktop), clicking the speaker icon in the audio quiz doesn’t start the audio. Only clicking next to the icon does.
  2. Do you plan to add a feature similar to kaniwani or kamesame (english to japanese)? Having such a feature embedded into WK instead of on a separate website would probably increase my (and hopefully others’) english to japanese study rate.

I’m glad you find it useful!

  1. I’ll take a look as soon as I can, the intention is definitely to be able to click the icon as well as that whole header area.
  2. That’s definitely a good idea - I hadn’t considered that. I’ll keep it in mind to look into once I finish what I’m working on now (cross-device syncing with Google Drive).

Thanks for the feedback!


Just want to clarify something with this script.

I tend to do reviews on multiple devices (both my work and personal computer mainly but also my phone and ipad)

Since you said there’s no cross device syncing yet, from my understanding adding a new deck or word on one device won’t automatically add it on another device, but can this be circumventing by exporting a whole deck and importing it on another device?

I haven’t tried yet, but is that possible?

1 Like

Yes, exporting and then importing will work. Just make sure that if you want your progress within a deck to be kept (SRS levels, last review time) you enable the setting in the settings tab to export SRS progress.

I’m making good progress on cross-device sync with Google Drive, it’s just taking a bit longer than expected because of some quirks in how Google does the API etc. But it should be ready within the next week hopefully!

EDIT 14/4: Finally solved the main issues I was having with Google Drive integration and it’s now working! I need to test it a bit to find out how much I’ve managed to break in the process :upside_down_face: but it should be released tomorrow as long as it hasn’t broken anything big!

EDIT 18/4: It’s lucky I tested it… as there were indeed a ton of bugs with it! I’ve luckily solved around 90%, so I’m hopeful it’ll actually be ready soon. Who knew getting the Google authentication and Drive API working would be slightly complicated… Not sure why I expected it to be a 2 min super simple implementation lol :sweat_smile: In any case - it’s certainly been a great learning experience!


0.5.6 released

Experimental Google Drive sync added! Go to settings, scroll down to experimental, and enable from there. It will open a window prompting a Google Drive sign-in. Just to clarify: this will give the script access to ONLY private storage for the script, and not to ANY of your files. The google access prompt should specify that - if it doesn’t let me know with a screenshot.

Important: at a couple of points of the process a Tampermonkey screen will open asking to allow the script to make web requests - click “always”. This allows it to update/check its files on the Drive, you can check the web address it shows and see that it’s always google-related ones!

After confirming that, it will redirect to another WK tab - be patient and don’t click anything until the loading screen pops up and then should tell you what to do next. If it’s your first device being connected it should load and then tell you to just close the popup and reload your main WK tab, on subsequent connections it should ask you if you want to keep your local or cloud data.
After all that, it should be working. You can always go back to the settings section to see the last sync, or force a push/pull sync.


  • After a review session, the data is not synced until you return to the dashboard.
  • There is a syncing cooldown to prevent API spam. This means that if you make a change on one PC it might take 5-10 min to propagate to other PCs. If you ever need to get around this you can always force push/pull syncs from the settings.
  • It seems like sometimes the Google prompt will say it’s asking for “additional access”. Apparently this is because the script needs a refresh token (to allow syncing even after a few hours / days have passed) and unless I force the “re-confirmation” of access it would only give a refresh token on the first device you did it on. So - it’s not actually asking for any additional access over the basic “separated” storage specifically for the script!

@NeoArcturus if you get a chance it would be amazing if you could check a couple of things: that I haven’t accidentally broken anything outside of syncing, and that the syncing works! There’s definitely still bugs which is why it’s marked as experimental, and you’re amazing at finding bugs I’ve missed :sweat_smile:


0.5.7 released

A few fixes for Drive sync, should now actually sync properly when reloading WK after leaving it for a few hours instead of erroring out!


Just discovered your userscript and am really looking forward to its finished version, especially for the conjugation practice! :heart:
So I downloaded your current WIP version, and now I can participate in bug reporting :laughing: because I found a (really minor) visual bug before using it:
If I scroll the dashboard further down, the numbers in the counter for lessons and reviews don’t show up on the top of the page as they should when I passed the regarding area.

Edit: And they’re no longer clickable (maybe due to not having a number over 0, since they’re normally not clickable if there’s a 0).

I’m using the Opera GX browser on Windows 11 + the following Userscripts:

  • (Open Framework + Open Framework Additional Filters)
  • Reorder Omega
  • Double-Check
  • Self-Study Quiz
  • SRS Grid
  • Ultimate Timeline
  • Item Inspector
  • Heatmap
  • Back to back
  • SRS Distribution Charts
  • Levels by SRS
  • Woah Burns
  • Progress Percentages
  • Level Duration 2
  • Dashboard Level
  • Overall Progress Bars
  • 100% Review Fanfare
  • Pitch Info
  • Niai Similar Kanji
  • Stroke Order
  • 2 Cool 4 Progress
  • Breeze Dark 2

(Sorry if my English sounds a bit weird here and there, it’s not my native language.)


Thanks for checking out the script! That’s an interesting bug, I thought I’d fixed it a while ago… Apparently not completely :laughing:
I’ll take a look. If you get the chance it would be super useful if you could send me a screenshot of the console to check any errors - if you press the F12 key on your keyboard it should open it on the right, make sure you’re on the correct tab:


Sure, here are the screenshots :blush:

Let me know if you need more.

1 Like

Thank you! I’m unfortunately having trouble replicating the issue even when using Opera GX etc. - if it’s happening consistently for you, when you can find 5 min, could you try a couple of things?

  • Does it work correctly with all other scripts disabled?
  • If it does, disable them all and then enable them one by one starting with Open Framework until it stops working, then we’ll know which the culprit is and I can take a closer look at it.
  • If it still doesn’t work with all other script disabled then that’s an issue :sweat_smile: And if that happens I’ll take a closer look at it over the next day or two to try and work out why it’s happening!
1 Like