Count Japanese morae for haiku
Japanese poetry is measured in morae (haku), not English syllables. This counter applies the classical rules so you can verify a haiku’s 5-7-5 structure or a tanka’s 5-7-5-7-7, counting each line separately.
How it works
Each kana is one mora, with three adjustments:
き + ょ → きょ (small kana merges → 1 mora)
ん → 1 mora (moraic nasal)
っ → 1 mora (sokuon / geminate)
ー → 1 mora (long-vowel mark)
- Full hiragana and katakana each contribute one mora.
- Small ゃゅょ (and katakana ャュョ, plus small ぁぃぅぇぉ) merge with the preceding kana and add nothing.
- ん, っ, and ー each stand as their own mora.
- Punctuation, spaces, kanji, and Latin characters are ignored.
Why morae and syllables differ
The mora is the fundamental rhythmic unit in Japanese, and it does not map one-to-one onto English syllables. Two key differences catch writers by surprise:
Long vowels add a mora. The word コーヒー (kōhī, coffee) has four morae — コ, ー, ヒ, ー — even though most English speakers hear it as two syllables. Similarly, とうきょう (Tōkyō) is four morae: と う き ょ う → と, う, きょ, う.
ん counts independently. The syllabic nasal ん is its own mora. にほん (Nihon, Japan) is four morae: に, ほ, ん — three characters but four beats because ん stands alone.
This is why a Japanese haiku translated into English and kept to “5-7-5 syllables” does not reproduce the original rhythm. The tools are measuring different things.
Worked examples
| Phrase | Breakdown | Morae |
|---|---|---|
| ふるいけや | ふ る い け や | 5 |
| かわずとびこむ | か わ ず と び こ む | 7 |
| みずのおと | み ず の お と | 5 |
| きょう | きょ + う | 2 |
| しんぶん | し + ん + ぶ + ん | 4 |
| コーヒー | コ + ー + ヒ + ー | 4 |
The classic Bashō haiku 古池や 蛙飛び込む 水の音 has 5-7-5 morae when written in kana, confirming the 5-7-5 structure.
Note on kanji input
The counter only processes kana. If your poem is written with kanji, convert each word to its kana reading first — you can type the kana reading in parentheses beside the kanji, then remove the kanji before counting. The tool ignores kanji and will undercount if they are left in. Everything runs in your browser.