Japanese Practice
Drill Japanese characters and see which ones you miss.
A local desktop application for learning Hiragana, Katakana and Kanji: multiple-choice flash cards, memory-training boards, native Japanese pronunciation, and analytics that show precisely which characters are failing. No account, no network, no telemetry.
- statusActive
- licensePersonal use only
- built withPython · pywebview · Quart
- Hiragana · Katakana · Kanji
- Offline · no account
- Native pronunciation
Personal use only; commercial use, modification and redistribution require prior written consent.

What it does
Features
- 01
Flash cards
One character per card with three options drawn from genuinely confusable characters; choosing scores and flips automatically.
- 02
Memory games
Match Up, Pelmanism and Confusion Drill in all three scripts, unscored boards dealt from your weakest characters.
- 03
Audio
630 bundled clips in two voices, plus local Japanese-native VOICEVOX synthesis with editable pitch accent.
- 04
Analytics
Per-character miss-rate heatmap, weak-character queue, retention curve, leeches, streak calendar and session history.
- 05
Content
Hiragana 104, Katakana 104, Kanji 1,251 across JLPT N5-N1, plus 106 words and 93 phrases in pattern sets.
- 06
Profiles
Multiple learners on one machine, each with a separate database file; progress exports to a portable file.
A closer look



Install
Clone, create a system-site-packages venv and install; a desktop-menu installer is included.
Requirements
- Linux, macOS or Windows
- Python 3.10+
- CJK font (fonts-noto-cjk) for glyphs
- WebKit runtime (gir1.2-webkit2-4.0) for the desktop window
git clone https://github.com/MensuraMedia/language-learning-flashcards.git
cd language-learning-flashcards
# --system-site-packages is required on Linux, or pywebview cannot find
# PyGObject and silently falls back to browser mode.
python3 -m venv --system-site-packages .venv
.venv/bin/pip install -e ".[dev]"./tools/install-desktop.sh- Uninstall with ./tools/uninstall-desktop.sh; it keeps your study data unless --purge
- Study data lives in ~/.local/share/japanese-practice/
- Without a WebKit runtime the app runs in browser mode instead
Full and current instructions: the README on GitHub.
At a glance
| Status | Working and in daily use |
|---|---|
| Content | Hiragana 104 · Katakana 104 · Kanji 1,251 · 106 words · 93 phrases |
| Audio | 630 bundled clips in two voices + VOICEVOX synthesis |
| Platform | Linux, macOS, Windows · Python 3.10+ |
| Licence | personal use only |