[Userscript] WaniKani Lesson Filter

What exactly do you have set up? Are any of your scripts working?

Hi, thanks for writing and sharing all these!
Suggestion/comment: I think this little fact “script only runs on the lesson page, not the settings page” might be important to write/share in the Recommended Workflow.

I don’t use script often. I just read through posts, the userscript [WK lesson Filter] and several other userscript posts. Naturally I wanted to check it out/use it right away and couldn’t figure out why I wasn’t seeing the “Items to Learn” box like everyone else. I was on a 2-hr waiting period so, no Lessons! It wasn’t showing up in the WK settings but Step 1 made me THINK that it might/should be in settings (settings in settings seems to make sense!?). Would have saved time searching for this little post all the way at the bottom of the thread :slight_smile: #worthit

Think adding that one line would help other ppl not as familiar with script to benefit from your hard work.

1 Like

I’ve clarified the instructions a bit, so let me know if they make more sense now. Thanks for the feedback. :slight_smile:

1 Like

@seanblue I finally got a chance to test it out when a lesson populated today, and it’s working great on Chrome! :slight_smile:
re [workflow desc]: (I do a lot of copyediting, but my opinion is one of many) I feel that adding in a little more would clarify a lot for novices and still keep it short/concise for the script savvy. “When doing lessons, you will now see the selection box to type in the total number of radicals, kanji, and vocab”

On a separate note, which userscript would you recommend if I want the system to give me ALL of the radicals (or kanji or vocal) of a certain (entire) level in 1 sitting? (WK system parses out lessons/holds lesson items back). Situation: I’ve studied JA before and I want to power through until I get to a level where I’m facing at least 50% new characters. At this rate, there is a high risk of my getting bored and quitting, which I don’t want. Thanks in advance for your thoughts & advice :love_letter:

PS. also read the Ultimate Guide, script descriptions etc. Pls don’t think I’m asking willy nilly without doing homework. Asking because I’m really starting to die slowly from the slowness. I do lessons/reviews everyday, 95%+ accuracy and it’s been over 3 wks on level 5. Pulling out my hair :cry:

I think that should be pretty apparent on the UI, no?

This cannot be changed by any scripts because this is blocked on the server side.

I’d recommend reading this post by someone who was already pretty advanced before they joined WaniKani.

Also, I’m curious, about how many kanji would you say you know?

I think your process definitely needs to be adjusted then, and hopefully reading the Ultimate Guide and using this script can help you along. You should be able to level up in 8-10 days pretty easily using this script if you do the necessary number of lessons each day. (Max speed per level is 6 days 20 hours.)


How many lessons have you been doing every day? For max speed, one should do around 20 lessons/day.

1 Like

Not unless one is familiar with script and know where to physically expect the UI to populate. (remember I first approached you b/c I wasn’t seeing the magic box?) Gave myself a crash course to scrub up on scripts since :wink: Again, my opinion is only one of many.

ah… thanks for the article link, I read it.
I guess when ppl keep writing “I do all the radicals first when I level up” simply means they do all the lessons:radicals when the system offers them. Thought there might be a way to tickle the machine to give me more lol.

Yeah, I’ve been tracking my level-ups and for some reason Lv 5 is at 18 days now. Maybe 98% accuracy on any item (including vocab) is the magic number to keep going at the fastest pace…hmm. I’ve hit 95% and 80/something on a review with 6 items and got the corresponding english wrong. (I was trying to honor the “this is learning” moto, but now, screw this) – I will go for max accuracy over learning (for now)!

To put it simply, I learned JA as a spoken language.
Longer explanation: I have a very LARGE imbalance between my speaking comprehension/cultural nuance v. reading & writing. (ex. I have managed JP as a market in my work, so I can write/speak all the way up to keigo, play in subtle nuances, tones, contextual riffs and certain subject matter arenas, but couldn’t read back what I typed in an email after a coffee break or pick-up something and read it) I could easily pass the N1 if I guessed enough kanji correctly, but I’d like to ‘do it right’.

I joined WK for the kanji, but I love the vocab and radicals too. I’m loving it :heavy_heart_exclamation: I am bummed it won’t give me more lessons up-front and let me blissfully review to my heart’s content :smirk: dammit, WK is like my second s.o. :sweat_smile: :joy: Thanks a million @seanblue

1 Like

Hey @jprspereira read your posts and guide etc, great stuff!
re: I immediately do all the lessons it will give me; reviews too. (using WK 4-6x day; dashboard check every time I check emails throughout the day, so a lot) Think I’m going to abandon the honest spirit of “learning” for a few dozen levels and just focus on acing reviews to level-up fast (for now!) Will add a few @rfindley scripts this weekend :wink:

1 Like

Hmm, in those conditions I think you should level up pretty quickly (around 1 week). The important stuff is the radicals and the kanji. Make sure you get the timing of those right. I recently updated the guide, so it might be worth checking for new scripts, etc ^^

Let me know how it goes in 1 week or so :slight_smile:


@seanblue Nice script - very helpful. I just used it as a jumping off point for a script idea I’m testing out - a “recommended pace” for lessons

Do you happen to have a “WaniKani Review Filter” script too? I’d like to tweak that too…

PS: nice coding style. I was surprised how easy it was to edit your script. I’ve never written (or even looked at) a user script before, but within an hour I added a button and my logic, just by reading through your code. (I did write software for 20 years, but it’s been a decade since I coded)


I do not. I prefer to just do my reviews randomly, so I never felt the need to build a review version.

Thanks. :blush: I’m glad you were able to edit it to your liking. :slight_smile:

1 Like

I’d like to share the additions I made to your user script. Is that ok? Do I just publish it as a new user script and list you in the credits?

I don’t really mind. If you think there could be a lot of interest, posting it as a new script with credit makes sense, so people have a better chance of seeing it. Is it an entirely new concept or just some slight tweaks/additions to my script? What changes did you end up making?

I’m working on a “daily coach” userscript, which asks about your day, then recommends lessons, reviews, and review times for today – to optimize your speed without burning out.

It uses the more complex filter & ordering algorithms others have already made, but hides them behind a ridiculously simple interface, so “normal” users can use it :slight_smile:

I used your script as the foundation of the lessons filter, and I’m starting work on the reviews part next.

1 Like

Currently, I just added a “Recommend” button to your current button layout. The button fills in the recommended lessons for the day. Then I hit “Filter”.

Pretty minimal, but part of my “big plan” :slight_smile:

1 Like

A major use case for the script is to do the same number of lessons every day, which should result in consistent level up time and balanced workload. But it’s not necessarily to minimize level up time. For example, I did 12 lessons every day, consisting of 3 kanji and 9 vocab.

It’s great that you can get your approach to work with the script, but since it’s just one approach of many, I wouldn’t want to build that into the script itself.


That algorithm would leave the first day quite empty the further you get, which would be a shame (because there are fewer and fewer radicals).
And 40 lessons in one day is asking for reviews that come back to bite you over and over: I did the lessons of the first 10 levels too fast and am paying the price now (because even if you get them to master easily enough, they pile up with new lessons later).
This script is helping me to even them out more…(I usually do 15-25 depending on the day)


makes sense. Your solution is very flexible solution and covers many use cases.

I’ll make a new userscript for my case, and credit you for the code I’m borrowing :slight_smile:


Great if that works for you :blush:

(For me doing 5 radicals one day vs 39 vocab lessons another day makes no sense)