Essential ConceptsA1

Hangul Unicode: How Computers Store Korean Letters

Hangul Unicode explained: the 11,172-syllable block, conjoining and compatibility jamo, the composition formula, and why Korean text sometimes breaks apart.
Read the Guide
Hangul Unicode
Hangul Unicode

Hangul Unicode is the set of Unicode code blocks that store Korean text, chiefly 11,172 precomposed syllables plus separate jamo letters. Most Hangul blocks you see on screen are stored as one numbered character, and that number can be calculated from the block's parts.

What Is Hangul Unicode?

Hangul Unicode is the part of the Unicode Standard that assigns numbers, called code points, to Hangul. It has three main blocks. The Hangul Syllables block holds ready-made blocks from U+AC00 to U+D7A3. The Hangul Jamo block, U+1100 to U+11FF, holds conjoining letters that join into blocks. The Hangul Compatibility Jamo block, U+3130 to U+318F, holds ordinary standalone letters. The syllable block has sat in this range since Unicode 2.0 (1996), which replaced a smaller, differently placed Hangul set from earlier versions.

How Hangul Syllables Are Numbered

Hangul syllables are numbered by a formula, because they are built from three parts with a fixed number of choices. The code point is:

0xAC00 + ((initial × 21) + vowel) × 28 + final

The initial has 19 options (numbered 0 to 18), the vowel has 21 (0 to 20), and the final has 28 (0 for none, then 27 consonants and clusters).

Worked example for 한:

  1. The initial ㅎ is number 18, the vowel ㅏ is number 0, and the final ㄴ is number 4.
  2. (18 × 21 + 0) × 28 + 4 = 378 × 28 + 4 = 10,588.
  3. 0xAC00 is 44,032. Adding 10,588 gives 54,620, which is 0xD55C.

So 한 is U+D55C. The first block, 가 (ㄱ, ㅏ, no final), has all three numbers at 0 and so sits at U+AC00. The parts are called the initial, vowel and final slots.

Why Does Unicode Encode Every Syllable?

Unicode encodes every possible syllable as its own character so that software can store, search and sort each visible block as one unit, as earlier Korean standards already did for a smaller set. The total, 19 × 21 × 28, is 11,172. Most of these blocks never appear in real Korean words, and the older Korean standard KS X 1001 included only 2,350 syllables. Storing all possible blocks keeps rare names, new coinages and old texts displayable. The same blocks can also be built from jamo, which is why two storage methods exist.

Compatibility Jamo vs Conjoining Jamo

Compatibility jamo and conjoining jamo look the same but serve different jobs.

Feature Compatibility jamo Conjoining jamo
Range U+3130 to U+318F U+1100 to U+11FF
Use standalone letters, keyboards, dictionaries parts that join into a block
Example ㄱ = U+3131 ᄀ = U+1100 (initial)
Joins into blocks no yes

A jamo typed on a keyboard is normally a compatibility jamo until the software composes it into a block.

Examples of Hangul Code Points

Three code points show the pattern.

  • 가 is U+AC00, the first Hangul syllable.
  • 한 is U+D55C, as computed above.
  • ㄱ is U+3131, the standalone letter.

You can browse the combinations in the syllable chart. To enter Hangul, learn how to type in Korean, and see the Korean keyboard layout, which composes these characters.

Why Does Korean Text Break into Letters?

Korean text breaks into letters when it is stored in decomposed form, called NFD (Normalization Form D). NFD splits each block into its conjoining jamo, so 한 becomes three characters. Composed form, called NFC, keeps each block as one character. Older macOS file systems (HFS+) stored file names in decomposed form, so a file named 한글 could appear as ㅎㅏㄴㄱㅡㄹ when copied to another system that does not recompose the letters. Learners often assume the text is corrupted, but it is only stored differently. Converting to NFC fixes the display.

A related oddity is the Hangul Filler, U+3164. It is a real character with no visible shape, and it appears as a blank space.

For related definitions, browse the Hangul terms glossary. Next, set up Korean typing. In short, Hangul Unicode stores each Korean block as one of 11,172 numbered characters, and the number follows a formula.

Frequently Asked Questions

Is 11,172 the number of Korean syllables in use? No. 11,172 is the number of syllables that can be formed from 19 initial consonants, 21 vowels and 28 final options, including no final. Most of them never appear in real Korean words. The older Korean standard KS X 1001 included only 2,350 syllables, which covered everyday text.

What is the Unicode for ㄱ? The standalone letter ㄱ is U+3131 in the Hangul Compatibility Jamo block. A different code, U+1100, is the conjoining form of ㄱ used as the first part of a block. They look the same on screen but are separate characters, so searching for one will not find the other.

Why does my name look blank in games? Some players type the Hangul Filler, U+3164, which has no visible shape, so the name appears empty. It is a real Unicode character, not a font error. Some games and websites block it because blank names cause confusion, but systems that allow it show a blank space.

Does UTF-8 support Hangul? Yes. UTF-8 can encode every Unicode character, including all Hangul blocks. Each precomposed syllable takes three bytes. If Korean text appears as question marks or boxes, the cause is usually a wrong encoding setting or a missing font, not a lack of Hangul support in UTF-8.

Save This to Pinterest
Hangul Unicode
Hangul Unicode