It often happens that I want to supply the furigana (振{ふり}仮{が}名{な}) for some kanji-containing word, but can't figure out the right assignment of the kana to the kanji.

To be clear, the problem here is not that of finding the (overall) reading of a word. I have several ways to deal with this.

The problem I'm referring to here is that of assigning fragments of the overall reading to each separate kanji in a kanji combination.

For example, the 2-kanji word 昨日 (=yesterday) can be read either as さくじつ or as きのう. For the first reading, the assignment of kana to kanji follows readily from the fact that さく and じつ are standard readings of 昨 and 日, respectively. For the second reading, however, the same reasoning won't work.

Another example is the word 微笑む (=to smile) whose reading is ほほえむ. On the one hand えむ is a standard reading for 笑む, but ほほ is not a standard reading for 微. The simplest resolution here is to assume that ほほ is a non-standard reading of 微, and leave it at that. BUT, there is also the formal (if admittedly strained) possibility that here we have a case of two non-standard readings, namely ほ for 微 and ほえむ for 笑む. If I had to guess, of course, I would go for the first (ほほ|えむ) split, but the reason I am posting this question is that I don't want to guess.

Also, in all cases, the assignment problem could be bypassed entirely, by assigning the furigana to the kanji combination as a whole, without assigning the various parts of the furigana string to individual kanji. Following this convention, one would say, for example, that きのう is the furigana for the kanji combination 昨日, as a whole, and that ほほえ is the furigana for the kanji combination 微笑 (in 微笑む), as a whole1. The latter, in particular, strikes me as unlikely, somehow, but when it comes to the Japanese writing system, I've learned to disregard my commonsense.

One possible source of help with such questions would be a set of authoritative rules for doing such furigana assignments and/or authoritative sources that publish such assignments (which may be necessary if the rules suffer from many exceptions).

Alternatively, there could be apps and online tools that provide the correct assignment.

I'm interested in candidates in all these areas.

1Granted, I have run into situations where, due to the relative font sizes and character spacing of the main text and the furigana, there was little or no visual difference between a per-character assignment and a per-combination assignment. For example, for the reading はたち of the word 二十歳 (=20-years old), it may be that one gets pretty much the same result, visually, whether one assigns furigina to the individual kanji (二 🠄 は; 十 🠄 た; 歳 🠄 ち), or to the combination as a whole (二十歳 🠄 はたち). Still, such cases of apparent equivalence are rare and too dependent on the vagaries of typography to rely on.

  • 1
    Are you trying to write software of some kind to do this, or just trying to figure out how you can do it on your own (when typing), etc? In my experience, this is basically always treated one of two ways: Either each kanji in a sequence can match up to its own part of the pronunciation, in which case you can do character-by-character furigana, or it can't, in which you just do a single furigana for the whole kanji group in the word (there may be some special cases with compound words, though). I've never personally found it too hard to figure out when to use which, though.
    – Foogod
    Dec 4, 2022 at 20:34
  • 3
    "As a whole" = [熟字訓]{じゅく・じ・くん}
    – istrasci
    Dec 5, 2022 at 0:55
  • I would recommend w3.org/TR/jlreq/#ruby_and_emphasis_dots but I believe we are not supposed to recommend sources in answers. (We are supposed to ask specific questions ans give specific answers.) Dec 6, 2022 at 0:24

2 Answers 2


It is more a matter of typography than of orthography.

漢字1文字ごとに読み仮名を振るルビをモノルビ、単語単位に振るルビをグループルビといいます。文字と読みの関係を学ぶ目的の文章、教科書や教材(特に低年齢用)ではモノルビが使用されます。漢字の読み方を学ぶ場合ですね。 熟字訓や当て字についてはグループルビが使用されます。特別な読み方の地名にも、グループルビが用いられます。


Assigning reading per character is called Mono-ruby and per word is called Group-ruby. Mono-ruby is used for textbooks which is intended for learning relationships between characters and reading. Group-ruby is used for jukuji-kun and ateji or place names with special readings.

Note that normally readable kanjis are not furigana-ed in most cases (Rules for when to put furigana). Also sometimes mono-ruby takes more space (誕{たん}生{じょう}日{び} vs 誕生日{たんじょうび} from here), so may be less preferred.

At best, what you could do is to find a list of jukuji-kun/ateji and use group-ruby for them/mono-ruby otherwise.


Yes, as @sundowner noted in that final paragraph, there are enough exceptions in Japanese writing that any programmatic approach would have to start with a dictionary (in programming terms).

This dictionary would contain the following alignments:

  • each known single kanji with its regular readings and okurigana (for analysis)
  • each known multi-kanji compound with irregular readings:
    • jukujikun words like 昨日【きのう】 (where the whole reading applies to the whole kanji string, and no single kanji correlates to any particular part of the reading)
    • partially-irregular words like 微【ほほ】笑【え】む, where the ほほ portion actually derives from 頬【ほほ】 ("cheeks") and the 微 ("slightly") kanji spelling was applied later, and the えむ portion is the regular kun'yomi for 笑【え】む ("to smile; to bloom")

You would still have problems applying the correct furigana, as some words like 昨日 have multiple valid readings, and only a close reading of the context and the nuances will reveal which reading is appropriate. (Granted, it's probably safe to use the most common reading きのう for this — but it won't always be right!)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .