How to type Korean with this keyboard
Choose how you want to type with the tabs above the text box:
- Dubeolsik (standard): the layout printed on every keyboard sold in Korea. Your English keys type the Korean letter in the same position, so G K S gives 한 and D K S S U D gives 안녕. Hold Shift for the double consonants ㅃ ㅉ ㄸ ㄲ ㅆ and the vowels ㅒ ㅖ.
- Romanization: type Korean words in Latin letters using Revised Romanization, the official system used on road signs in Korea. annyeonghaseyo becomes 안녕하세요, gamsahamnida becomes 감사합니다 and hangeul becomes 한글.
In both modes the letters (jamo) combine into syllable blocks as you type, exactly as on a Korean computer. Clicking the on-screen keys works the same way. Press Esc in Dubeolsik mode to switch between Korean and normal English typing.
Backspace: while you are still typing a syllable, Backspace takes away one letter at a time (닭 → 달 → 다 → ㄷ), like a Korean input method. Once you move on (after a space, a click or punctuation), it deletes whole syllables. In Romanization mode, Backspace removes the last Latin letter of the word you are typing and converts the word again.
Korean keyboard layout (Dubeolsik)
The standard Korean layout is Dubeolsik (두벌식, "two-set"), set by the Korean standard KS X 5002. Consonants sit on the left half of the keyboard and vowels on the right, so typing usually alternates between hands. The small letter on each key is the English key in the same place.
Seven keys change with Shift. Every other key types the same letter with or without it:
| Key | Without Shift | With Shift |
|---|---|---|
| Q | ㅂ | ㅃ |
| W | ㅈ | ㅉ |
| E | ㄷ | ㄸ |
| R | ㄱ | ㄲ |
| T | ㅅ | ㅆ |
| O | ㅐ | ㅒ |
| P | ㅔ | ㅖ |
Hangul consonants
Hangul has 14 basic consonants and 5 doubled (tense) ones. Many consonants sound different at the start of a syllable and at the end, which is why the romanization has two columns. Korean has no voiced/voiceless contrast like English b/p: instead it has plain, aspirated (with a puff of air) and tense sounds, for example ㄱ, ㅋ and ㄲ.
| Letter | Name | Start of syllable | End of syllable | Sound | Key |
|---|---|---|---|---|---|
| ㄱ | giyeok (기역) | g | k | between g and k; k at the end of a syllable | R |
| ㄴ | nieun (니은) | n | n | n | S |
| ㄷ | digeut (디귿) | d | t | between d and t | E |
| ㄹ | rieul (리을) | r | l | a light flap r between vowels, l at the end | F |
| ㅁ | mieum (미음) | m | m | m | A |
| ㅂ | bieup (비읍) | b | p | between b and p | Q |
| ㅅ | siot (시옷) | s | t | s (sh before i); t at the end | T |
| ㅇ | ieung (이응) | (silent) | ng | silent at the start, ng as in sing at the end | D |
| ㅈ | jieut (지읒) | j | t | between j and ch | W |
| ㅊ | chieut (치읓) | ch | t | ch with a puff of air | C |
| ㅋ | kieuk (키읔) | k | k | k with a puff of air | Z |
| ㅌ | tieut (티읕) | t | t | t with a puff of air | X |
| ㅍ | pieup (피읖) | p | p | p with a puff of air | V |
| ㅎ | hieut (히읗) | h | t | h | G |
| ㄲ | ssang-giyeok (쌍기역) | kk | k | tense k, no puff of air (as in skin) | Shift+R |
| ㄸ | ssang-digeut (쌍디귿) | tt | (never final) | tense t (as in stop) | Shift+E |
| ㅃ | ssang-bieup (쌍비읍) | pp | (never final) | tense p (as in spin) | Shift+Q |
| ㅆ | ssang-siot (쌍시옷) | ss | t | tense, hissing s | Shift+T |
| ㅉ | ssang-jieut (쌍지읒) | jj | (never final) | tense j, like the ts in cats said sharply | Shift+W |
Hangul vowels
There are 10 basic vowels and 11 compound vowels. Basic vowels are built from a vertical line (ㅣ), a horizontal line (ㅡ) and short strokes; adding a second stroke adds a y sound (ㅏ a → ㅑ ya). Compound vowels join two vowels into one, and on this page you type them as two keys: ㅗ then ㅏ makes ㅘ.
| Vowel | Romanization | Sound | Dubeolsik keys |
|---|---|---|---|
| ㅏ | a | a as in father | K |
| ㅐ | ae | e as in bed | O |
| ㅑ | ya | ya as in yard | I |
| ㅒ | yae | ye as in yes | Shift+O |
| ㅓ | eo | o as in son (open, unrounded) | J |
| ㅔ | e | e as in bed | P |
| ㅕ | yeo | yu as in young | U |
| ㅖ | ye | ye as in yes | Shift+P |
| ㅗ | o | o as in go (rounded, no glide) | H |
| ㅘ | wa | wa as in wander | H then K (ㅗ + ㅏ) |
| ㅙ | wae | we as in wet | H then O (ㅗ + ㅐ) |
| ㅚ | oe | we as in wet | H then L (ㅗ + ㅣ) |
| ㅛ | yo | yo as in yoga | Y |
| ㅜ | u | oo as in food | N |
| ㅝ | wo | wo as in won | N then J (ㅜ + ㅓ) |
| ㅞ | we | we as in wet | N then P (ㅜ + ㅔ) |
| ㅟ | wi | wee as in week | N then L (ㅜ + ㅣ) |
| ㅠ | yu | you | B |
| ㅡ | eu | oo with unrounded, spread lips | M |
| ㅢ | ui | eu gliding into i | M then L (ㅡ + ㅣ) |
| ㅣ | i | ee as in see | L |
In everyday Seoul Korean, ㅐ and ㅔ sound the same, and so do ㅙ, ㅚ and ㅞ. Spelling still keeps them apart, so it's worth learning which words use which.
How Hangul syllable blocks work
Korean isn't written letter by letter in a row. Letters are grouped into square blocks, one block per syllable. Every block has:
- an initial consonant (use the silent ㅇ if the syllable starts with a vowel),
- a vowel, placed to the right of the consonant if it's tall (ㅏ ㅓ ㅣ) or underneath if it's flat (ㅗ ㅜ ㅡ),
- and optionally a final consonant (받침, batchim) at the bottom. Eleven pairs of consonants can share the final spot: ㄳ ㄵ ㄶ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅄ.
| Block | Letters | Shape |
|---|---|---|
| 가 | ㄱ + ㅏ | Consonant with a vowel on its right (ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅣ) |
| 고 | ㄱ + ㅗ | Consonant with a vowel underneath (ㅗ ㅛ ㅜ ㅠ ㅡ) |
| 과 | ㄱ + ㅘ | Compound vowel wrapping around the corner |
| 한 | ㅎ + ㅏ + ㄴ | Final consonant (batchim) at the bottom |
| 글 | ㄱ + ㅡ + ㄹ | Vowel underneath, then a final consonant |
| 닭 | ㄷ + ㅏ + ㄺ | Two final consonants side by side |
| 아 | ㅇ + ㅏ | A syllable starting with a vowel uses silent ㅇ |
That gives 19 initials × 21 vowels × 28 final options (including none) = 11,172 possible syllables. Unicode lists every one of them in order, so a syllable can be calculated rather than looked up: code point = 44032 + (initial × 21 + vowel) × 28 + final. For 한, ㅎ is initial 18, ㅏ is vowel 0 and ㄴ is final 4, giving 44032 + (18 × 21 + 0) × 28 + 4 = 54620, which is U+D55C. This keyboard uses exactly this calculation as you type.
Typing rules you'll notice
- A final consonant moves to the next syllable when a vowel follows: 각 + ㅏ → 가가. With a pair of finals, only the second one moves: 닭 + ㅏ → 달가.
- Two vowels that form a compound vowel combine: 오 + ㅏ → 와, 우 + ㅓ → 워, 으 + ㅣ → 의.
- Two finals that can share the bottom spot combine: 달 + ㄱ → 닭, 안 + ㅈ → 앉, 값 is 가 + ㅂ + ㅅ.
Typing Korean in romanization
Romanization mode follows Revised Romanization of Korean, the official system in South Korea since 2000. The whole word is converted again after every letter, so while you type hangeul you'll see 항, then 한게 and 한그, and finally 한글.
| Type | Hangul |
|---|---|
g, k, n, d, t, r / l, m, b, p, s, j, ch, h | ㄱ ㅋ ㄴ ㄷ ㅌ ㄹ ㅁ ㅂ ㅍ ㅅ ㅈ ㅊ ㅎ |
kk, tt, pp, ss, jj | ㄲ ㄸ ㅃ ㅆ ㅉ |
ng (end of a syllable) | ㅇ as a final |
k, t, p (end of a syllable) | final ㄱ, ㅅ, ㅂ (bap → 밥, mat → 맛) |
a, ae, ya, yae, eo, e, yeo, ye | ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ |
o, wa, wae, oe, yo | ㅗ ㅘ ㅙ ㅚ ㅛ |
u, wo, we, wi, yu | ㅜ ㅝ ㅞ ㅟ ㅠ |
eu, ui, i | ㅡ ㅢ ㅣ |
' (apostrophe) | splits syllables: yeong'eo → 영어, iss'eoyo → 있어요 |
Revised Romanization spells words the way they sound, so a few words need help. Type the spelling rather than the pronunciation (hakgyo for 학교), and use an apostrophe where a final consonant is followed by a vowel: iss'eoyo → 있어요, mas'iss'eoyo → 맛있어요, gwaenchanh'a → 괜찮아. The formal ending -mnida is written ㅂ니다 automatically (gamsahamnida → 감사합니다). As in the official system, a word-initial k, t or p gives ㅋ ㅌ ㅍ, so type gimchi for 김치.
How to add a Korean keyboard to your device
Windows
Settings → Time & language → Language & region → Add a language → Korean. The Microsoft IME uses Dubeolsik by default. Press Right Alt (the 한/영 key on Korean keyboards) to switch between Hangul and English, Right Ctrl (한자) to convert to Hanja, and Windows+Space to switch keyboards.
Mac
System Settings → Keyboard → Text Input → Edit → + → Korean, and choose 2-Set Korean (Dubeolsik). Switch with Control+Space or the Globe key.
iPhone and iPad
Settings → General → Keyboard → Keyboards → Add New Keyboard → Korean, then pick Standard (the 2-set layout) or 10-Key. Tap the globe key to switch.
Android
In Gboard, open Settings → Languages → Add keyboard → Korean and choose the 2-Bulsik (두벌식) layout, which matches Dubeolsik. Tap the globe key or hold the space bar to switch.
Chromebook
Settings → Device → Keyboard and inputs → Input settings → Add input methods → Korean. Switch with Ctrl+Space.
Frequently asked questions
How do I type Korean without a Korean keyboard?
Use this page. In Dubeolsik mode your English keys type the Hangul letter printed in the same place on a Korean keyboard (R → ㄱ, K → ㅏ), and the letters join into syllables for you: typing gksrmf gives 한글. If you don't know the layout, switch to Romanization and type words the way they sound, like annyeonghaseyo. Then press Copy.
How do I type double consonants like ㄲ, ㅆ or ㅃ?
Hold Shift. On the Dubeolsik layout Shift turns ㅂ ㅈ ㄷ ㄱ ㅅ (Q W E R T) into ㅃ ㅉ ㄸ ㄲ ㅆ, and ㅐ ㅔ (O P) into ㅒ ㅖ. In Romanization mode, type the letter twice: kk, tt, pp, ss, jj.
Why did my last consonant jump to the next syllable?
That's how Korean typing works. When a vowel follows a final consonant, the consonant becomes the first sound of the new syllable: 각 plus ㅏ gives 가가. If you meant to keep it at the bottom, type ㅇ first (각 + ㅇ + ㅏ gives 각아), because a syllable that starts with a vowel is written with a silent ㅇ.
Why does romanization give 이써요 instead of 있어요?
Romanization follows pronunciation, so isseoyo could be either. This page puts a consonant at the start of the next syllable when it can. Add an apostrophe where the syllable ends: iss'eoyo → 있어요, yeong'eo → 영어, joh'a → 좋아. For exact spelling, Dubeolsik mode is always precise.
What's the difference between Dubeolsik and Sebeolsik?
Dubeolsik (두벌식, 2-set) is the national standard (KS X 5002) and what almost every Korean keyboard, computer and phone uses: consonants on the left hand, vowels on the right. Sebeolsik (세벌식, 3-set) has separate keys for initial and final consonants. It has a small following among fast typists but is rarely used.
Is my text private?
Yes. Everything runs in your browser. Your draft is kept on your own device so it survives a refresh, and it's never uploaded.
