Keyboard Tester

Pick your board, press every key, and see which ones never arrived.

A key lights up when this page receives it. While the board below has focus this page holds on to every key it can, so F5 will not reload and Alt will not jump to the menu bar. Tab and Escape are deliberately left alone, so you can always leave. Some keys still never get here, whatever the switch under them is doing: Fn is usually handled inside the keyboard itself, your operating system takes the Windows or Command key and Print Screen before any page sees them, and Ctrl+W and Ctrl+T belong to the browser and ignore a page that asks for them. Those are marked as not testable here rather than left grey, because grey would read as a dead switch. This page also cannot tell you about key chatter or true n-key rollover: a bouncing switch looks exactly like the browser's own key repeat by the time the event arrives, and a keyboard's scan matrix can drop a key before the browser ever hears about it.

This is generated in browser and is not sent to pah.moi servers.

About this tool3 paragraphs

Ten form factors with their real geometry: full size, tenkeyless, 75%, 65%, 60%, 40%, HHKB, ortholinear, split ergonomic and Alice. The cap-set toggles change which keys exist, so an ISO board with a split backspace sweeps its own key set rather than someone else's.

The board is drawn against KeyboardEvent.code, the physical key, not key, which is whatever your layout produced. A Dvorak or AZERTY visitor lights the cap they actually pressed.

Boards you build are saved on this machine and nowhere else. Keystrokes are read and displayed while the capture area has focus; none of them is stored or sent.