Browser keyboard events · no permissions needed

Keyboard test

Press any key and see what the browser actually receives. The character (key) and the physical position (code) are shown separately, and you can watch whether a chord arrives together.

Press a key and see what the browser receives

Keyboard event test areaClick here, or Tab into it, then start pressing keysThe test area listens only while it holds focus, and it keeps Tab, Space and the arrow keys so you can test those too; press Esc to leave it. Switching tabs or navigating away releases every held key.
Last key pressed
Held now0Most held at once: 0
ModifiersNoneAuto-repeat: None

key is the character this press produced, so it moves with the layout, Shift and your input method. code is where the key sits on the keyboard and does not change with the layout. Showing both is what separates "wrong key" from "different layout".

EscF1F2F3F4F5F6F7F8F9F10F11F12
`1234567890-=Backspace
TabQWERTYUIOP[]\
CapsASDFGHJKL;'Enter
ShiftZXCVBNM,./Shift
CtrlMetaAltSpaceAltMetaMenuCtrl
InsHomePgUp
DelEndPgDn
Num/*-
789+
456
123Enter
0.

This drawing shows physical positions (US ANSI 104), not the legends printed on your keyboard: the top-left letter on AZERTY still reports KeyQ. What you actually typed is the key value below.

Chord watch

Press the chord you want to check once (say Ctrl+Shift+K), let go, then press "Set as target". Every press after that shows whether those keys reach the browser together.

No chord chosen yet.

Gap between presses

Press two or more keys to see a gap.

Recent browser events

No events yet

Some keys never reach the page: Fn, system shortcuts (Alt+Tab, Cmd+Tab) and browser-reserved combinations (Ctrl+W, Ctrl+T) are taken by the operating system or the browser first. A missing event is not a broken key.

When a key sends nothing, compare in another browser or on another computer before blaming the hardware.

More device tests