[Userscript] Better Lesson Picker

:warning: This is a third-party script/app and is not created by the WaniKani team. By using this, you understand that it can stop working at any time or be discontinued indefinitely.


Guide to installing userscripts

Download here


  • Allows you to drag and select items
  • Adds inputs to quickly select the number of items per category
  • “All” input prioritizes radicals > kanji > vocabulary
  • Shift click to select from the previous selected item up to the item you shift clicked
  • Tip: Use a large number to quickly select all items of a category



v1.1.3: Fix CSS for Breeze Dark
v1.1.2: Shift click now works for deselecting, Fix UI
v1.1.0: Add “All” input, Add shift click functionality
v1.0.3: Fix UI
v1.0.2: Numbers greater than the total of an item type now get set to that total
v1.0.1: Minor UI improvements
v1.0.0: Initial Release


Nice! I think this officially makes my Lesson Filter script defunct. I thought about eventually updating it to work on the lesson picker page, but happy to let it retire at this point. Really like your UI as well.


Thanks! I was actually hoping you would update your script, unfortunately by the time I started WaniKani it had already stopped working. Clicking items one by one was starting to drive me insane so I had to make this. The only UI I added was the 3 inputs so it’s hard to really go wrong there :stuck_out_tongue:

1 Like

Yeah I’ve just been super busy with other things unfortunately. It’s a shame since the lesson picker makes it fairly easy to set the selected lessons, so it probably wouldn’t take much to reimplement the script.

Still prettier than my UI. :joy:


Nice, very neat, I like it a lot!


Really happy to see someone made this. There are two things I’d like to see added to it, and if I have the time I’ll probably try and add them myself and share what was done.

First, I’d like there to be a way to tell it to select n items from each item type randomly instead of it being the first n items (something like a checkbox/toggle to say “select at random”).

Second, I’d like there to be a way to select all items of a certain item type. If the items are split across levels, it can be a pain to hit “Select All” for every level’s radical/kanji/vocab section; having a way to quickly say give me all items of [type] from all available levels would be nice (initially I’m thinking that entering in a negative number could do this, like automatically select all available of that type, but I’m not sure this is the most intuitive user experience).

Thank you for your work and contribution!


Glad you like it!

This is already possible if you enter any number >= to the number of items of that type, so you can just enter a large number to select all, this is slightly more intuitive than your suggestion. I could add buttons to do this but will have to consider how to design the UI, I quite like how clean it is at the moment.

Interesting idea, should be pretty simple to do, I’ll implement it tomorrow :smiley: although personally I’ll probably never use it :joy:

1 Like

Oh, glad that it’s possible. I would have been worried that the user wouldn’t be able to tell how many of each type they have, but yeah they can just enter a sufficiently large number without counting like you say. Hopefully if they do this it automatically sets itself to the correct number?

It’s mostly to get back a little bit of what seanblue’s script had with the ability to shuffle the items. Instead of shuffling after filtering, we just select at random instead and this achieves a similar (but ultimately different) effect.

1 Like

Currently it will just display the number you inputted, not sure why I didn’t think of that. Will fix that tomorrow as well. Thanks for the feedback!

1 Like

Actually, perhaps the random selection idea isn’t a very good one. I just remembered that there is lesson order native to the items and sometimes the items will make use of ones you’re supposed to learn before it. So maybe scratch that random selection xD

1 Like

Ah yea, I just looked at seanblue’s script now and was going to suggest that you could possibly achieve the same effect with Reorder Omega but then saw your post on the Reorder Omega forum :joy:. Although even if you achieved shuffling after filtering you could still run into the same issue of getting an item that relies on another first. Will scrap the random selection then :+1: Will fix the large number issue now then quickly should be like a one line change.

1 Like

I think there was recently an update to the UI of the lesson picker?


I just saw it as well, will fix it tonight :+1:


Released v1.1.0

  • Added shift click functionality
  • Added “All” types input it prioritizes radicals > kanji > vocabulary. This prioritization best fits my workflow if you would like it to work another way let me know, perhaps I’ll add some kind of setting to change the priority.



Released v1.1.2

Released v1.1.3

  • Fix CSS to be compatible with Breeze Dark

When you say Breeze Dark do you mean the original or 2? I’m assuming 2 since the original doesn’t seem to be maintained anymore.

Yea I meant 2, although all I really did was change one of the hardcoded colours to a WaniKani variable so it should just work with any theme now.

1 Like