Hangul script summary

Updated 18-Jan-2018 • tags hangul, scriptnotes

This page provides basic information about the Hangul script used for writing Korean. It is not authoritative, peer-reviewed information – these are just notes I have gathered or copied from various places as I learned. For similar information related to other scripts, see the Script comparison table.

Clicking on red text examples, or highlighting part of the sample text shows a list of characters, with links to more details. Click on the vertical blue bar (bottom right) to change font settings for the sample text.

Sample (Korean)

제 1 조 모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다.

제 2 조 모든 사람은 인종, 피부색, 성, 언어, 종교, 정치적 또는 기타의 견해, 민족적 또는 사회적 출신, 재산, 출생 또는 기타의 신분과 같은 어떠한 종류의 차별이 없이, 이 선언에 규정된 모든 권리와 자유를 향유할 자격이 있다. 더 나아가 개인이 속한 국가 또는 영토가 독립국, 신탁통치지역, 비자치지역이거나 또는 주권에 대한 여타의 제약을 받느냐에 관계없이, 그 국가 또는 영토의 정치적, 법적 또는 국제적 지위에 근거하여 차별이 있어서는 아니된다.

Usage & history

From Scriptsource:

Hangul is the phonetic writing system developed in 1446 for writing the Korean language. Prior to this, Korean had been written in Chinese characters, called hanja in Korean, but this was laborious. A given Chinese character could be used to represent a spoken syllable, irrespective of its original Chinese meaning, or it could be used to represent the Korean word with the closest meaning to its original. Reading was difficult because the intended function of the character was not always apparent. Hangul was developed by King Sejong to combat the difficulties associate with writing Korean in hanja. However it was not universally accepted, and for a time was prohibited by Japanese colonial authorities. Only after Korea became independent in 1945 was Hangul accepted as the country's national script.

From Wikipedia:

Hangul (/ˈhɑːnˌɡuːl/ HAHN-gool; from Korean hangeul 한글 [ha(ː)n.ɡɯl]) is the Korean alphabet, which has been used to write the Korean language since its creation in the 15th century by Sejong the Great.

It is the official writing system of South Korea and North Korea. It is a co-official writing system in the Yanbian Korean Autonomous Prefecture and Changbai Korean Autonomous County in Jilin Province, China. It is also sometimes used to write the Cia-Cia language spoken near the town of Bau-Bau, Indonesia.

Key features

Hangul is a syllabary used to write Korean. See the table to the right for a brief overview of features, taken from the Script Comparison Table.

The term Hangul is used more frequently in South Korea, whereas a basically synonymous term Choseongul is preferred in North Korea. A politically neutral term, Jeongum, may also be used.2

Each Hangul syllabic glyph is composed of easily distinguishable phonetic components (called jamos), grouped into a square.

It is also possible to find Han characters (referred to as hanja) in South Korean text, but if used they are very infrequent. They are not considered here.

Text can be written horizontally or vertically. The visual forms of characters don't interact. Spaces are used to separate words, but lines tend to be broken in the middle of a word, with no hyphenation.

Character lists

The Hangul syllabic characters in Unicode 10.0 are in the block:

There are also several blocks containing jamo characters, including

The listings at the bottom of the page show a list of characters used, per version 26 of CLDR's lists of characters (exemplarCharacters).


Syllables and jamos

One of the peculiarities of hangul characters is that discreet phonetic symbols, called jamo (자모), are combined within a standard square space to represent a syllable. This means that it is only necessary to learn a small number of symbols to be able to read any of the approximately 11,000 syllablic characters supported by Unicode.

An illustration of how 3 syllabic characters are built up of 7 jamo sounds.

It is possible to store hangul text as either jamos or syllabic characters in Unicode, although the latter is more common. Unicode enables both approaches. If the underlying characters are jamos, the text is still displayed as square syllabic characters – the application has to compose the syllables during the rendering process. It is partly because of the occasional difficulty in guessing syllable boundaries that it is more common to store the text in syllabic characters, which have a one-to-one mapping with what is displayed.

Keyboards, however, are normally organised on the basis of jamos, so the process of creating syllabic characters still has to take place, but between keyboard and storage there are better opportunities for the writer to correct potential errors in syllable boundaries.

The following is from [Unicode]:

Modern Hangul syllable blocks can be expressed with either two or three jamo, either in the form consonant + vowel or in the form consonant + vowel + consonant. There are 19 possible leading (initial) consonants ( choseong ), 21 vowels ( jungseong ), and 27 trailing (final) consonants ( jongseong ). Thus there are 399 possible two-jamo syllable blocks and 10,773 possible three-jamo syllable blocks, giving a total of 11,172 modern Hangul syllable blocks. This collection of 11,172 modern Hangul syllables encoded in this block is known as the Johab set.

Consonants & vowels

There are 19 consonant jamo, which typically have different pronunciations when syllable initial and final.3

list all

Wikipedia lists 21 jamo vowel sounds, however there is disagreement among experts about the number of phonemes vs. diphthongs.3

list all

Obsolete features

There are a number of obsolete consonants, vowels, and diphthongs: see [Wikipedia] for details.

The figure below shows two such obsolete features5:

  • the vowel arae-a, represented by dots below a consonant, and
  • tone marks (used in 15. century Korean).
Text that includes the obsolete vowel arae-a and tone marks (see also phonetic annotations below).

Wikipedia describes the vowel arae-a as follows:

ə (arae-a 아래아 "lower a"): Presumably pronounced [ʌ], similar to modern (eo). It is written as a dot, positioned beneath the consonant. The arae-a is not entirely obsolete, as it can be found in various brand names, and in the Jeju language, where it is pronounced [ɒ]. The ə formed a medial of its own, or was found in the diphthong arae-ae, written with the dot under the consonant and (transcribed i) to its right, in the same fashion as or .

Context-based rendering

Fullwidth and halfwidth characters

Hangul syllables are normally displayed in the same sized square spaces, much like Han and Kana characters.

Embedded Latin text, numbers, or punctuation, however, can be represented using fullwidth, halfwidth, or proportionally-spaced glyphs.

A mixture of fullwidth, halfwidth and proportionally-spaced glyphs in horizontal text.

When Latin characters run down the line in vertical text they are likely to be proportionally-spaced or halfwidth.

Proportionally-spaced Latin glyphs in vertical text.

However, acronyms are likely to be upright and set using fullwidth glyphs.

Fullwidth Latin glyphs used for an acronym in vertical text.

In theory, the Unicode Standard expects ASCII letters to be used for both fullwidth and non-fullwidth rendered characters. The fullwidth characters are intended only for roundtrip character conversions. The expectation is that an appropriate font or fullwidth transform would be used to obtain the desired glyph, however, in practice it is common to find the fullwidth characters available in Unicode being used. Note, however, that if you wanted to use a character outside the basic ASCII set, such as é, you would have a problem with this approach since there would not be a corresponding fullwidth character available in Unicode.


It is possible to kern Hangul syllabic glyphs, as demonstrated in this figure.

Examples of opportunities for kerning syllabic glyphs.

For more information about how this works, see [klreq]. (This is not something that is common in Chinese or Japanese text.)


In addition to the set of ASCII digits, Korean uses the corresponding fullwidth variants.

list all

It also uses % [U+0025 PERCENT SIGN] and [U+2103 DEGREE CELSIUS].

It is common to use ~ [U+007E TILDE] to indicate a range, distance or period, although a hyphen can also be used, eg. 김정희(1786~1856) Kim Jung Hee (1786-1856).


The date 22 July 2018 can be written 2018년 7월 22일. It can also be written as a numeric date, 2018. 7. 22. – note the spaces following the periods in the latter example.


Korean Spelling6 recommends the use of [U+25CB WHITE CIRCLE] and × [U+00D7 MULTIPLICATION SIGN] to replace characters in text that should be hidden, eg. 양구에 있는 ○○ 사단 병력 ○○○ 명을 파견했다. We dispatched … troops of the … division in Yanggu. or 담당 판사는 최×× 군에게 집행 유예를 선고하였다. The judge gave Choi … probation.

When characters being transcribed cannot be read, it recommends representing them using 훈민정음의 초성 중에서 아음(牙音)은 □□□의 석 자다. Among the primitive characters of Hunminjeongeum is the stone of ….

Text layout

This section summarises some of the salient features of text layout that related to Korean text. For more detail and additional requirements, see Requirements for Hangul Text Layout and Typography : 한국어 텍스트 레이아웃 및 타이포그래피를 위한 요구사항.

Text direction

Korean can be set both horizontally and vertically, although vertical Korean is much less common than vertical Japanese, and is increasingly uncommon in modern Korean text.

Horizontal lines are read left-to-right. Vertical lines are read top-to-bottom, and progress from right to left across the page.

Sometimes, short runs of numbers or Latin letters run horizontally within a vertical line. This is called 'tate chu yoko' in Japanese, and the horizontal text can typically be two to four characters in length, but is expected to fit within the line width.

Horizontal runs of number pairs within a vertical line.

Text columns in vertically set text run from right to left, rather than top to bottom. The first column is nearest the top of the page.

Horizontal columns in vertically set text.

If your browser supports vertical text, you can change the direction of the text sample here. Note, however, that it doesn't automatically convert the ASCII punctuation to fullwidth punctuation, as you would expect.

모든 사람은 법 앞에 평등하며 어떠한 차별도 없이 법의 동등한 보호를 받을 권리를 가진다. 모든 사람은 이 선언에 위반되는 어떠한 차별과 그러한 차별의 선동으로부터 동등한 보호를 받을 권리를 가진다.

Text delimiters

Unlike Japanese and Chinese, Korean separates 'words' with spaces.

Korean uses Latin punctuation, however many of the punctuation used have additional fullwidth forms.

For separators at the sentence level and below, the following are used, where the leftmost column indicates approximate equivalences to Latin script.1, 6

 In horizontal textIn vertical text
list all
list all
list all
list all
list all
list all

Book or newspaper titles:

list all

Artworks, trademarks, regulations:

list all
list all
list all

The fullwidth characters used for titles in horizontal text are often not available from keyboards.

[U+318D HANGUL LETTER ARAEA] is apparently used to link items in a list or in contraposition, eg. 빨강ㆍ초록ㆍ파랑이 빛의 삼원색이다. Red, green, and blue are the three primary colours of light, or 한(韓)ㆍ이(伊) 양국 간의 무역량이 늘고 있다. The trade volume between Korea and the United States is increasing.6 This is a fullwidth glyph. It can, however, also be replace with a space.

[U+3014 LEFT TORTOISE SHELL BRACKET] and  [ [U+005B LEFT SQUARE BRACKET] are described in Hangul Spelling6 as equivalent, but both are rendered as different-looking and non-fullwidth glyphs. The font used on my system (Mac OS X) makes one fullwidth and one not, but uses the same glyph shape for both.

Hangul Spelling6 also describes the use of [U+2015 HORIZONTAL BAR] as a means to separate two-part titles. It can either precede or surround the second part of the title, eg. 올해의 권장 도서는 톨스토이의 『인생이란 무엇인가 ― 삶의 길 ―』이다. or 올해의 권장 도서는 톨스토이의 『인생이란 무엇인가 ― 삶의 길』이다. Note that it is surrounded by spaces.


The characters used to delimit quotations also depend on the orientation of the text. Horizontal text normally uses:

list all

Vertical text generally uses:

list all

In the following example it appears to be significant that there is no space following the closing quote mark: 사회자가 “이쪽부터 차례로 자기소개를 합시다.”라고 말했다. The moderator said, "Let's take turns to introduce ourselves".

Quoted text within quoted text appears to start with double quotes first, then single, eg. 그때 누군가가 큰 소리로 말했다. “침착해야 합니다! ‘하늘이 무너져도 솟아날 구멍이 있다.’라고 하지 않습니까?”.6


In addition to - [U+002D HYPHEN-MINUS], the following characters are used as hyphens.

list all

Abbreviation & ellipsis

The following characters are used to indicate continuation.

list all

Ellipsis in Korean usually uses 6 dots. This is typically achieved using a pair of [U+2026 HORIZONTAL ELLIPSIS] characters together, which may put the dots at the vertical centre of the character space, eg. 그는 최선을 다했다. 그러나 성공할지는…… . He did his best. But if he succeeds.... Note that the Korean text also has a sentence-final period, preceded by a space. (It is also possible to use 6 full stops, in which case the dots will be near the bottom of the character space.)6

There is also a double dot character, but it isn't as widely used as the triple dot.


[U+3003 DITTO MARK] can be used to indicate repetition.


Emphasis can be expressed using special marks alongside a character. Modern text typically places a dot above each syllable in horizontal text, or to the right of the syllable in vertical text. An infrequently used alternative is a small open circle.6

Picture of various emphasis symbols.
Typical emphasis marks in modern Korean text.

Older text uses various other symbols, and may place the symbol to the side or below the syllabic character in horizontal text.4

Picture of various emphasis symbols.
Alternative approaches for emphasis marks in older Korean texts.

Emphasis can also be expressed using underlines (see Text decoration). Sometimes the emphasised text is surrounded by single quotes, however this has the disadvantage that it can be confused with quotation marks, eg. 지금 필요한 것은 ‘지식’이 아니라 ‘실천’입니다.

Text decoration

Underlines appear below horizontally set text, and to the right of vertically set text.6

지금 필요한 것은 지식이 아니라 실천입니다.

Underline in horizontal Korean text. (The underline should appear slightly further away from the syllable than shown.)

Note how the underline in the figure above doesn't include the syllables at the end of the word.

Less commonly, a wavy underline is used.

Phonetic annotations (ruby)

This figure shows phonetic annotations of hanja characters (often called ruby), using hangul syllables. The annotations are small in size and are placed below the hanja character, to the right side of the vertical line.5

Phonetic annotations (ruby) below hanja characters in vertical Korean text.

In horizontal text, ruby appears below the hanja characters.5

Phonetic annotations below hanja characters in horizontal Korean text.

Since it is only needed for hanja characters, ruby is rarely seen on the Web and is only used for publishing text which uses hanja extensively, which is not common either.5

Linebreaks & text wrap

Korean can be wrapped on a word-by-word basis, but it is more common in modern Korean to simply wrap at syllable boundaries. It's a question of preference. This includes embedded Latin script text.

Line breaking has to also take into account line-breaking rules (geumchik) which dictate what characters cannot appear at the end or start of a line. Although lines are typically broken after the character that reaches the end of the line, certain characters, such as , should not appear at the start of a line, and others, such as , should not appear at the end. Some character pairs, such as …… or numbers, should not be broken either. For more information, see [klreq].

To test how your browser wraps Korean text, change the width of the browser window and watch how the sample text behaves.

모든 사람은 법 앞에 평등하며 어떠한 차별도 없이 법의 동등한 보호를 받을 권리를 가진다. 모든 사람은 이 선언에 위반되는 어떠한 차별과 그러한 차별의 선동으로부터 동등한 보호를 받을 권리를 가진다.


It is normal for Korean text to be aligned at the line head and line end (ie. not ragged edge).

If text is only composed on Hangul syllables, there is no need for justification, since each character has the same width. However, things such as proportionally-based text and punctuation break the alignment and necessitate small adjustments across a line in order to make the last character flush with the line end. The same occurs when the geumchick rules disallow punctuation or other characters at line start or end.

Justification is done principally by adjusting inter-word spacing.

The visible part of the glyph for opening parentheses is typically placed close to the right edge of the square space allocated to a fullwidth character. The remaining blank space is then available for adjustments, where needed, for justification, etc. The opposite is true for closing paired characters, and fullwidth full stop and comma work similarly.

In the case of vertical text, the ink appears at the top or bottom of the square character space.

Use the control below to see how your browser justifies the text sample here.

모든 사람은 법 앞에 평등하며 어떠한 차별도 없이 법의 동등한 보호를 받을 권리를 가진다. 모든 사람은 이 선언에 위반되는 어떠한 차별과 그러한 차별의 선동으로부터 동등한 보호를 받을 권리를 가진다.

Line alignment

The most common way of starting a new paragraph is to indent the first line of the paragraph by one character space. No paragraph leading is used.1

Picture of various emphasis symbols.
Line indentation as a paragraph marker.

There are, however, alternatives such as no indentation on all lines, or no indentation on the first paragraph after a heading.

Text on a line may be left-aligned, right-aligned, or centred, but in some cases may also be justified so that there is equal space across all characters. See [klreq].

Character details

The following is a list of characters, per version 26 of CLDR's lists of characters (exemplarCharacters).

Click on headings with links to get more information about the characters.


Main 가-힣 11,172
Hanja 丘 串 乃 久 乖 九 乞 乫 乾 亂 亘 交 京 仇 今 介 件 价 企 伋 伎 伽 佳 佶 侃 來 侊 供 係 俓 俱 個 倞 倦 倨 假 偈 健 傀 傑 傾 僅 僑 價 儆 儉 儺 光 克 兢 內 公 共 其 具 兼 冀 冠 凱 刊 刮 券 刻 剋 剛 劇 劍 劒 功 加 劤 劫 勁 勍 勘 勤 勸 勻 勾 匡 匣 區 南 卦 却 卵 卷 卿 厥 去 及 口 句 叩 叫 可 各 吉 君 告 呱 呵 咎 咬 哥 哭 啓 喀 喇 喝 喫 喬 嗜 嘉 嘔 器 囊 困 固 圈 國 圭 圻 均 坎 坑 坤 坰 坵 垢 基 埼 堀 堅 堈 堪 堺 塊 塏 境 墾 壙 壞 夔 奇 奈 奎 契 奸 妓 妗 姑 姜 姦 娘 娜 嫁 嬌 孔 季 孤 宏 官 客 宮 家 寄 寇 寡 寬 尻 局 居 屆 屈 岐 岡 岬 崎 崑 崗 嵌 嵐 嶇 嶠 工 巧 巨 己 巾 干 幹 幾 庚 庫 康 廊 廐 廓 廣 建 弓 强 彊 徑 忌 急 怪 怯 恐 恝 恪 恭 悸 愆 感 愧 愷 愾 慊 慣 慤 慨 慶 慷 憩 憬 憾 懃 懇 懦 懶 懼 戈 戒 戟 戡 扱 技 抉 拉 拏 拐 拒 拘 括 拮 拱 拳 拷 拿 捏 据 捲 捺 掘 掛 控 揀 揆 揭 擊 擎 擒 據 擧 攪 攷 改 攻 故 敎 救 敢 敬 敲 斛 斤 旗 旣 昆 昑 景 晷 暇 暖 暠 暻 曠 曲 更 曷 朗 朞 期 机 杆 杞 杰 枏 果 枯 架 枸 柑 柩 柬 柯 校 根 格 桀 桂 桔 桿 梏 梗 械 梱 棄 棋 棍 棘 棨 棺 楗 楠 極 槁 構 槐 槨 槪 槻 槿 樂 橄 橋 橘 機 檄 檎 檢 櫃 欄 權 欺 款 歌 歐 歸 殼 毆 毬 氣 求 江 汨 汲 決 汽 沂 沽 洛 洸 浪 涇 淃 淇 減 渠 渴 湳 溝 溪 滑 滾 漑 潔 潰 澗 激 濫 灌 灸 炅 炚 炬 烙 烱 煖 爛 牽 犬 狂 狗 狡 狼 獗 玖 玘 珂 珏 珖 珙 珞 珪 球 琦 琨 琪 琯 琴 瑾 璂 璟 璣 璥 瓊 瓘 瓜 甄 甘 甲 男 畇 界 畸 畺 畿 疆 疥 疳 痂 痙 痼 癎 癩 癸 皆 皎 皐 盖 監 看 眷 睾 瞰 瞼 瞿 矜 矩 矯 硅 硬 碁 碣 磎 磬 磯 磵 祁 祇 祈 祛 祺 禁 禽 科 稈 稼 稽 稿 穀 究 穹 空 窘 窟 窮 窺 竅 竟 竭 競 竿 筋 筐 筠 箇 箕 箝 管 簡 粳 糠 系 糾 紀 納 紘 級 紺 絅 結 絞 給 絳 絹 絿 經 綱 綺 緊 繫 繭 繼 缺 罐 罫 羅 羈 羌 羔 群 羹 翹 考 耆 耉 耕 耭 耿 肌 肝 股 肩 肯 肱 胛 胱 脚 脛 腔 腱 膈 膏 膠 臘 臼 舅 舊 舡 艮 艱 芎 芥 芩 芹 苛 苟 苦 苽 茄 莖 菅 菊 菌 菓 菫 菰 落 葛 葵 蓋 蕎 蕨 薑 藁 藍 藿 蘭 蘿 虔 蚣 蛟 蝎 螺 蠟 蠱 街 衢 衲 衾 衿 袈 袞 袴 裙 裸 褐 襁 襟 襤 見 規 覡 覲 覺 觀 角 計 記 訣 訶 詭 誇 誡 誥 課 諫 諾 謙 講 謳 謹 譏 警 譴 谷 谿 豈 貢 貫 貴 賈 購 赳 起 跏 距 跨 踞 蹇 蹶 躬 軀 車 軌 軍 軻 較 輕 轎 轟 辜 近 迦 迲 适 逑 逕 逵 過 遣 遽 邏 那 邯 邱 郊 郎 郡 郭 酪 醵 金 鈐 鈞 鉀 鉅 鉗 鉤 銶 鋸 鋼 錡 錤 錦 錮 鍋 鍵 鎌 鎧 鏡 鑑 鑒 鑛 開 間 閘 閣 閨 闕 關 降 階 隔 隙 雇 難 鞏 鞠 鞨 鞫 頃 頸 顆 顧 飢 餃 館 饉 饋 饑 駒 駕 駱 騎 騏 騫 驅 驕 驚 驥 骨 高 鬼 魁 鮫 鯤 鯨 鱇 鳩 鵑 鵠 鷄 鷗 鸞 麒 麴 黔 鼓 龕 龜 755
Auxiliary ᄀ ᄁ ᄂ ᄃ ᄄ ᄅ ᄆ ᄇ ᄈ ᄉ ᄊ ᄋ ᄌ ᄍ ᄎ ᄏ ᄐ ᄑ ᄒ ᅡ ᅢ ᅣ ᅤ ᅥ ᅦ ᅧ ᅨ ᅩ ᅪ ᅫ ᅬ ᅭ ᅮ ᅯ ᅰ ᅱ ᅲ ᅳ ᅴ ᅵ ᆨ ᆩ ᆪ ᆫ ᆬ ᆭ ᆮ ᆯ ᆰ ᆱ ᆲ ᆳ ᆴ ᆵ ᆶ ᆷ ᆸ ᆹ ᆺ ᆻ ᆼ ᆽ ᆾ ᆿ ᇀ ᇁ ᇂ 67
Punctuation ‾ _ _ - - ‐ — ― 〜 ・ , , 、 ; ; : : ! ! ¡ ? ? ¿ . . ‥ … 。 · ' ‘ ’ " " “ ” ( ( ) ) [ [ ] ] { { } } 〈 〉 《 》 「 」 『 』 【 】 〔 〕 § ¶ @ @ * * / / \ \ & & # # % % ‰ † ‡ ′ ″ 〃 ※ 83


  1. [klreq] 임순범 (Soon-Bum Lim) et al., Requirements for Hangul Text Layout and Typography : 한국어 텍스트 레이아웃 및 타이포그래피를 위한 요구사항
  2. [Unicode] The Unicode Standard v10.0, Hangul, pp713-716.
  3. [Wikipedia] Hangul.
  4. [Github20] Github issue comments by Jihye Hong
  5. [Github21] Github issue comments by Shinjo Park
  6. [한글 맞춤법] 한글 맞춤법[문화체육관광부고시 제2017-12호(2017. 3. 28.)] 바로 가기 (Hangul Spelling [Ministry of Culture, Sports and Tourism Notice No. 2017-12 (March 28, 2017)])
Last changed 2018-01-18 13:29 GMT.  •  Make a comment.  •  Licence CC-By © r12a.