gizmobench

Korean Keyboard

An on-screen two-set (dubeolsik) keyboard, the layout printed on Korean keycaps, that composes syllables the way a Korean input method does: ㄱ, ㅏ and ㄴ become 간, and a following ㅏ pulls the ㄴ into a new syllable to give 가나. In Hangul mode your own letter keys are read by their position, as on a Korean keyboard, so the key where R sits on a US keyboard types ㄱ whatever your layout prints on it; or click the keys instead, and if your computer or phone already has its own Korean keyboard switched on, this page leaves its composing alone. Backspace takes back one jamo while a syllable is still open, pasted text stays exactly as it came, and the readout counts characters, syllables and UTF-8 bytes. Copy the text, or download it as a plain UTF-8 .txt file. Everything runs in this tab: nothing is uploaded and there is no account.

Hangul, two-set
composingnothing yet
keysnone yet

Click the keys below, or type in the box: in Hangul mode your letter keys type Korean by position.

Mode
Hangul, two-set
Characters
0
Syllables
0
UTF-8
0 bytes

Keys are read by position, as on a Korean keyboard: the key where R sits on a US keyboard types ㄱ, whatever your own layout prints on it, and the small letter on each key is that position, not its sound. Shift gives the five doubled consonants and ㅒ ㅖ. Shift and Space switches between Hangul and Latin. If your computer or phone is already set to its own Korean keyboard, that input method composes and this page leaves it alone. On a phone, tap the keys on the page.

What the keys do

  • ㄱ + ㅏ + ㄴr k s in Hangul mode
    간, U+AC04
  • ㄱ + ㅏ + ㄴ + ㅏr k s k
    가나, U+AC00 U+B098: the ㄴ moves to the new syllable
  • Backspace while 간 is openpasted 서울 before it
    가, then ㄱ, then gone; 서울 is untouched
Accuracy. Modern two-set (dubeolsik) Hangul: jamo are composed with the Unicode Standard's formula into the precomposed syllables U+AC00 to U+D7A3, so the text pastes as ordinary Korean anywhere that reads Unicode, and a jamo left on its own stays a compatibility jamo (U+3131 to U+318E). Backspace takes back one jamo while a syllable is still open, and pasted text is kept exactly as it came. There is no word prediction, hanja conversion or translation, and archaic letters are not on the board. Everything happens in this tab: nothing is uploaded. Your draft and the mode are kept in this browser, and the Start over button at the top of the page forgets them.

Common questions

How do I type Korean on an English keyboard?
Leave the mode on Hangul, click into the box and type. Each letter key types the jamo that sits on it in the two-set layout, the one printed on Korean keyboards: consonants under the left hand, vowels under the right. D K S S U D types 안녕 and G K S R M F types 한글. Keys are read by position rather than by the letter your layout prints, so the key where R sits on a US keyboard types ㄱ on a French or German layout too. Shift gives the five doubled consonants (ㅃ ㅉ ㄸ ㄲ ㅆ) and the vowels ㅒ and ㅖ; Shift on any other key types that key's own letter. Shift and Space switches to Latin and back, and the keys on the page type Hangul in either mode. The small letter on each key is its position, not its sound.
Can I type annyeong and get 안녕?
No. This is a keyboard, not a transliterator: in Hangul mode each key types the jamo at its position, so typing annyeong spells 무ㅜㅛ대ㅜㅎ, because A is the ㅁ key, N is ㅜ and so on. To get 안녕, press the keys that hold its letters: D (ㅇ), K (ㅏ), S (ㄴ), then S (ㄴ), U (ㅕ), D (ㅇ). The line under the box shows the keys for whatever is in it, so you can paste a Korean word and read off how to type it. Switch to Latin mode if you want your keys to type Latin letters as usual.
Why does the last consonant jump to the next syllable?
Because that is how Korean is written, and the Korean input methods in Windows, macOS and phones do the same. A syllable stays open while the next key can still belong to it. Type ㄱ ㅏ ㄴ and you have 간; type another ㅏ and the ㄴ moves on to start the new syllable, giving 가나. With a double final only the last consonant moves: 닭 followed by ㅏ gives 달가. To keep the consonant where it is, write the next syllable with its silent ㅇ, which Korean spelling does anyway: R K S D K types 간아. A space, punctuation, or moving the caret closes the open syllable.
How does Backspace work while a syllable is being composed?
While a syllable is open, Backspace takes back the last key you pressed: 간 becomes 가, then ㄱ, then nothing. Compound vowels and double finals come apart one key at a time too, so 과 becomes 고 and 닭 becomes 달. Once a syllable is closed, by a space or punctuation, by moving the caret, or because you went on to the next syllable and erased it, Backspace removes it whole, the way it removes any other character. Text you pasted is never taken apart: it is kept exactly as it came, with no normalization and nothing rejoined. The one change any text box makes to a paste is turning Windows line endings into single line breaks.
Does it work with the Korean keyboard already on my computer or phone?
Yes. If Windows, macOS, iOS or Android is set to its own Korean keyboard, that input method does the composing and this page stays out of its way: keys that arrive while it is composing are left completely alone, and any syllable this page had open is closed first so the two never share a character. The counts, Copy and the download work on whatever it types. On a phone with an English keyboard, tap the keys on the page instead: they type Hangul in either mode.
What Unicode characters does it produce?
Precomposed Hangul syllables, U+AC00 to U+D7A3, built with the Unicode Standard's formula: U+AC00 plus (initial × 21 + vowel) × 28 + final. That is the same form Unicode normalization (NFC) produces, so the text matches in searches, forms and documents that read Unicode. A letter on its own, such as a lone ㄱ, stays a Hangul compatibility jamo (ㄱ is U+3131). Each syllable is one character and three bytes of UTF-8, which is why 안녕하세요 한글 counts as 8 characters, 7 syllables and 22 bytes. The status line names the open syllable by its Unicode name, such as HANGUL SYLLABLE GAN; that name is Unicode's, not a romanization.
Does it romanize, predict words or convert to hanja?
No. There is no word prediction, no hanja conversion and no translation: what you get is exactly the letters you pressed. The keys carry the Revised Romanization of the letter they type in their tooltips and spoken labels, and some letters have two readings there: ㄱ is g before a vowel and k at the end of a syllable, ㄹ is r or l, and ㅇ is silent at the start of a syllable and ng at the end. Archaic letters such as ㆍ are not on the board.
Is my text saved or sent anywhere?
Nothing is uploaded. The layout and the composing run in your browser, so there is no server to send your text to and no account to make. Your draft and your Hangul or Latin choice are kept in this browser so the page opens where you left it, and the Start over button at the top of the page forgets both. The .txt button saves the box as korean.txt, plain UTF-8 with no byte-order mark added.

Modern two-set (dubeolsik) Hangul: jamo are composed with the Unicode Standard's formula into the precomposed syllables U+AC00 to U+D7A3, so the text pastes as ordinary Korean anywhere that reads Unicode, and a jamo left on its own stays a compatibility jamo (U+3131 to U+318E). Backspace takes back one jamo while a syllable is still open, and pasted text is kept exactly as it came. There is no word prediction, hanja conversion or translation, and archaic letters are not on the board.