What do you want now? (Request extensions here)

Not sure if these are already available/can be implemented, but…
A script that automatically opens up the info box for kanji with more than one reading.
A script that shows the kanji stroke order for vocab words. I already have the stroke order script but it only shows for the kanji words, which means you have to go through the vocab page, and then to its kanji page.

A reorder script for lesson quizzes!

First mora by frequency

か: 146
こ: 103
し: 83
せ: 78
は: 76
しょ: 73
さ: 70
そ: 60
け: 58
と: 55
た: 52
き: 49
い: 47
ふ: 43
て: 40
しゅ: 38
ぼ: 37
きょ: 36
ほ: 36
ひ: 35
え: 35
よ: 34
す: 32
お: 30
あ: 29
じょ: 29
ゆ: 28
じゅ: 28
が: 27
ちょ: 27
じ: 27
れ: 26
だ: 25
も: 24
ご: 24
りょ: 24
く: 23
ば: 23
ま: 22
げ: 22
ち: 21
ど: 20
な: 20
つ: 19
り: 19
ろ: 19
きゅ: 17
う: 17
や: 16
しゃ: 16
へ: 16
ぞ: 16
め: 15
わ: 15
み: 15
ら: 14
ぎ: 13
ぶ: 13
ね: 12
に: 12
ざ: 11
の: 11
りゅ: 10
ちゅ: 10
む: 9
ぜ: 9
ひょ: 9
び: 8
る: 7
ぎょ: 7
ぐ: 7
べ: 6
びょ: 5
みょ: 4
で: 4
きゃ: 3
ず: 3
にゅ: 3
じゃ: 3
ちゃ: 2
ぬ: 2
ぎゃ: 2
ひゃ: 1
にょ: 1
りゃ: 1
づ: 1
みゃ: 1
ぎゅ: 1

Second mora by frequency

う: 491
ん: 387
い: 245
く: 171
つ: 104
き: 46
ま: 15
た: 14
ろ: 10
か: 10
ち: 10
な: 10
ら: 10
さ: 8
り: 8
る: 8
わ: 8
し: 7
め: 7
み: 6
ば: 6
に: 5
も: 5
こ: 5
と: 5
ど: 5
じ: 4
れ: 4
ぎ: 4
け: 4
が: 4
ね: 4
お: 3
す: 3
び: 3
や: 3
の: 3
そ: 2
せ: 2
え: 2
べ: 2
だ: 2
て: 2
で: 1
ぶ: 1
ぬ: 1
ゆ: 1
は: 1
よ: 1
ぞ: 1
ふ: 1
む: 1
ぼ: 1
ず: 1

// Get all Wanikani items
wkof.ItemData.get_items().then(items => {
	// Extract only kanji
	var kanji = items.filter(item => item.object==='kanji');
	// Get the 'readings' arrays from all kanji
	var readings = kanji.map(kanji => kanji.data.readings);
	// Flatten into one array
	var readings = [].concat.apply([], readings);
	// Grab only the answers accepted by Wanikani (currently the same as 'primary')
	var primary = readings.filter(r => r.accepted_answer);
	// Extract the reading itself (throwing out other fields from each object)
	var p = primary.map(r => r.reading);
	// Toss out any kanji with 3 or more mora
	var p12 = p.filter(p => p.match(/^(?:[^ゃぃゅぇょ][ゃぃゅぇょ]?){1,2}$/));
	// Grab all first mora
	var first = p12.map(p => p.match(/^[^ゃぃゅぇょ][ゃぃゅぇょ]?/)[0]);
	// Grab all second mora
	var second = p12.map(p => p.replace(/^[^ゃぃゅぇょ][ゃぃゅぇょ]?/,'')).filter(p => p.length > 0);
	// Count occurrences of each first mora
	var first_freq = {}; first.forEach(p => first_freq[p] = (first_freq[p] || 0) + 1);
	// Count occurrences of each second mora
	var second_freq = {}; second.forEach(p => second_freq[p] = (second_freq[p] || 0) + 1);
	// Output first mora sorted by frequency
	console.log('First mora by frequency:\n'+Object.keys(first_freq).map(m => [m,first_freq[m]]).sort((a,b) => b[1]-a[1]).map(m => m[0]+': '+m[1]).join('\n'));
	// Output second mora sorted by frequency
	console.log('Second mora by frequency:\n'+Object.keys(second_freq).map(m => [m,second_freq[m]]).sort((a,b) => b[1]-a[1]).map(m => m[0]+': '+m[1]).join('\n'));

…and you continue to be the computer deity I have known and admired since I signed up! :blush::bowing_man::green_heart:

1 Like

Don’t know if someone mentioned this already, but it’d be great if WK would detect and save aht readings and meanings you enter for kanji and vocab, and when you use one reading/meaning very often but the others not so much WK will ask for any alternative.

Example: The kanji 力 is being reviewed, which has two on’yomi readings. Let’s say you almost always go with りき. So, my idea is that after a while WK will say something like “Correct, but could you think of another reading for this kanji?” and you have to enter another reading (りょく) for this kanji. If you fail to give one, the reading review will be marked as wrong or, if possible to implement, as halfway right.

1 Like

A script that keeps track of your correct answers, basically exactly what is being described in this thread:

I didn’t want to necro an old thread since its from 2016, and I did not find any scripts that already do this, which is why I am posting it here.

I’m not sure if this is hard to implement, but as someone replied in the thread i linked, there is already a script that shows the counter in the top, so it could use that data and just make it “better”?
The idea of it working like a Combo counter in fighting games sounds really motivating to me, so I hope there is someone willing to look into this.

I want a script that shows a JP’s flirt every time you level up.


a bit late… youre already lvl 60 haha :smiley:

you could technically use level up celebrator script and add a custom gif of whatever you want :wink:

1 Like

Yeah, I’m aware of that. My comment was just to mess around a little bit :stuck_out_tongue: My bad.


I figured, but i thought in the off chance you were serious i might answer haha, and I expected my post to get some of those comments, since you should already want to give a correct answer to begin with, and as Mempo so eloquently pointed out, it might be used to cheat, but then again, the examples he used like the override script allow for “cheating” too and yet they exist too so that should in itself not be a reason for it not to exist.
Either way, I hope someone seriously takes a look at this :slight_smile:

1 Like

You just have to change the image of the level up celebrator


I don’t need a userscript as per say but I wanted to know if there is a script which tells me the SRS level of a particular item on their page? Like the default is just streak but it doesn’t tell me which Apprentice/Guru level it is.

There was a script that recoloured items on the level / vocab etc. pages based on their srs levels (I think it was this one), but I’m not sure if it works anymore.

  1. Dashboard notes
    Every time I get a new pile of lessons and figure out how many I want to do each day / at what times etc., I always feel like I want to write it down somewhere that’s easily visible to remind me. It’d be really useful to be able to keep notes directly on the dashboard.

  2. See lesson item type count on dashboard / somewhere without having to enter a lesson
    Is this a thing already? Am I missing something? Why can’t I see how many kanji lessons I have without actually going into a lesson? :neutral_face:

  3. Temporarily increase lesson batch size
    I usually do lessons in batches of seven, but if I only have eight lessons I want to do them all at once. Going to the settings page to up the batch size (and remembering to put it back afterwards) is a bit of a pain :smiley:

1 Like

Ooh, that’s just what I wanted. Thanks! :smile:

Maybe I just haven’t been able to find it, but a script where your incorrect answers get sent to the back of your review list?
Rather than coming up immediately after telling you the answer, so your brain isn’t working to remember the information.


Is there a script available to hide/blur the translations of example sentences in lessons?

I think this works on the lessons page. If not, let me know.

1 Like

Thanks! Installed it and it works perfectly.

1 Like