iamcheyan/fudoki
An interactive Japanese text analysis and speech synthesis web app
Fudoki is a free, browser-based Japanese learning tool that runs entirely on your device. You paste or type Japanese text; it splits it into words, labels each word's part of speech (noun, verb, particle, etc.), shows how to read it (in kana and romanized letters), and can read the text aloud with a computer voice.
No account, no cloud. Everything — your documents, settings, and the word-analysis data — stays in your browser's local storage. The whole app works offline once loaded (as a PWA).
What you can do with it
Analyze text. Write or paste Japanese, toggle to the analysis view, and each segmented word appears with a small color dot and underline showing its part-of-speech type (noun = green, verb = blue, adjective = orange, adverb = purple, particle = red, interjection = yellow) plus its reading.
Hear it spoken. Play a single word, a line, or the whole document. Adjust speech speed from 0.5× to 2.0×, choose a voice, pause/resume (a dedicated button), and if you change speed or voice mid-playback, it restarts near the current spot automatically. Settings are remembered between sessions.
Look up words. Click any word card to open a dictionary entry (powered by JMdict) showing translations, readings, and example sentences from the Tanaka Corpus — all delivered as offline data slices loaded on demand.
Reading mode. A clean, full-screen overlay that highlights the line being read aloud, with a close button and a toggle that stays accessible while active.
Manage documents. A sidebar with search, favorites, and filters; autosave keeps your writing. You can also use the built-in Markdown editor (bold, italic, headings, lists, links, preview — including a full-screen side-by-side preview).
Export/import your data as JSON backup files.
Name origin
The name fudoki honors Japan's ancient regional gazetteers, the Fudoki (風土記) — records from the Nara period that quietly catalogued local landscapes, customs, and culture. "Fudo" suggests the feel of a place; "Ki" means to record. The app borrows that spirit: it "records the climate of language" — prosody, rhythm, grammar — by segmenting, labeling, and re-voicing Japanese text.
How to use it
- Online: https://fudoki.iamcheyan.com
- Or locally (from the project folder):
python3 -m http.server 8000 # then open http://localhost:8000
Technical underpinnings
- Word segmentation / POS tagging: Kuromoji.js (a Japanese morphological analyzer ported to JS; Apache License 2.0)
- Dictionary: JMdict (Creative Commons Attribution-ShareAlike 3.0) and Tanaka Corpus example sentences (CC BY 2.0 FR)
- Speech: the browser's built-in Web Speech API
- Codebase: a plain static site —
index.htmlplus JS/CSS understatic/, with Kuromoji and dictionary files understatic/libs/dict/; design tokens (colors, radii, POS hues) defined as CSS variables instatic/styles.css - Licensing: MIT License; third-party components licensed as noted above
Notes
The README includes a UI audit report (docs/ui-audit-2026-10-08.md) covering 20 findings with before/after screenshots at multiple screen sizes (desktop 1280×800 / 1920×1080, tablet 768×1024, mobile 390×844 / 365×800 / 320×720, dark and light themes). Contribution guidelines point to GitHub Issues: https://github.com/iamcheyan/fudoki/issues.
Related
- Project
- Project
- Project
- Project