Keyboard test: do all your keys work?
Click into the keyboard area and press every key: the full-size US picture has 104 keys, and each one your keyboard reports lights up and stays marked as tested. Dead keys stay grey, and a key that fires twice within 30 ms is flagged as chattering.
Source: MDN Web Docs: KeyboardEvent.code (physical key position). Updated: .
How it is calculated
This keyboard tester shows which keys your keyboard actually reports to the computer. The picture shows a full-size US QWERTY keyboard (ANSI) with number pad. Keys are recognised by their physical position, though, so the test works just as well with a UK, German, French or any other layout.
How to test your keyboard
- Click into the keyboard area or Tab into it. The border changes colour – the test is active.
- Press each key once. The key lights up while held, then stays highlighted with a tick as "tested".
- Watch the "Keys tested" count. A key that stays grey although you pressed it reports nothing – dirt, a failed switch, or a key your operating system swallows (see below).
- Press Esc to leave the area; "Reset test" starts over.
What do key, code and location mean?
For every key press, the browser supplies several values defined in the W3C "UI Events" standard:
- event.key is the character or meaning of the key in your current layout, e.g. "z", "Z" with Shift, or "Enter".
- event.code is the physical position, named after the US keyboard. On a German keyboard the key printed Z reports
KeyY, because that is where Y sits on a US keyboard. That is why this test usescode: the picture is right whatever layout you use. - event.location tells duplicate keys apart: 0 = standard, 1 = left (left Shift, Ctrl, Alt), 2 = right, 3 = numpad.
On a UK (ISO) keyboard, the extra key next to left Shift (IntlBackslash) is not part of the US picture; it appears under "Other keys detected" – or switch the view to “ISO”. The key names come from the W3C specification UI Events KeyboardEvent code Values (current W3C version, 2026).
| Key you press | event.key | event.code | event.location |
|---|---|---|---|
| A (US keyboard) | a | KeyA | 0 (standard) |
| Z on a German keyboard | z | KeyY | 0 (standard) |
| A on a French keyboard | a | KeyQ | 0 (standard) |
| Left Shift | Shift | ShiftLeft | 1 (left) |
| Right Ctrl | Control | ControlRight | 2 (right) |
| Enter on the number pad | Enter | NumpadEnter | 3 (numpad) |
| Space bar | " " (Space) | Space | 0 (standard) |
Which picture fits your keyboard?
| View | Keys in the picture | Fits |
|---|---|---|
| Standard (US keyboard) | 104 | Full-size US desktop keyboard |
| ANSI | 104 | US shape with wide, flat Enter |
| ISO | 105 | UK and European shape: tall Enter, extra key next to left Shift |
| No number pad | 87 | Laptops and tenkeyless (TKL) keyboards |
| Mac legends | 104 | Apple keyboards: ⌘ next to the space bar, ⌥ and ⌘ swapped |
A laptop has fewer keys than any of these pictures, so “Keys tested” will rarely reach the maximum. What counts is that every key you actually have turns green.
Ghosting, anti-ghosting and n-key rollover
Inside a keyboard, the keys are wired in a matrix of rows and columns. With certain combinations of three or more keys held at once, the electronics can no longer tell exactly which keys are down. The keyboard then either drops a key (blocking) or reports an extra key you did not press (ghosting). Many keyboards block such combinations rather than send ghost keys.
N-key rollover (NKRO) means every key is detected independently, however many you hold. 6KRO means six regular keys plus the modifiers (Shift, Ctrl, Alt, Win) – that is what fits into one report under the USB HID boot protocol many keyboards use. The USB HID specification 1.11 (Appendix B and C) defines that report as one modifier byte, one reserved byte and six key bytes, and states: “The limit is six non-modifier keys”. Press a seventh, and the keyboard reports an error state (ErrorRollOver) instead of the keys.
Worked example: is this a chattering key?
The test remembers when each key was released. If the same key goes down again less than 30 ms later, it counts as a double press:
- You press A at 0 ms and release it at 80 ms. Keystrokes: 1.
- The switch bounces and reports A down again at 100 ms.
- Gap: 100 ms − 80 ms = 20 ms. 20 is less than 30, so the press is counted under “Double press detected” and the key gets an exclamation mark. Keystrokes: 2.
- Compare: a deliberate second tap comes much later. Released at 80 ms, pressed again at 250 ms = 170 ms gap – not counted as chatter.
How to check: hold a combination you actually need – for gaming, say W + A + Shift + Space – and look at "Pressed right now" and the list of held keys. If a key is missing from the list, your keyboard blocks that combination. "Max at once" remembers the highest number.
Honest limits of this test
The browser only sees what the keyboard and operating system pass on. Some keys therefore never arrive, or only half – that is not a fault:
- Fn key: handled inside the keyboard and never sent to the computer. Fn combinations (brightness, for example) may arrive as a separate key at most.
- Print Screen: on Windows it often reports only the release or opens the screenshot tool. It still counts as tested here.
- Windows key, media and volume keys: often intercepted by the operating system. Media keys that do arrive are listed under "Other keys detected".
- System shortcuts such as Ctrl + Alt + Del, Alt + Tab or Ctrl + W cannot be caught by any web page.
- AltGr on Windows also reports a left Ctrl key – that is normal.
- Mac: while Cmd is held, macOS does not reliably report other keys being released. The test therefore releases all keys when Cmd goes up.
- On-screen keyboards on phones report no key position. The test is meant for real keyboards, including Bluetooth or USB keyboards on a tablet.
- Latency and polling rate are not measured by this test – it checks whether keys arrive, not how fast.
Common mistakes when testing a keyboard
- Testing without clicking into the area first: until the border changes colour, key presses go to the browser, not the test.
- Calling a 6-key limit a defect: if the seventh regular key does not light up, the keyboard works as designed for 6KRO.
- Testing ghosting with random keys: blocking depends on the matrix wiring. Test the combinations you really use, such as W + A + Shift + Space.
- Holding a key to test chatter: auto-repeat is ignored. Tap the key 20 to 30 times instead.
- Blaming the hardware for wrong characters: if the right key lights up, check the keyboard layout in your operating system.
Typical problems
- A key does nothing: remove crumbs and dust first (compressed air, turn the keyboard upside down), then test again. On laptops, trying an external keyboard helps separate hardware from driver issues.
- Double letters when typing (chattering): tap one key ten times and compare with the "Keystrokes" counter. If it jumps higher, the switch is chattering. Auto-repeat from a held key is not counted.
- Wrong characters, but the right key lights up: the hardware is fine and your operating system is set to a different layout.
event.keyshows which character the system produces.
Checking your mouse next? The mouse test checks buttons, double clicks and the wheel, and the CPS test measures how fast you click. Once every key works, measure your speed in the typing test.
Frequently asked questions
How do I detect key chatter (double typing)?
A key chatters if it fires again less than 30 milliseconds after release. Tap the suspect key 20 to 30 times, one press at a time; chatter shows up under “Double press detected” with a count and an exclamation mark in the picture. Held keys with auto-repeat do not count.
How do I check that every key on my keyboard works?
Press each key once inside the active test area. Tested keys stay marked with a tick, and "Keys tested" shows how many of the pictured keys have arrived. Keys that stay grey are not being reported by your keyboard.
How do I test a laptop keyboard?
Switch the view to “No number pad (laptop, TKL)”, which shows 87 keys. Then press every key on the laptop; keys your laptop does not have simply stay grey. Fn combinations are handled inside the laptop and may not show up at all.
Does the test work with a UK, German or French keyboard?
Yes. The test recognises keys by event.code, i.e. by physical position. The labels follow a US QWERTY keyboard, but the key that lights up is always the one you pressed. The character from your own layout is shown under "event.key".
What is keyboard ghosting?
Ghosting is an extra key press you never made, caused by the key matrix when three or more keys are held. Many keyboards block such combinations instead, so a key goes missing. Hold your combination and check the "Keys held right now" list.
How many keys can my keyboard register at once?
"Max at once" shows it: press and hold more and more keys. Six regular keys plus modifiers suggests 6-key rollover, the limit of the USB boot protocol; higher values suggest n-key rollover. Which combinations block depends on the wiring, so test the keys you really use together.
Print Screen or the Windows key stays grey – is it broken?
Not necessarily. The operating system often intercepts these keys before the browser sees them (Start menu, screenshot tool). On Windows, Print Screen often reports only the release; it still counts here. If the system function triggers, the key works.
Is anything I type stored or sent?
No. The test runs entirely in your browser. Neither keys nor text are stored or sent to a server; reloading the page starts from scratch. Press Esc to leave the test area and use your keyboard normally again.
Sources and legal basis
- MDN Web Docs: KeyboardEvent.code (physical key position)
- W3C: UI Events KeyboardEvent code Values
- W3C: UI Events – keyboard events (keydown/keyup)
As of: · Editorial policy
Related tools
- CPS Test: How Many Clicks Per Second Can You Do?CPS test: click as fast as you can for 1, 5, 10, 30, 60 or 100 seconds and get your clicks per second, a speed chart and best scores. Mouse, touchpad or touch.
- Typing test: how fast do you type?Free typing test: measure your typing speed in 30 s, 1 or 3 minutes. Net and gross WPM, characters per minute, accuracy and errors. Works on mobile.
- Speaker testFree online speaker test: check left and right stereo channels, run a 20 Hz–20 kHz frequency sweep, play single tones and a phase test. Runs in your browser.
- Show my GPS coordinatesFind your GPS coordinates: shows your location in decimal degrees, degrees/minutes/seconds, decimal minutes and UTM, ready to copy – or convert coordinates.
- LED scrolling text in fullscreenOnline LED scroller: run your own text across the screen as an LED banner, with color, speed and size, in fullscreen on your phone – like a sign at a concert.
- Online mirror with your cameraMirror online: use your phone or laptop camera as a mirror, flipped like a real mirror, with a bright light frame, zoom and snapshot. No app needed.
- eDPI calculatoreDPI calculator for gamers: multiply mouse DPI by in-game sensitivity, see the cm and inches per 360° turn and the sensitivity that keeps your aim at a new DPI.
- Online PianoOnline piano with 5 octaves: play by keyboard, mouse, touch or MIDI, see the chord you hold, record your melody and share it as a link. Free, no sign-up.
- Gamepad testerFree online gamepad tester: check buttons, triggers and sticks live, measure stick drift with a circle test and try vibration. Xbox, PlayStation and Switch.