Korean Keyboard Fixer
Recovers text typed with the wrong input mode and converts between the 2-set and 3-set layouts.
Typing a sentence with the input mode left in the wrong state produces either `dkssudgktpdy` or 값늘ㅏ 뮤랟, and both are recoverable because the key sequence is the same either way. This maps it back, and converts between the 두벌식 and 세벌식 layouts.
Input
Mostly Hangul becomes Latin letters; mostly Latin letters become Hangul.
Result
안녕하세요
Judged automatically: Latin → Hangul
dkssudgktpdy
두벌식 layout
The standard 두벌식 (two-set) layout, KS X 5002. Shift gives ㅃㅉㄸㄲㅆ and ㅒㅖ.
Swapping the keys is not enough on its own. There has to be a composition rule that gathers ㄱㅏㅁ into 감 — and the hard part is undoing a decision already made. 앉 + ㅏ has to become 안자, with only the second consonant of the cluster ㄵ moving to the next syllable. Get that wrong and 없어 comes out as 업서.
The 세벌식 (three-set) layout is not supported yet. To pull letters apart, see Hangul initial search and extraction.
How to use it
Paste what came out
Both directions are handled — Latin letters that were meant to be Hangul, and Hangul that was meant to be Latin.
Check the layout matches yours
두벌식 is the default because it is what almost every keyboard uses. If you type 세벌식, switch, or the mapping will be wrong from the first character.
Fix what the shift key ate
ㅃㅉㄸㄲㅆ and ㅒㅖ need shift, and their Latin counterparts are capitals. A recovered string with the wrong case in one or two places is usually this.
Common questions
Some of it came back as nonsense.
Text that was already mixed — some typed in the right mode, some in the wrong one — converts the correct parts into nonsense too. Convert the affected span on its own.
Is this the same as fixing broken encoding?
No. This is a keyboard mapping problem — the right keys, the wrong mode. Text that looks like 뷁 or 안녕 is an encoding problem, and the CP949 recovery tool handles it.
What is 세벌식 for?
A layout with separate keys for initial, medial and final consonants, so a syllable is typed without the automaton guessing where one ends. It is faster for people who learn it and is not what a default Korean keyboard uses.
Feed it from
Hangul Initial Search
Extracts initial consonants from Hangul and matches a list against a 초성 query — ㄱㅁㅇ finds 감마원.
Korean Spelling Helper
Flags spacing, spelling and particle mistakes in Korean text and explains the rule behind each one.
Typing Speed Test
Measures typing speed and accuracy in Korean or English, in words or characters per minute.
Resident Number Masker
Finds resident numbers in text or a spreadsheet column and masks them to the legally acceptable form.
Next
These accept what this tool produces, so the result can go straight in.
Hangul Initial Search
Extracts initial consonants from Hangul and matches a list against a 초성 query — ㄱㅁㅇ finds 감마원.
Korean Spelling Helper
Flags spacing, spelling and particle mistakes in Korean text and explains the rule behind each one.
Unicode Normaliser
Applies NFC, NFD, NFKC or NFKD — the fix for Korean text from macOS that looks right but never matches.
Korean Age Calculator
Works out your 만나이, 연나이 and the old 세는나이 from a birth date, on any reference day.
Annual Leave Calculator
Works out how many paid leave days have accrued by joining date or fiscal year, including the first-year rule.
Business Registration Number Validator
Checks the 10-digit check sum of a Korean business number and can bulk-validate a pasted column.