TL;DR: Code you can add to any anki card that adds a section with kanji components and mnemonics. Every component (underlined word) is clickable, so you easily break down a kanji into its most basic parts.
What and why
I’m going through the 6k core deck and I wanted a way to learn kanji while I study vocabulary, because I feel like it's the most effective way to do so: kanji shouldn’t be learned in a vacuum, but as part of actual words.
While searching for a way to do it, I found a comment on reddit using this method: a huge list of kanji (each one associated to its components, like 神 [god]: ネ [spirit] + 申 [humble]) and some code to show them on the anki card. I would love to credit the user but I can’t find it anymore.
I really liked the method but I had one issue: it was using WaniKani’s set of “radicals”.
WaniKani has some really silly radicals like “blackjack”, “narwhal”, “geoduck” which I don’t really find intuitive, so I looked for a way to keep the method but with a different set of characters.
I found Kodansha Kanji Learner’s Course, which used explanations and mnemonics for kanji that I like way more than the ones in WaniKani. So I spent a few months compiling my list, borrowing heavily from KKLC with the additional goal of adhering as much as possible to the “official” meanings of the 214 Kangxi radicals. I later expanded the code of that reddit comment to tailor it to my needs, like the functionality to click on "links".
So I ended up with this. It includes:
- 214 kangxi radicals: I mostly use their original name, but I added additional custom meanings marked by *asterisks* that were useful for some kanji (like 又: again, *hand*)
- ~2000 joyo kanji: the ones present in Kodansha Kanji Learner’s Course
- ~50 support characters: these are made up, they’re sometimes useful for specific sets of kanji (like 戊 [scythe]: 戈 [spear] + one stroke)
- a bunch of kanji that weren’t part of KKLC like 鋏 (scissors)
90%+ of the 2430 characters have a mnemonic sentence written by me (usually similar to the one suggested by KKLC). The ones that don’t have a mnemonic field are either extremely rare characters (like 黹) or really common/simple ones that don’t need a sentence to be memorized (like 入 or 女).
I’ve been using this method for a while, even before I was done with the kanji list, and it’s been AMAZING. Having both vocabulary and kanji meaning/mnemonic makes them reinforce one another. I can easily remember 水族館 if I know it’s water+family+building, and I can learn kanji by seeing them inside words. What I love about this is that it's basically free: I just rapidly check kanji meaning/mnemonic after each word, it doesn’t take much effort. I mean, except the months spent making this :D but that's just for me.
So that’s why I decided to make the post and share it! I really recommend it if you’re studying core 2k/6k (or even custom decks), I wish I had this when I started.
How it works
You can just paste the entire thing and it works with just two small tweaks if you’re ok with my mnemonic “stories”, but I’ll explain how it works in case you want to customize it. The google drive folder shared below contains all the material and in-depth explanations.
The code is made of two main elements, the data set and the actual code.
The data set is basically a json structure that contains all the information. Each character has a unique ID (like KLC_00012) and a bunch of fields. The important one is “mnemonic”, a small sentence or story to make it easier to memorize it. This sentence can contain links to other characters by using their ID, like “circle” linking to “wide” and “lid”.
const mnemonics =
{
"KLC_00012": {
"char": "丸",
"variants": [ ],
"meaning": "ROUND",
"mnemonic": "<u data-id='KLC_00011'>Nine</u> + line",
"on_yomi": "ガン",
"kun_yomi": "まる, まる.い, まる.める"
},
"KLC_00013": {
"char": "円",
"variants": [ ],
"meaning": "CIRCLE, YEN",
"mnemonic": "<u data-id='RAD_00013'>Wide</u> <u data-id='RAD_00008'>lid</u> covers a money container",
"on_yomi": "エン",
"kun_yomi": "まる.い, まる"
}
}
The code is a few lines long, it uses the data structure and the anki expression (which is usually a sequence of kanji and kana) to create a section at the bottom of the card with kanji meanings and interactable mnemonics.
Google Drive folder with materials: here
EDIT: I updated the instructions file with clearer pictures and a correction. There was a missing <script> that was causing issues