← kongli.sh

About kongli.sh

A tour through all 11,172 Hangul syllables.

Why 11,172?

Modern Hangul composes a syllable from up to three slots:

Every slot combination produces a valid, well-formed syllable block:

19 × 21 × 28 = 11,172

That is exactly the count of the Hangul Syllables Unicode block (U+AC00U+D7A3). No gaps, no reserved code points, no surprises.

How they're ordered

Unicode lays the block out in lexicographic (L, V, T) order. Given indices l ∈ [0, 19), v ∈ [0, 21), t ∈ [0, 28), the code point is:

U+AC00 + (l × 588) + (v × 28) + t

where 588 = 21 × 28 is the number of syllables that share a leading consonant. It's a straight mixed-radix encoding, which is why so many operations on Hangul reduce to integer arithmetic:

The arrow keys, PageUp / PageDown, and Home / End on the main page all map directly to these arithmetic steps.

What about the jamo blocks?

Hangul in Unicode is split across several blocks. kongli.sh only scrolls through Hangul Syllables; the other blocks appear as the decomposition pieces shown under the big syllable:

The 11,172 precomposed syllables are canonically equivalent to their conjoining-jamo decompositions (NFD), which is handy: you can paste a syllable into almost any text processor and split it via standard Unicode normalization.

What this site does

kongli.sh is a single static page that lets you scroll, jump, search, and bookmark across the whole block; see romanization and encodings for each syllable; and lock one or more jamo slots to restrict navigation to a filtered subset. Everything runs in the browser — no backend, no accounts, no tracking. See Privacy for details.

Bookmark kongli.sh/today for a deterministic Hangul syllable that changes every UTC day.

Source: github.com/vreid/kongli.sh.