Korean Jamo Decomposer

Decompose Hangul syllable blocks into individual jamo components

Free Hangul jamo decomposer — split composed Korean syllable blocks like 한 into their individual choseong, jungseong, and jongseong jamo (ㅎ + ㅏ + ㄴ) in your browser. Nothing is uploaded.

What are choseong, jungseong, and jongseong?

They are the three positions in a Hangul syllable block: choseong is the initial consonant, jungseong is the medial vowel, and jongseong is the optional final consonant. The block 한 is ㅎ (choseong) + ㅏ (jungseong) + ㄴ (jongseong).

Korean Hangul writes each syllable as a single square block, but every block is built from smaller letters called jamo. This free tool reverses that composition, splitting any block into its initial consonant, medial vowel, and optional final consonant — for example 한 becomes ㅎ + ㅏ + ㄴ.

How it works

Modern Hangul syllables are encoded in a single contiguous Unicode range from U+AC00 (가) to U+D7A3 (힣), laid out as a perfect grid: 19 initials × 21 medials × 28 finals (the first final slot meaning “none”). To decompose a block the tool subtracts the base 0xAC00 and runs three integer operations:

choseong  = floor(code / 588)
jungseong = floor((code % 588) / 28)
jongseong = code % 28

Each index is then looked up in the standard jamo tables. A jongseong of 0 means the syllable has no final consonant, so only two jamo are shown.

Tips and notes

This is the same arithmetic Korean input methods and romanizers use internally, so the output is exact for all 11,172 modern syllable blocks. Compound jamo — vowels like ㅘ or finals like ㄳ — are single code points in the block and therefore appear as one component, not two. Characters outside the Hangul syllable range (spaces, punctuation, Latin letters, isolated jamo) pass through unchanged. Everything runs locally in your browser.