Skip to content

Keyboard test

Press every key and see which ones register, which are missing and which were never pressed.

Input
Output

Keyboard test

Press any key and it lights up on an on-screen keyboard, stays lit, and is added to a list below. Work through the whole board and whatever is left unlit is a key that did not register: a worn switch, a crumb under a cap, a dead matrix row or a connector that has come loose. It is the quickest check after buying a used keyboard, cleaning one, replacing a keycap or flashing new firmware.

The test reads the physical key, not the character it types. That is why it works the same on a Slovak, German, French or Dvorak layout: the key printed Z on a QWERTZ board reports as KeyY, and it is the KeyY square that lights up. The list names every key by its standard code, for example KeyA, Digit1, ShiftLeft, NumpadEnter or Space, so the names match what developers see in event.code and what bug reports quote.

Choose a layout to match your board. Full size has 104 keys including the numpad, tenkeyless drops the numpad, and compact keeps only the main block. Keys you press that are not on the chosen layout are reported separately instead of being dropped, which helps with extra media keys or non-standard boards. Holding a key down does not count as extra presses, so a stuck key is easy to tell from a repeating one.

Everything runs in your browser. Keystrokes are never sent anywhere, stored, or kept after you close the page. You can also paste a list of key codes into the box to get the same report for a log someone else sent you. Some keys, such as Fn on most laptops, the power key and operating-system shortcuts, are handled by the firmware or the system before a browser sees them, so they cannot be tested here.

FAQ

Why does a key I press not light up?
Either the key is not registering, or the system or firmware handles it before the browser sees it. Fn, power and many media keys never reach a web page. If an ordinary key stays dark after several firm presses, it is worth cleaning or replacing.
Does it work with a non-English keyboard layout?
Yes. The test follows the physical position of each key, so a Slovak, German or Dvorak layout lights up the same squares as a US board. Only the printed caps differ.
What do names like KeyA and ShiftLeft mean?
They are the standard KeyboardEvent.code values. They identify a physical key, so left and right Shift or the numpad Enter are told apart from their twins.
Are my keystrokes recorded or sent anywhere?
No. The page only listens while it is open, keeps the list in memory, and never uploads it. Close the tab and it is gone.