A small Python tool that visualizes your Japanese vocabulary progress using data from SirOlaf/migaku-anki-exporter.
It compares your exported Migaku wordlists with a JLPT vocabulary file and shows how many words you know, are learning, or haven’t learned yet.
A JLPT frequency list compatible with the new Migaku extension sourced from stephenmk's meta dictionary for Yomitan.
• Shows your JLPT vocabulary progress as a pie chart.
• Copies the a list of unknown words to your clipboard for quick review with Migaku Clipboard (Great for generating AI sentence cards when you haven’t hit your daily quota or for those last remaining words that are tricky to find).
• Treats words in ignored.csv as known.
• Automatically installs required libraries if missing.
• Exports all unknown JLPT words to unknown_words.csv.
• Aborts if a required file is missing.
JLPT_Progress_NX/
│
├── JLPT_Vocab.json
├── jlpt_progress.py
│
├── wordlists/
│ ├── known.csv
│ ├── learning.csv
│ └── ignored.csv
│
├── unknown_words.csv
└── progress_chart.png
You must have SirOlaf/migaku-anki-exporter installed and configured.
This exporter generates the known.csv, learning.csv, and ignored.csv files that this tracker uses.
Follow the setup instructions on that repository before running this tool.
Download and extract your desired JLPT X level JLPT_Progress_NX.zip.
Export and extract your Migaku wordlists .csv files using SirOlaf/migaku-anki-exporter and place them inside the wordlists/ folder.
Run the script from your terminal:
python app.py
It will:
- Install the necessary libraries.
- Check that the required files exist.
- Generate a pie chart (
progress_chart.png). - Save your unknown words to
unknown_words.csv. - Copy the first 500 unknown words to your clipboard.
Example output:
📋 First 500 unknown words copied to clipboard (out of 3765 total).
✅ Total JLPT N1 words: 8127
Known (including Ignored): 4048
Learning: 314
Unknown: 3765
Unknown words saved to: unknown_words.csv
Chart saved to: progress_chart.png
Chart:
Unknown words pasted in Migaku Clipboard:
- matplotlib: chart generation
- pyperclip: clipboard support
Both will be installed automatically if missing.
This script was generated quickly using ChatGPT and may not be optimized or feature-complete.
It’s mainly intended as a personal utility for Migaku users who want a simple way to visualize their JLPT N1 progress.
If you find it useful, feel free to improve or extend it.
- stephenmk/yomitan-jlpt-vocab for the vocab list.
- SirOlaf/migaku-anki-exporter for the export data.
- Migaku for the language-learning tools that inspired this project.