Free Furigana Generator
Add furigana (readings) over the kanji in any Japanese text. See it as ruby, then copy HTML ruby, 漢字(かんじ), Anki format or plain kana. Runs in your browser.
Readings are placed over the kanji only (食べる → 食[た]べる), using a Japanese dictionary that reads each word in context.
Readings come from a dictionary and the word's context. Names, rare words and words with several readings (such as 今日 or 生) can be wrong, so check before printing.
🔒 Your text stays in this browser. Only the dictionary is downloaded; nothing you type is uploaded.
How It Works
The page loads kuromoji, a Japanese morphological analyser, with the IPADIC dictionary. It splits each line into words, takes each word's reading, and lines the reading up with the kanji so the okurigana stays outside the ruby.
- 1Paste Japanese textType or paste into the "Japanese text" box. Line breaks are kept.
- 2Download the dictionary onceThe first time, press "Download dictionary". It is stored in your browser for next time.
- 3Choose the stylePick hiragana or katakana readings, the text size, and whether repeated words get readings.
- 4Copy or printChoose a format under "Copy as" and press "Copy", or press "Download printable page".
Your text stays in this browser. Only the dictionary is downloaded; nothing you type is uploaded.
Guide
Worked example
Press the "News sentence" example, 東京都は明日から新しい制度を導入すると発表した。 After the dictionary has loaded, the result line reads "7 words annotated". The reading goes over the kanji only: with "Copy as" set to "漢字(かんじ)" you get 東京(とうきょう)都(と)は明日(あした)から新(あたら)しい制度(せいど)を導入(どうにゅう)すると発表(はっぴょう)した。 so the okurigana in 新しい stay outside the brackets. With "Anki" selected it becomes 東京[とうきょう] 都[と]は 明日[あした]から 新[あたら]しい 制度[せいど]を 導入[どうにゅう]すると 発表[はっぴょう]した。 with a space before each annotated word.
Which settings to use, and the limits
- Expect one dictionary download of about 17 MB. Kanji readings need a Japanese dictionary. The first time, press "Download dictionary (17 MB)". It is stored in your browser, and on later visits the page loads it by itself ("Preparing the dictionary…") without asking. "Cancel" stops a download in progress. If your browser blocks storage, as some private windows do, the dictionary is kept only for that visit and downloads again next time. Text with only kana needs no readings.
- Choose the "Copy as" format for where the text will go. "HTML ruby" wraps each word in ruby tags, with brackets for programs that ignore ruby, and escapes & < >. "漢字(かんじ)" and "漢字【かんじ】" put the reading in round or lenticular brackets for plain text. "Anki" writes 漢字[かんじ] with a space before each annotated word, the form Anki flashcards use. "Kana only" replaces each annotated word with its reading. Line breaks are kept; HTML joins lines with a br tag.
- Pick hiragana or katakana readings. Under "Options", "Readings in" switches the readings between "Hiragana" (the default) and "Katakana". Only the readings change; your original text is left as it is. For example 日本語 gets にほんご or ニホンゴ.
- Use "Only the first time each word appears" for reading practice. With this box ticked, a word that has already been given a reading is left plain when it repeats. In 日本語の勉強と日本の文化。日本語を話す。 the count drops from "6 words annotated" to "5 words annotated", because the second 日本語 has no reading. A word counts as repeated only when both the word and its reading match, so 日本 and 日本語 are different words. Note that "Kana only" still shows the repeated word in kanji.
- Use "Download printable page" and "Text size" for handouts. "Download printable page" saves furigana.html, a plain web page with the HTML ruby version of your text, the readings at half the text size, and wide line spacing so they do not collide. Open it in a browser and print from there. "Text size" runs from 16 to 48 px (28 by default) and sets the size both in the preview and in that file. It does not affect what "Copy" gives you. The page uses your current "Readings in" and "Only the first time each word appears" choices.
- Paste Japanese text, a line at a time. Line breaks and blank lines are kept, and each line is analysed on its own. Only kanji get a reading: kana, Latin letters, digits and punctuation pass through unchanged. The page does not set a length limit, but it analyses the whole text again after every edit, so paste a long text in sections. The reader is Japanese only; Chinese text that shares characters with Japanese is read as if it were Japanese.
Common problems and how to fix them
- It says "The dictionary could not be downloaded. Check your connection and try again."
- The dictionary comes as 12 files from this site's models server, and each is checked for size and checksum. A file that does not arrive, arrives damaged, or sends no data for 20 seconds counts as failed. Press "Try again"; files already stored are not downloaded again. If it keeps failing, try another network or turn off any blocker that stops requests to models.libratool.com.
- I only see a box titled "Kanji readings need a Japanese dictionary" and no furigana.
- The result appears only once the dictionary is loaded. Press "Download dictionary (17 MB)" and wait until the progress bar finishes and "Preparing the dictionary…" goes away. The "With furigana" result then appears under your text. If it still does not, check that the text box contains Japanese.
- It says "No readings were found for these characters. They may be Chinese characters that are not used in Japanese."
- This note appears when the text has Chinese characters but none of them got a reading from the dictionary, for example a rare character such as 龘 that the dictionary does not know. Check that the text is Japanese, and replace an unusual character with its common form. Kana-only text does not trigger the note because it needs no readings.
- A reading is wrong.
- Readings come from a dictionary and the word's context, and the page warns that names, rare words and words with several readings can be wrong. Examples from real output: 七時 comes out as ななじ (usually しちじ), 二十歳 as にじゅうさい (はたち), 明後日 as みょうごにち (あさって), 日本 as にっぽん, and 令和 as りょうわ. Copy the result and correct those words by hand, or type a word you know is misread in kana before you generate.
- After I pasted the HTML ruby, brackets appear next to the words.
- The "HTML ruby" format includes rp tags with round brackets. A browser that supports ruby hides them and puts the reading above the kanji. A program that ignores ruby shows the brackets instead, so 漢字 appears as 漢字(かんじ). That is the intended fallback. If you want brackets everywhere, use the "漢字(かんじ)" format instead.
How it compares
Typing every reading yourself is slow but always right for the word you meant. This tool analyses each line with the kuromoji analyser and its IPADIC dictionary, picks the reading that fits the word and its neighbours, and lines it up so only the kanji carry furigana. That makes a quick, usable first draft, but it does not understand the sentence, so dates, counters, names and rare words need a check (see 七時 and 二十歳 above). It gives no pitch accent and no translation, and it reads Japanese only. A sensible workflow is to generate here, then fix the few wrong words in your editor before printing or importing into Anki.
Related Tools
Japanese to Romaji Converter
Convert Japanese to romaji: kanji, hiragana and katakana, line by line for song lyrics, in Hepburn romanization. Kanji use a one-time dictionary download; everything runs in your browser. Free.
Bionic Reading Converter
Convert any text to bionic reading format — the first letters of each word are bolded to help your eyes focus and read faster.
Reading Ruler
A reading focus aid that dims everything except one adjustable band of text, which follows your cursor or the arrow keys. Helpful for dyslexia and ADHD. Paste your text — nothing is uploaded.