kokey

한글 · русский · українська · עברית · ελληνικά · ไทย · العربية · ქართული ↔ QWERTY

Restore text typed with the wrong keyboard layout · TypeScript-first · zero-dependency

npm CI GitHub

Live demo — try it yourself

enToKo — QWERTY → 한글

Latin keystrokes compose into Hangul. Try dkssudgktpdy

koToEn — 한글 → QWERTY

Restored even with the Korean IME left on. Try ㅇㄴㅁ쇼2068601

data-kokey="ru" — QWERTY → русский

ЙЦУКЕН enforced as you type. Try ghbdtn → привет

data-kokey="en" — restore anything

Script auto-detected. Try привет안녕שלום

data-kokey-suggest — offer, don't fix

A button appears only when it is confident. Try dkssudgktpdy

Converter — both directions at once

Paste anything below — toEn auto-detects all 8 layouts.

Install

# npm
npm install @devslab/kokey

# CDN — no build step
<script src="https://cdn.jsdelivr.net/npm/@devslab/kokey/dist/kokey.global.js"></script>

Usage

import { koToEn, enToKo, register, toEn, fixMistyped, bindSuggest, observe } from '@devslab/kokey'
import { ru } from '@devslab/kokey/ru'   // /uk /he /el /th /ar /ka

koToEn('안녕')   // 'dkssud'
enToKo('dkssud') // '안녕'

register(ru)
toEn('привет안녕') // 'ghbdtndkssud'

// Vue / React / Svelte / Solid adapters
// <KokeyInput v-model="v" mode="ru" />  <input use:kokey={'ko'} />

fixMistyped('dkssudgktpdy') // '안녕하세요' — paste auto-correction
bindSuggest(el) // or <input data-kokey-suggest> — offers a fix, never forces one
observe() // binds [data-kokey] + [data-kokey-paste] + [data-kokey-suggest]