How to use the keyboard tester
Click anywhere on the page so it has focus, then start pressing keys. Each key lights up on the on-screen keyboard while it is held and stays shaded once you release it, so you can work along every row and see at a glance which keys still need testing. First make the drawing match your keyboard:
- Size — Full (104/105 keys with a number pad), TKL (tenkeyless), 75% (function row and arrows squeezed into a compact block), 65% (no function row, arrows kept), 60% (no function row or arrows) and Laptop (half-height function row, small inverted-T arrows, and a hatched Fn key).
- Standard — ANSI (US) has the wide one-row Enter and the \ key above it. ISO (UK) has the tall L-shaped Enter, the # ~ key tucked into it on the home row, a short left Shift with \ | beside it, and UK legends: " on 2, £ on 3, @ on the apostrophe key, ¬ on the ` key and Alt Gr on the right.
- Windows or Mac — the Mac drawings use Apple's order (control, option, command), drop the Menu, Print Screen and Insert keys, and show F13–F19 and Apple's numpad on the full-size board; Laptop becomes a MacBook layout with fn and Touch ID.
Visitors whose browser language is British English start on ISO (UK), and in Chrome and Edge the page also reads your operating system's keyboard layout to confirm it. If you are on ANSI and press the key beside left Shift — which only ISO boards have — the tester switches to ISO by itself.
The readout shows the last key's name, its physical code, the legacy keyCode, its location and how long you held it. Everything is logged in the history panel, and the session can be copied or downloaded as a report. Nothing leaves your browser. On a phone, tap the Open on-screen keyboard field; a virtual keyboard cannot send every physical key code, but characters register in the log.
If you need the exact event values for your own code, the JavaScript key code finder shows every property of a single press; once every key checks out, the typing test tells you how fast you type on it, and the mouse tester does the same job for buttons and the scroll wheel.
What the tester checks for
- Dead keys. A key that does nothing when pressed never turns green. Try it several times and at different angles — a key that only registers with hard pressure usually has debris under the keycap or a worn dome.
- Stuck keys. A key that reports "down" for more than three seconds is flagged amber with a note. A browser cannot tell a jammed switch from a finger that is still holding the key, so the flag says exactly that: if your finger is off it and it stays lit, the switch is jammed or its contact is bridged by a spill.
- Key chatter (double typing). Worn switches can send two signals from one press. The tester watches for a second press of the same key — modifiers included — within 40 milliseconds of the first, far faster than a human can repeat, and lists any key that does it. The type check box below the history catches the same fault from the other side: type the sentence and it lists doubled, missing and wrong characters.
- Rollover and ghosting. Hold several keys at once. The max held figure is shown as keys + modifiers, because a standard USB keyboard reports up to six ordinary keys plus all eight modifiers at once (6KRO). Six letters with Shift, Ctrl, Alt and Win held therefore reads "6+4" (and the report says 6 keys + 4 modifiers), not ten-key rollover; seven or more ordinary keys means the board goes beyond 6KRO. If a key you are holding does not light up while others are down, that combination is ghosting or blocked.
- Auto-repeat. Hold a letter key down: after your operating system's repeat delay it sends repeat events, and the tester shows the delay and the live rate. This is your system setting, not a polling rate — browsers only ever see key presses at the repeat rate, so an honest keyboard polling-rate test is not possible in a web page.
- Keys not on the drawing. F13–F24, media keys, the Japanese and Brazilian extra keys, or a key your chosen layout doesn't have appear as chips in the Other keys strip, so nothing you press is silently ignored.
Reading the key codes
Browsers describe a key press three different ways, and the tester shows all of them because each is useful for something different.
| Field | What it tells you | Example |
|---|---|---|
key | The character or action the key produces with the current layout and modifiers. Changes with Shift, Caps Lock and language. | a, A, Enter |
code | The physical position of the key on the board, regardless of layout or language. The same for a French AZERTY and a US QWERTY board. | KeyA, ShiftLeft, Numpad7 |
keyCode | A legacy number that older software and games still use. Deprecated in web standards but still reported by every browser. | 65, 13 |
location | Distinguishes left and right modifiers and numpad keys that share a name. | 1 = left, 2 = right, 3 = numpad |
Click any entry in the history panel to copy its codes — handy when you are mapping keys in a game or writing a shortcut handler.
Keys a browser can't see
A web page only receives the keys the operating system and browser pass on, so a few keys never register even on a perfect keyboard: the Fn key on laptops and Touch ID (handled inside the keyboard, so they are drawn hatched and left out of the count), the Windows or Command key in some browsers, Print Screen on Windows (it fires only on release, which the tester counts), and shortcuts the browser reserves such as Ctrl+W, Ctrl+T and Cmd+Q. Media keys and the power key are usually taken by the system. The tester suppresses the browser's reaction to most other keys — Tab, Space, Backspace, function keys — so pressing them tests the key instead of scrolling the page.
Three platform quirks are handled for you. On Windows, every Alt Gr press also sends an invisible Left Ctrl; the tester spots it (same timestamp) and ignores it, so Left Ctrl is only marked tested when you really press it. On a Mac, Caps Lock sends one event when it switches on and another when it switches off, so each counts as a press rather than a key held for minutes. On a Mac with a UK (ISO) keyboard, macOS reports the § key and the ` key beside left Shift with each other's codes in most browsers; the Mac ISO drawing accounts for this and corrects itself if your browser reports them the other way round.
On 60% and 65% boards the top-left key is drawn as Esc, because that is what most compact boards send; if yours sends ` there instead, it shows in the Other keys strip. A key that stays grey is worth checking in a plain text editor before you decide it is broken.
What to do about a bad key
A key that doesn't register or needs force: on a mechanical keyboard, pull the keycap and blow the switch out with compressed air, then press the switch stem directly — if it works bare, the cap was the problem. On a laptop or membrane board, a cotton bud with a little isopropyl alcohol around the key edges clears most sticky residue. Chatter: some keyboards let you set a debounce time in their software; otherwise the switch is wearing out and, on a hot-swap board, a two-minute swap. Stuck after a spill: unplug immediately, turn the board upside down, and leave it for at least 24 hours before testing again. Whole rows or blocks dead: that points at the controller or the ribbon cable rather than the keys, which on a laptop is usually a repair-shop job.
If you are testing a new keyboard for a return, download the report at the end of your session — it records every key pressed, every flag raised and your rollover result, with timestamps.
Frequently asked questions
Is this keyboard tester free and does it upload anything?
Yes and no respectively. The tester is free with no sign-up, and every key press is handled by JavaScript in your browser. Nothing you type is sent anywhere — you can confirm that in your browser's network panel, or load the page and then go offline.
Why does a key light up on the screen when I press a different one?
Your keyboard is a different layout from the one selected. Switch between ANSI (US) and ISO (UK), Windows and Mac, and the six sizes until the drawing matches. Keys are matched by physical position (the code), so a French or German board still lights the right position even though the printed letter differs; the legends drawn are US or UK.
How do I test for key chatter?
Type normally for a minute or so, or press each key a few times at a normal speed. If a switch is chattering, the tester will see two presses of the same key within 40 ms — faster than any human — and add that key to the chatter list with a count. One or two flags on a key you were mashing can be noise; a key that keeps appearing is worn.
What is N-key rollover and how do I check it?
Rollover is how many keys the keyboard can report at once. Hold as many letters as you can and read max held, shown as keys + modifiers. A standard USB keyboard (6KRO) reports six ordinary keys plus every modifier, so "6+4" (six keys, four modifiers) is normal 6KRO. Seven or more ordinary keys means N-key rollover or close to it. A held key that stays dark means that combination is blocked.
Does it work on a laptop keyboard, a UK keyboard and a Mac?
Yes. Pick Laptop for a typical Windows laptop (half-height function row, small arrows, Fn drawn but not counted), or 75%/65% for compact boards. ISO (UK) draws the # key beside Enter, the \ key beside left Shift and UK legends. With Mac selected you get Apple's control, option, command order, F13–F19 on the full-size board and a MacBook layout.
Why won't Print Screen, Fn or the Windows key register?
The operating system or the keyboard itself handles those before the browser sees them. Fn never reaches software; Print Screen on Windows only sends a release event; the Windows/Command key is intercepted by some browsers. It doesn't mean the key is broken.
Why was my layout switched to ISO on its own?
You pressed the key between left Shift and Z, which only exists on ISO keyboards (UK and most of Europe), so the ANSI drawing had nowhere to show it. The tester switches to ISO (UK) and remembers the choice. UK visitors also start on ISO because of their browser language. You can always change the layout back with the buttons above the keyboard.