[UNSUPPORTED] [Userscript] WaniKani Prioritize Overdue Reviews (reorder script)

What is it?

This is a new reorder script, which will prioritize giving you “overdue” reviews. This approach was modeled after iKnow’s review algorithm, but with some (user-customizable) randomness thrown in to minimize the chance of hurting your long-term retention.

In general the review items considered overdue will show up for review before the items not considered overdue. See the settings section below for more details.

How to Install?

  1. As always, make sure you have a script manager installed. If you don’t, follow these instructions.
  2. This script depends on the WaniKani Open Framework. Make sure you have that installed by following these instructions.
  3. Get the script here: WaniKani Prioritize Overdue Reviews

Script Details

What does “overdue” mean?

An item’s overdue percentage is how much time has passed since the review became available divided by the length of the SRS interval. Here are two simple examples:

  • An Apprentice 1 item has been available to review for 1 hour.
    • Since the Apprentice 1 interval is 4 hours, the overdue percentage is 1/4 = 25%.
  • A Master item has been available to review for 3 days.
    • Since the Master interval is 30 days, the overdue percentage is 3/30 = 10%.

Why should I use this instead of another reorder script?

Other popular reorder scripts let you reorder by things like WaniKani level and SRS level. Both of those approaches have a high chance of harming your long term retention. When you reorder strictly by WaniKani level or SRS level, your brain starts to consider if you’ve seen an item recently when answering the review. This could hurt your long-term retention, particularly your ability to differentiate between similar looking kanji.

On the surface, reordering by overdue percentage might seem similar to reordering by SRS level. After all, lower SRS level items will generally be overdue more often than higher SRS level items. But there are several important steps this script takes to minimize this risk.

  1. If you tend not to do all of your reviews the moment they appear, some higher level items will be more overdue than lower level items. Particularly if you tend not to clear your whole review queue very often, eventually higher level SRS items will become more overdue even compared to Apprentice 1 items, forcing you to eventually review them! This is the key difference between sorting by overdue percentage and sorting strictly by SRS level.
  2. With the default (and recommended) settings for the script, your overdue items will still be shuffled as is done in vanilla WaniKani. That means that when you have a lot of overdue items, they won’t be sorted in any particular way, even though you’ll (mostly) get to review your overdue items before your non-overdue items.
  3. Also with the default settings, occasional non-overdue items will be mixed in with overdue items. This is once again done to discourage the mindset of guessing based on how recently you learned an item.

Available settings

All of the settings are available to edit during a review session. Saving your settings will automatically update your active review session, so there is no need to refresh the page.

Display Overdue Count

By default, the number of overdue items you have is not displayed anywhere. However, if you turn this setting on, the UI will be updated to look like this:


Advanced Settings

See advanced settings

Overdue Threshold

This value represents the percentage at which your reviews are considered overdue. This setting is used to divide your reviews into an “overdue” queue and a “not overdue” queue.

Valid Values: 0% or greater
Default Value: 20%

Note: Setting this to 0% will make it so that all review items are considered overdue. Depending on your other settings, this will either make the script completely useless or it will increase the chance of harming your long-term retention.

Randomness Factor

This value represents what percentage of your overdue queue should be filled randomly with non-overdue items. This is done to minimize the chance of being able to guess if you’re reviewing an overdue item.

Valid Values: Between 0% and 100%
Default Value: 25%
Using 25% as an example, if you have 8 overdue items, 2 non-overdue items will randomly be mixed in with them.

Note: Setting this too low could harm your long-term retention since it would be easier to guess if you’re reviewing an overdue item.

Overdue Item Sorting

This setting allows you to decide between sorting the overdue part of your review queue or keeping it random.

Valid Values: Random or Sorted
Default Value: Random

Note: Changing this to Sorted could harm your long-term retention since it would make it significantly easier to guess the SRS level of the item you are reviewing.


It is particularly dangerous to set Overdue Threshold to 0%, Randomness Factor to 0%, and Overdue Item Sorting to Sorted. This will result in a completely sorted review queue, which like sorting by WaniKani level or SRS level, has a significant chance of harming your long-term retention!


  • This script has only been tested in Chrome using Tampermonkey, but will likely work in Firefox as well.
  • Please post any bugs/requests and I’ll get back to you as soon as I can.

Revision History

1.0.1 - Update script to use new API endpoint
1.0.0 - Initial release.


Shout out to @jprspereira, @madmalkav, and @Ryouki for helping me test this script to get it as polished as possible before public release. In particular, @jprspereira helped me figure out the general approach for the script, and without him it wouldn’t be nearly as good as it is.


I’ve been using the SRS Reorder script for as long as i remember, i totally forgot that vanilla Wanikani dosn’t group the reading item with the meaning (ask for reading of an item then ask for the meaning right after it). I think, in some way, that made the questions easier for me
it’s the first time i finish my reviews with less than 80% accuracy. I guess that means your script works great right :joy:


Heeeey, you released it! Good job :grin:

Btw, your explanation of it is on point :ok_hand: Long-term usage of reorder scripts do have side effects, even if we think they don’t. We only start seeing them once we realize we’re getting certain kanji right because we know we’re doing reviews from x level, or else we’d have totally mixed them with a much lower level kanji.



kek I’ve already been using this for over a week and it’s great tysm

1 Like

Are you actually doing all your reviews everyday? Otherwise I’d think it would actually be harmful to use this


Geez. How many reviews are you doing every day?

All of them …?

Quantify pls?

Between 500 and 800 usually.




You really are a ninja!

I can’t tell if you’re saying this script would be harmful if you do your reviews everyday or if you don’t do your reviews every day. Can you clarify what you mean?

1 Like

If you don’t do all of your reviews every day, then you’ll be working your way through your queue top to bottom, making the ones at the bottom even more items overdue. If you fail an item, then you might not see it for a while, and successively fail it again when you do.

If you fail an item it’ll drop in the SRS, which means it’ll become overdue faster though. So you’re still likely to see it relatively soon compared to higher level SRS items.


I suppose that’s true

1 Like

this… might be just what i need ><;


i’m gonna give it a good stress test~


Let me know how it goes! You might want to tweak the overdue threshold because I assume with the default 20% pretty much everything will be overdue. :laughing:


Totally going to try this because I never do all my reviews and I feel like I’m always getting things I just learned instead of older things.


Thank you, I’ll definitely try this instead of the SRS order script.

1 Like