Korean Syllable Block Builder

Compose Hangul syllable blocks from individual choseong, jungseong, and jongseong

Pick an initial consonant, a vowel, and an optional final consonant and the tool composes the exact precomposed Hangul syllable block using the Unicode composition formula.

How is a Hangul syllable block built?

A Korean syllable block has up to three parts: a leading consonant (choseong), a medial vowel (jungseong), and an optional final consonant (jongseong). They are arranged into a single square block, not written linearly, which is what gives Hangul its distinctive look.

Korean is written in Hangul, where letters are not strung out in a line but packed into square syllable blocks. Each block has up to three parts: a leading consonant (choseong), a medial vowel (jungseong), and an optional final consonant (jongseong). This builder lets you pick each part and instantly composes the exact precomposed Unicode syllable, showing its code point — a clean way to see how Hangul’s elegant composition system works.

How it works

Unicode stores all 11,172 modern Hangul syllables in one contiguous, ordered range beginning at U+AC00 (가). Any block is computed with a single formula:

code = 0xAC00 + (initial × 21 + medial) × 28 + final

where:

  • initial is the choseong index, 0–18 (19 consonants).
  • medial is the jungseong index, 0–20 (21 vowels).
  • final is the jongseong index, 0–27 — index 0 means no final consonant, and 1–27 are the final consonants.

Multiplying the slot counts gives 19 × 21 × 28 = 11,172 syllables, exactly the size of the Unicode block. The arithmetic means every selection maps to one unambiguous character.

Example and notes

To build (han): the initial ㅎ has index 18, the vowel ㅏ has index 0, and the final ㄴ has index 4. Plug in: 0xAC00 + (18 × 21 + 0) × 28 + 4 = 0xD55C. Leave the final on “(none)” and you get 하 (ha) instead. Standalone jamo letters (ㅎ, ㅏ) look slightly different from their in-block forms — the builder always outputs the composed block, not the loose jamo.