Keyboard Tester
See which keys are down, plus the last key, code, and modifiers. Built for a physical keyboard.
Keys light when they are down. The readout uses event.code (physical) and event.key (character). Colour is not the only signal — a ● marks a held key.
EscF1F2F3F4F5F6F7F8F9F10F11F12
`1234567890-=Bksp
TabQWERTYUIOP[]\
CapsASDFGHJKL;'Enter
ShiftZXCVBNM,./Shift
CtrlMetaAltSpaceAltCtrl←↑↓→
Held: none
Press a key.
Worked example
Press A and that key lights with a ● until you release it. The line under the keyboard reads key “a”, code KeyA, and any modifiers. F-keys, arrows, and both Shifts are on the layout; a key that is not drawn still updates the last-key line.
FAQ
- Does this block browser shortcuts?
- Not by default. Tick “Capture keys on this page” to preventDefault while this tab is focused — useful for testing Ctrl and F5 without the browser eating them.
- Which keys are drawn?
- Esc through F12, the typewriter block, modifiers, Space, and arrows. The readout uses event.code (physical) and event.key (character).
- Why is a phone a poor fit?
- An on-screen keyboard is not a full hardware keyboard. Use a physical keyboard on a computer.