gitmyhub

KanaTest

JavaScript ★ 33 updated 23d ago

A fully offline, zero-dependency web app for learning and testing Japanese Hiragana and Katakana.

A fully offline, browser-based quiz for learning Japanese hiragana and katakana, open the HTML file and start practicing immediately, no installation, build step, or account needed.

JavaScriptHTMLCSSsetup: easycomplexity 1/5

KanaTest is a browser-based quiz tool for learning Japanese hiragana and katakana. It runs entirely offline with no installation required: download the files, open index.html in a browser, and it works. There is no build step, no npm, and no server.

The app has two main modes. Study mode displays the full character tables for hiragana and katakana, laid out in the traditional Gojuon order with proper column groupings. The tables cover basic characters plus the three modifier categories: Dakuon (voiced sounds), Handakuten (semi-voiced sounds), and combinations. Test mode presents one character at a time on a large card and asks for the romaji equivalent typed from the keyboard. Submitting with Enter gives instant feedback.

Wrong answers do not simply move on. The engine re-queues the question near the front, so you have to get it right before the quiz advances past it. The progress bar only moves forward when you answer a fresh question correctly on the first attempt. This reinforcement mechanic ensures you actually learn the characters you are struggling with rather than moving past them.

The test engine accepts common alternate spellings. For example, the character for shi also accepts si, chi accepts ti, and tsu accepts tu. A results screen at the end shows accuracy, time taken if a timer is enabled, and a grid review of every mistake.

A history of the last 50 test sessions is stored automatically in the browser's local storage, so you can track improvement over time without any account or server. The interface respects the system dark-mode setting and lets you toggle it manually. The entire app is four files: one HTML, one CSS, one JavaScript file with all kana data, and one JavaScript file with the application logic. It is MIT licensed.

Where it fits