Keyboard Tester
Press any key. It lights up while held, stays shaded once it has registered, and the readout shows exactly what the browser received.
No permissions. Works with any keyboard.
Click anywhere on the page, then press keys. Keys light up while held and stay shaded once they've registered. 0 distinct keys registered so far.
Navigation
Arrows
Last key
Nothing pressed yet.
Currently held
none
Recent
—
A key that stays in "currently held" after you let go is stuck. A key that never appears in "last key" when pressed isn't reaching the computer at all. Numpad keys aren't drawn but still show up in the readout.
Frequently Asked Questions
A key doesn't light up when I press it. Is it dead?
If nothing changes in the "last key" readout either, the keypress never reached the browser, which almost always means the switch or its contact is dead, or the key is remapped/disabled at the OS level. Try it in a plain text field too; if it types nothing there, it's the hardware.
A key stays lit after I let go.
That's a stuck key: the browser got the key-down but never a key-up. Usually debris under the keycap or a worn switch on mechanical boards. Alt-tabbing away and back clears the display but not the cause.
The label on my keyboard is different from the label on the screen.
The layout shows US legends, but keys are matched by physical position (the browser's `code` value), so a non-US keyboard still lights the right key. The "key" line in the readout shows the character your layout actually produced.
Why does pressing some keys do nothing to the page?
Space, Tab, Backspace, and the arrow keys are intercepted here so they don't scroll the page or move focus mid-test. Browser shortcuts that use Ctrl or Cmd (like refresh) are left alone.