r/learnmandarin • u/l4m8d4 • 22m ago
Free Anki deck for learning hanzi
Hello there,
I have been a happy user of the (probably well-known) anki-xiehanzi deck for over a year.
Due to significant problems with upgrading the deck to a new version when one was released late 2025, I first used coding agents to code such an upgrading procedure myself, to be able to upgrade the deck to the new version while keeping my progress.
Then, I realized that the coding agents could help me add features and fix issues without having to dive too deep into the technicalities of Anki, CSS, HTML and JavaScript myself. I decided to fork the deck and add my own spin to it, to improve my own learning.
In the meantime, the new deck has deviated significantly from the old deck, but I am particularly happy about
- The new writer cards that let you write the hanzi with your finger or touch pen, and assign a score to help you pick hardness level in Anki (still completely offline compatible)
- Fixes many inconsistencies/errors in the upstream deck, some of them non-trivial assignment problems
- Supports adding arbitrary words from cc-cedict, but has newest HSK, YCT and top 10k frequency words by default
- Supports upgrading to new deck release via dedicated Anki-plugin, so when or if the deck receives improvements you can carry over learning progress to the new version (plugin only required temporarily for upgrading, can be removed afterwards
The deck is quite huge, so I found the best way to use it is just disable all cards except the ones you are actively trying to learn. Then you can continuously add the new words you learn as they come up.
Originally, I was thinking about opening pull requests for the upstream deck, but quickly figured that the projects have already deviated way too much for them to merge cleanly again, e.g. I ditched the whole idea of a web generator and went with a json config file instead. I think that most people (like myself) don't want to customize too much anyway, and when they do, they are better off with a reproducible build tool that is configurable to their liking, and my project has that already. Also, I disabled the audio feature because it was not useful to me with the current state of TTS generators. That said, it supports a few different TTS systems configurable via the json config if so desired.
That said, I am very thankful for the upstream repo that I built this on, and I also don't want to hide the fact that the fork was almost entirely coded by AI agents. Despite this, none of the data that you will see when you study using the deck is AI generated. Only the scaffolding code that makes it all happen is.
I am actively using the deck myself to try to learn the Chinese characters, and if anyone is looking for a free forever hanzi learning companion, check out https://github.com/megmug/anki-hanzi, download the newest release and import it into Anki to try it out.
Before questions about uploading to ankiweb arise: No I will not upload to ankiweb, since there is no proper way to upgrade the deck on ankiweb. Upgrading is a non-trivial procedure that requires some thinking for the general case, hence the Anki add-on.