Virtual keyboard
Type in another language on screen: national layouts, positional mapping, dead-key accents, AltGr, Korean and Japanese input — all in your browser.
The arrow keys move between the on-screen keys and Enter presses one. Tab leaves the keyboard; your own keyboard types straight into the text box.
Physical keys are mapped by position: each key types what the selected layout puts in that spot, whatever your system layout is. Capture applies only while the text box has focus — Ctrl+C, Tab and the arrows keep working.
One tool, thirteen languages
This keyboard types the thirteen languages this site is written in, and for each of them it renders the layout people in that language actually use — chosen by a simple rule: the standard layout of the country with the most speakers. Hebrew is the SI-1452 standard, French is AZERTY, German is QWERTZ, Russian is ЙЦУКЕН, Spanish is the Latin American layout, Portuguese is the Brazilian ABNT2, Turkish is Turkish Q, Japanese is the JIS kana layout and Korean is Dubeolsik. The picker lists every layout by its own name in its own language, because a reader hunting for their language recognises its endonym in any interface.
One entry is deliberately unexciting: Indonesian. Indonesia has no national keyboard layout — the country types on US QWERTY, the same layout as English — and the honest answer is to say so rather than invent a layout no Indonesian has ever seen. The tool opens with the layout of the language you are reading it in, and you can switch to any of the others at any time; the text you have typed stays put when you do.
Positional mapping: your own layout does not matter
Type on your physical keyboard and the tool reads each key by its position on the board, never by the character your operating system thinks it produces. The key two rows up from the space bar, one to the right of J — the K position — types k under US QWERTY and ל under the Hebrew layout, whatever layout your machine has installed. That inversion is the whole point: if the tool listened to the operating system it would just echo your own layout back at you, and it could never type a language you have no layout installed for.
A click on an on-screen key and a press on the physical board go through exactly the same machinery, so the two can never disagree about what a key does. While you type physically, the key you pressed lights up on the on-screen keyboard — which is how you learn where the characters of an unfamiliar layout live, the same way a printed keyboard sticker used to teach it.
Capture is deliberately narrow. Physical keys are read only while the text box has focus, so the rest of the page keeps working normally. Shortcuts such as Ctrl+C, Ctrl+V, Ctrl+A and Ctrl+Z pass straight through to the browser, as do the arrow keys, Home, End and Delete — and Tab is never swallowed, because a tool that eats Tab traps anyone navigating by keyboard on the page.
One thing a physical board can be short of is keys. The European layouts here are ISO boards: they carry a 102nd key between the left Shift and the first letter of the bottom row, and the Brazilian ABNT2 adds a 49th beside the right Shift. A US-style ANSI keyboard has neither, so no press of yours reaches them — but they are drawn on the on-screen keyboard like every other key, and clicking one types exactly what the layout puts there. Nothing in a layout is unreachable; on the wrong board a little of it is mouse-only.
Layers: Shift, Caps Lock, AltGr and dead keys
A real keyboard types more characters than it has keys, and it does that with layers. Holding Shift while you press a key types the Shift layer; clicking the on-screen Shift instead latches it for exactly one character, the way on-screen keyboards behave everywhere. Caps Lock is narrower than people assume: it capitalises only the keys where the Shift layer really is the upper case of the base letter, so it turns a into A but never turns 1 into !. On a script with no letter case at all — Hebrew is one — Caps Lock does nothing, which is what a real Hebrew keyboard does too.
The European layouts carry a third layer reached with AltGr, where characters such as @, € and the bracket pairs live, and dead keys with the standard behaviour: press the accent, then the letter, and the two compose — dead key then space yields the bare mark, and a letter the accent cannot join simply arrives after it. A pending dead key is shown as waiting on the on-screen keyboard, so the silence between the two presses is visible rather than confusing.
Two Hebrew details look like bugs and are the standard. The layout mirrors its paired delimiters — Shift+9 types ) where US QWERTY types ( — because the standard maps the logical character and the bidirectional text algorithm mirrors it back when the text is drawn; the key that looks like an opening bracket produces an opening bracket on screen. And the text box itself flips to right-to-left when you pick Hebrew or Arabic, because direction belongs to the text being typed, not to the language of the page around it.
Japanese and Korean are input methods, not just layouts
For most languages a keyboard is a table: one key position, one character. Korean and Japanese need more than a table. Korean Dubeolsik types jamo — individual consonants and vowels — and an input method composes them into syllable blocks as you go: ㅎ then ㅏ then ㄴ becomes 한, compound vowels and double final consonants assemble the same way, and a final consonant is carried into the next syllable when what follows makes that the right reading. Backspace walks the composition back jamo by jamo rather than deleting the whole syllable, because that is how every Korean input method behaves and anything else makes correcting a typo maddening.
Japanese comes in two modes. The default is romaji input on the physical keyboard — type ka and か appears, with the standard handling of the small っ and of ん — because that is how most Japanese typing actually happens. The on-screen keyboard shows the JIS kana layout, where each key is a syllable, and a positional JIS mode is there for anyone who really types that way. A toggle switches the output between hiragana and katakana.
What the tool deliberately does not do is convert kana to kanji. Real conversion needs a dictionary of hundreds of thousands of words and a ranking model on top — an IME, not a keyboard — and shipping a bad one would be worse than shipping none: you would get plausible, wrong text with no way to see it. Kana-only output is stated here plainly so the limit is understood rather than discovered.
Runs in your browser
The layouts are data shipped with the page and every keystroke is handled locally. Nothing you type is uploaded, stored or logged — which matters more for a typing tool than for most, because what people type into a keyboard is often exactly the text they care about. Capture is scoped to the text box, so the tool never sees a key you press anywhere else, and closing the tab leaves nothing behind.
Frequently asked questions
- Why does pressing the K key type ל?
- Because keys are mapped by physical position, not by the character your operating system reports. Under the Hebrew layout the K position carries ל, so that is what it types — on your board and on the on-screen keyboard alike. That is what lets you type a language your machine has no layout installed for.
- Do I need the language installed on my computer?
- No. The tool never asks the operating system what a key means — it resolves every key against the selected layout itself. Your machine can have any layout, or none of the relevant ones, and the typed text comes out the same.
- Why did my Ctrl+C still work while typing?
- By design. Modifier shortcuts, the arrow keys, Home, End, Delete and Tab are passed straight through to the browser rather than captured, so ordinary editing habits — copy, paste, undo, select all — keep working inside the text box, and keyboard navigation keeps working outside it.
- Can it convert Japanese kana into kanji?
- No, deliberately. Kanji conversion needs an IME — a dictionary of hundreds of thousands of words plus a ranking model — and a bad one produces plausible wrong text, which is worse than none. The tool types hiragana and katakana, with romaji input on the physical keyboard, and says so rather than letting you discover the limit.
- Why does Shift+9 type a closing parenthesis in Hebrew?
- It types the logical character the SI-1452 standard puts there, and the bidirectional text algorithm mirrors it when right-to-left text is drawn — so on screen you see exactly the bracket the key cap shows. "Fixing" it would break every parenthesis typed in Hebrew.
- My keyboard has no key next to the left Shift. Can I still type it?
- Yes, by clicking it. The European layouts are ISO boards with a 102nd key in that spot, and Brazilian ABNT2 has an extra key beside the right Shift; a US-style ANSI board has neither. Both are drawn on the on-screen keyboard, and clicking one types what the layout puts there — so no character of a layout is out of reach, whatever board you own.
- Is anything I type sent to a server?
- No. The whole keyboard — layouts, mapping, composition — runs in your browser. Keystrokes are handled locally, nothing is uploaded or logged, and capture applies only while the text box has focus, so keys pressed elsewhere on the page are never seen at all.