Testers
Keyboard Tester
Test every key on your keyboard in the browser. See which switches register, catch ghosting, and check ANSI, ISO, 60% and AZERTY layouts instantly.
Reads real keydown/keyup events on this page. Tab and Escape always keep their normal behaviour, so you're never stuck here.
Nothing you do on this page leaves your browser — there is nothing to upload and nothing is logged.
Press every key on your keyboard and watch it register in real time. Keys that respond turn cyan; keys that stay pale are the ones worth investigating further. Nothing you type is uploaded, logged, or sent anywhere — the whole test runs inside this tab, and your best sessions are remembered only in this browser's local storage.
How to test a keyboard properly
Work along each row rather than hunting for the one key you already suspect. A dead switch usually has neighbours with the same problem, and a whole row failing together points at a loose ribbon cable or connector, not a single worn switch.
- Press every key once, including both Shift keys, both modifier keys, and the full function row — it's easy to skip keys you rarely use and miss a fault sitting right next to a frequently used one.
- Hold three keys down at once and confirm all three light up together. A key that drops out under load is being blocked by the keyboard's internal switch matrix — this is ghosting, and it's a hardware limit, not a software bug.
- Tap a suspect key rapidly, twenty times or so, and watch the key log. A key that logs two presses for one physical tap is chattering, usually a sign the switch contact is worn or dirty.
- If an entire cluster of keys is dead rather than one isolated switch, reseat the keyboard's cable or try the board on a different machine before you conclude the switches themselves have failed.
What the readout means
The tester listens for the browser's event.code, not the character your
operating system would normally produce, so it reports the physical switch
you pressed rather than the letter printed on the keycap. That distinction is
why the key marked A on an AZERTY board reports as KeyQ — physically, it's
the switch position a QWERTY board prints Q on — until you switch the
on-screen layout above to match your keyboard's actual print. AZERTY moves
only four letters relative to QWERTY, swapping A with Q and Z with W, so
those are the keys where the mismatch is obvious; Y, for instance, sits in
the same place on both and reports as KeyY either way.
Each key on the board shows one of three states: not yet pressed, held down right now, or registered at some point in this session. The key log records every keystroke with its reported key, its underlying code, and how long the switch stayed down in milliseconds, which is useful for spotting a switch that registers but releases unusually slowly. Session stats summarise the run — total keys pressed, unique keys hit, and any chattering or ghosting flagged along the way — so you can compare one test run against the next without re-reading the whole key log.
Reading the key log
Copy the key log if you want to keep a record of a test run, share it with a
seller before buying a used keyboard, or compare two boards side by side.
Because everything is derived from event.code, the log stays consistent
across layouts — the underlying reading of the switch never changes, only
how it's labelled on screen.
Questions
- Why does my AZERTY keyboard show the wrong letter when I press a key?
- Because the tester reports which physical switch you pressed, not which character it prints. Browsers expose keyboard input through two separate signals: event.key, the character produced under your current layout, and event.code, the physical position of the switch on the board. This tester reads event.code, so a French AZERTY board's A key — which sits where a QWERTY board prints Q — reports as KeyQ regardless of what's on the keycap. AZERTY moves four letters relative to QWERTY: A and Q swap places, as do Z and W, which is why those four are the keys that look wrong. Select AZERTY from the layout switcher and the on-screen labels match your keycaps again; the underlying code never changes, only how it's displayed.
- Is anything I type sent to a server?
- No. Every keystroke is read and processed inside the page you're looking at, and nothing is ever transmitted, logged or stored outside your browser. Your best runs and session stats live in localStorage on your own device, which means clearing your browser data clears them too. This matters more for a keyboard tester than most tools, because the whole point is testing real, sometimes password-adjacent keys — there's no reason that data should ever leave the tab.
- What's the difference between ghosting and chattering?
- Ghosting is when pressing several keys together stops one of them from registering; chattering is when a single press of one key registers as two or more. They have different causes and different fixes. Ghosting comes from how the keyboard's switch matrix is wired — press three keys that share a row and column and the controller can't always tell which ones are genuinely down, so anti-ghosting or N-key rollover hardware exists specifically to prevent it. Chattering is usually a worn or dirty individual switch bouncing on contact, which is a hardware fault in one key rather than a matrix limitation. Run the ghosting test to check the first; tap one key rapidly twenty times to check the second.
- A key stays pale even though I'm definitely pressing it — what does that mean?
- It means the browser never received a keydown event for that switch, which almost always points at the keyboard rather than the page. Before assuming the switch itself is dead, confirm you've selected the layout that actually matches your board — a key selected under the wrong layout can appear to test the wrong physical position. If the layout is correct and the key still won't light, try reseating the cable, testing the board on another machine, or checking whether an entire row or cluster is out rather than just one key; a whole row failing together usually means a connector or ribbon problem, not one bad switch.
- Which layout should I pick — ANSI, ISO, 60% or AZERTY?
- Pick the one that physically matches the keyboard in front of you, not the language you type in. ANSI and ISO both describe the shape and key count of a full-size board — ISO adds an extra key next to Enter and splits the left Shift, which is standard on most UK and European keyboards. 60% describes a compact layout that drops the function row, arrows and numpad, common on mechanical enthusiast boards. AZERTY is a French key arrangement rather than a size, so a French keyboard could be a full-size ISO board running AZERTY. Matching the physical layout is what keeps the on-screen key positions lined up with your keycaps.
- Can I test for multi-key rollover on this page?
- Yes — the ghosting test built into this tool is exactly that check. Hold three keys down at once, on the same row where possible, and confirm all three stay lit at the same time; if one drops out while the other two hold, that combination is being blocked by the keyboard's matrix rather than by anything in the browser. Cheaper keyboards typically support 2- or 3-key rollover reliably and start dropping combinations beyond that, while mechanical boards marketed for gaming usually claim N-key rollover (NKRO), meaning every key should register regardless of how many others are already held.