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.