Sakubun - A tool to get customized kanji practice (integrates with WaniKani)

: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.

I’ve made a tool called sakubun - it helps you practice kanji and improve your vocabulary.

It’s customizable because it lets you make a list of all the kanji you’ve learnt so far, and it gives practice sentences that use exclusively those kanji. To make the kanji list, you can just import your WaniKani progress. You can also add kanji manually or import it from some other sources.

It has a collection of over 130K practice sentences with English translations, taken from the tatoeba project. The original tanaka corpus had more sentences, but sentences that were marked as unreliable are not included here.

The website works on all devices, and you can also install it as an app if you’d like - instructions for that are given in the website. Sakubun is completely free and open source software (GitHub, so feel free to contribute if you’d like!

Here are some screenshots:

Quiz on desktop, with light theme

Furigana on custom text, with dark theme

Any kind of feedback, suggestions, or criticism is highly appreciated :smiley:


Looks good! I like tools that let me generate random snippets of content to practice reading.

It got meta quickly too.


I agree! This is the best sakubun of all the sakubun’s I’ve tried. :slight_smile:

I would like to be able to choose Kanken levels from the dropdowns as well, because I frequently focus on various Kanken content, but I guess importing decks from somewhere would be okay for that.


A feature where you can use all kanji up to a specific wanikani level would be useful, for example, I just reset to level 1, but I know kanji from much later levels and selecting all of them myself would be too tedious. Looks like an awesome app, but I’ll have to wait a while to use it effectively.


Lmao yes very meta
Thank you!

I would like to be able to choose Kanken levels from the dropdowns as well, because I frequently focus on various Kanken content, but I guess importing decks from somewhere would be okay for that.

Oh okay sure, I’ll add the option :slight_smile:


Oh you make a great point, I’ll add the option to choose WaniKani levels manually.


@Leebo I’ve added the option to import in the Kanken order

@onekun I’ve added the option to import in the WaniKani order without using an API key, so you can add all the kanji up to a specific level like you asked for


I tried it out earlier today and really liked it, but currently I’m getting an application error. Do I need to use a specific browser or something?

Same, would love to try it when it’s back up

Success was too great for heroku. :stuck_out_tongue:

@Elysiium @evelynriales @whinette I’m really sorry, looks like heroku was not happy with so much activity :sweat_smile: I’ve fixed it now!



So in every sentence involving 間 kuroshiro has decided to transcribe it as ま as opposed to あいだ. I can’t tell if that’s a bug or if I really need to review this concept

1 Like

You’re right, there are some other sentences where kuroshiro gives incorrect readings too (especially with counters). I’m thinking of adding an option where users can report incorrect kana transcriptions, and after I review the report it’ll get added to an override list, so that the next time someone gets that sentence they’ll have the right reading. I can also make it accept multiple answers when more than one reading is correct, like にほん and にっぽん.

I tried looking for other options to generate transcriptions, but kuroshiro seemed the best… If anybody knows of other good options, I’d love to try them out (it doesn’t have to be JavaScript). Until then though, I think adding the report feature might be the best solution, so I’ll start working on that soon.


Yeah I’m not sure how realistic that is given the size of the Tatoeba corpus but you’re welcome to try. Anyway, I was honestly just concerned that I built a bad reading habit with 間 since it was so consistent about it.

1 Like

The automatically generated readings are a little concerning, at least until more of them are sorted out. Because it’s almost like you need another resource at the ready to make sure the site graded you correctly because tricky readings are exactly the kind of thing you would confidently get wrong.

I had 将来君は何になりたいですか and the system apparently thought the question was being directed at someone called しょうらいくん.


I’ve added the report feature; now users can report any quiz question if the reading is wrong, or if there are additional correct readings, etc.

Like you said, this is very far from a perfect solution because the corpus is enormous, and the effects of these reports won’t be visible for a while, but I hope eventually it’ll improve the quality of questions by a bit :thinking:

1 Like

When importing from WK, is there a filter of SRS level? I mean, only Guru+ kanji get imported or smth like that?

I mean, my 申 is Apprentice. Common practice with WK-friendly sites is that an item is considered learned when it’s Guru+.

It considers all kanji that were Guru at at least one point in time. Do you think it would make more sense for it to consider only kanji that are currently Guru+? :thinking: I suppose that does seem better

Ah yes, it used to be Guru but I failed reading once aaanndd. Yeah, I’d go with “currently” just not to mess with WK’s srs routine. Let it Guru, then reinforce with practice. Makes sense

I’ve changed that, now only kanji that are currently Guru+ should be imported.

1 Like