piapia123
en

On-screen Keyboard

Web

Everything runs locally in your browser — nothing is uploaded

On-screen keyboard

Click a key to type; the character goes to the caret in the output box below. ⚠️ On-screen Shift is sticky — click once and it clears after the next character — because a mouse cannot hold a key down the way a real keyboard does.

Output
Key details

No key pressed yet.

This tool answers two questions that look unrelated but are the same question: how to type when your own keyboard is failing (dead keys, touch screen only, no input method to switch to), and where a particular character sits on the keyboard. Both come down to one thing — you press a physical position and get a character — so there is a single copy of the keyboard: the same layout tables that the keycode tool uses, covering ANSI, ISO and JIS. Those differ in the keys themselves (ISO has an extra key beside the left Shift and an L-shaped Enter; JIS has three Japanese keys and a shorter space bar), which is why keys are placed by physical position. ⚠️ Shift on screen is sticky — click once and it clears after the next character — because a mouse cannot hold a key down. A real Shift only works while held. And the character table is US: the same physical position prints Z on a German keyboard and Н on a Russian one, and this tool gives the US character. Everything runs in your browser; nothing you type leaves it.

Features

  • Click a key to type; the character goes to the caret in the output box rather than only at the end
  • Backspace and Delete are on the board, the caret can be moved with the arrow keys or the mouse, and the output box stays editable
  • Pressed and clicked keys light up, which is the most direct answer to where a character lives
  • The details panel gives the key code (its physical position) and the character it produces
  • Three physical layouts: ANSI (US), ISO (European, one extra key) and JIS (Japanese, three extra keys)
  • ⚠️ Shift and CapsLock combine with an exclusive-or on letters: CapsLock alone gives capitals while CapsLock plus Shift gives lower case
  • On-screen Shift is sticky, and only keys that produce a character consume it, so Shift then Backspace keeps Shift on
  • Typing in the output box with a real keyboard lights the keys up on the board too
  • Copy the whole output in one click; everything runs locally in your browser

How to use

  1. Check the layout first: an extra key beside the left Shift means ISO, three Japanese keys by the space bar means JIS
  2. Click keys to type (click Shift first for capitals), or just use your own keyboard in the output box
  3. To find where a character is, press it and read the lit position and the details panel
  4. Press Copy to take the whole text away

FAQ

Why is on-screen Shift a click rather than a hold?
Because a mouse cannot express hold. Keeping the button pressed would leave no way to click another key, so Shift is sticky here: click it and it lights up, and the next key that produces a character clears it. That is the same behaviour as the Shift key in a phone keyboard. ⚠️ It differs from a real keyboard, where Shift stops working the moment you let go, and the page says so. Note that Shift followed by Backspace leaves Shift on, because Backspace produces no character.
Why does CapsLock plus Shift give lower case?
Because those two switches combine with an exclusive-or on letters: one of them on gives capitals, both on returns to lower case. That is not a rule invented here — it is what a real keyboard does, and holding Shift with CapsLock on really does type lower-case letters. Treating it as any-of-the-two would mean pressing Shift, precisely to escape the case CapsLock is forcing, still gives capitals, which defeats the point.
Why is the character table US layout?
Because the same physical position is printed differently on different layouts: KeyY prints Y on a US keyboard, Z on a German one and Н on a Russian one. Keys here are placed by physical position, from the same tables the keycode tool uses, while characters come from the US layout. So a German keyboard user pressing the physical Y position gets a US Y. Recovering text typed with the wrong layout, where ghbdtn was meant to be привет, needs a different mapping table rather than this tool.
Where does the text I type go?
Only into the output box in your browser; not a byte leaves the device, as this tool makes no network requests at all. Press Copy to take it with you. That is also why there is no draft auto-save: nothing is written to local storage, so a refresh clears the box. Copy it out if you need it.

Related tools