Keyboard Tester: Every Key, and the Ones You Missed
Press keys and watch them light up. The layout remembers what you have already pressed, so the question you came with — which key is dead? — has an answer on screen.
Click anywhere on this page first, then start pressing keys.
On this page keys only light up — F5, F11, F12 and others lose their usual browser actions while you test.
event.key
—
event.code
—
event.keyCode (legacy)
—
Not reaching the full count is normal: keyboards differ, and yours may simply lack some keys from the drawing. If a key stays dark, try it again with Fn held.
Finding the Key That Does Not Work
Something is wrong with the keyboard, and the difficult part is never noticing that — it is working out exactly which key, and whether the fault is worth a repair or a replacement. A keyboard test online answers that in about a minute: press everything, and whatever stays unlit is the problem.
This page keeps a history, which is the part that matters. Every key has three states — never pressed, held down right now, and pressed at some point since you started. The history is the coloring, so there is no list to read and nothing to cross-reference. Press the Show untested button and everything you have not yet reached is outlined at once, which beats hunting across a hundred keys by eye and losing your place halfway.
The same tool answers a key test for a single suspect key, a request to test keyboard keys after a spill, a keyboard button test on a second-hand purchase, or a keyboard keystroke test when a key has started repeating itself. As a keyboard checker online it needs no installation and reads nothing but the events your browser already receives.
What the Codes Mean
Under the layout, each press shows three values. event.code names the physical
position on the board and does not change when you switch language — pressing the key marked Q
on a French keyboard still reports KeyQ. event.key is the character
that position produces under the current layout, so on that same board it reports
a. event.keyCode is the deprecated numeric value, shown because a lot
of older code still depends on it.
For anyone debugging a shortcut handler, that distinction is usually the bug: matching on
key when you meant a physical position breaks the moment somebody switches to a
different layout.
Ghosting and N-Key Rollover
Cheap keyboards wire their keys in a grid, and a grid cannot always tell which keys are down when several are pressed at once. Two things go wrong. Blocking is when a third key simply does not register. Ghosting is worse: the controller reports a key nobody touched, because the matrix cannot distinguish that combination from another.
The counter above tracks how many keys are held simultaneously and the highest number reached, so a keyboard rollover test needs no separate mode — hold down a handful of keys and watch it. A ghost keyboard test is the same procedure with different attention: press W, A and S together and see whether a fourth key lights up on its own, or whether one of the three fails to appear.
Boards advertised with n key rollover test results, usually shortened to NKRO, register every key independently, no matter how many are down. Most membrane keyboards manage two or three in the main area and behave unpredictably beyond that; the modifier keys are usually wired separately and always work. Using this as a keyboard nkro test or a keyboard ghosting tester gives you the honest number for your own hardware rather than the number on the box. A key rollover test run before buying a second-hand board takes ten seconds, and a key rollover tester is what half of these searches are really after.
One caveat worth stating: USB itself limits a standard keyboard to six simultaneous keys plus modifiers, so boards claiming full NKRO over USB use a different protocol to get around it. If your count stops at six, that may be the interface rather than the keyboard.
What This Page Cannot Measure
A keyboard latency tester is a different instrument. Measuring the delay between a physical press and the software seeing it needs hardware in the loop — a high-speed camera or a microcontroller — because a browser only knows when the event arrived, not when the switch closed. The numbers a web page could report would be dominated by the browser's own scheduling, so this page does not pretend to produce them.
Keys That Never Arrive
Some keys are physically fine and still may not register here, because the operating system takes them first. On Windows that is the Windows key: pressing it opens the Start menu and the browser never sees a usable event, so a windows key test is impossible from inside a web page — if the Start menu opens, the key works. Only when you visit from Windows is the key marked as untestable and left out of the counter. On Linux and macOS it reaches the browser, lights up and counts like any other key.
The Fn key on a laptop is the same story for a different reason: it is handled entirely by the keyboard controller and never becomes an event at all. Print Screen and some media keys may also be swallowed by the system depending on your settings.
Laptops and Different Machines
Switch the size to Laptop and the layout loses the numeric pad and the navigation cluster, which is what a keyboard test laptop check needs — counting keys that are not on the machine in front of you makes the total meaningless. That makes this a keyboard tester for laptop keyboards as much as for desktop ones.
The layout selector handles the rest. ANSI is the US arrangement with a wide Enter; ISO, common across Europe, has a tall Enter and an extra key beside the left Shift; JIS adds the Japanese input keys around a shortened space bar. Pick the one that matches the board in front of you or the counter will never reach its total.
None of this depends on the manufacturer. An hp keyboard test and a keyboard test hp search both land here and both work, because the page reads browser events rather than talking to a driver. A keyboard test mac works the same way: the Command keys sit where the Windows keys are drawn, reach the browser on macOS, and are counted and testable.
Questions
-
The switch and the controller are fine — the event reached the browser. The problem is above the hardware: a layout mapping, a stuck modifier, or software intercepting that key. Check your keyboard layout settings first.
-
On laptops and compact keyboards many keys, the F1–F12 row especially, send their own code only while Fn is held — hold Fn and try again. If it still stays dark and the Last key panel shows nothing either, click an empty spot on the page to give it focus and press once more. No response after that means the key or the system is swallowing the press.
-
Keyboards differ. The drawing is a standard board, and yours may have no right Windows key, no Menu key or no separate Print Screen group, while the system may take some keys before the browser sees them — Print Screen usually opens a screenshot tool. If the only keys left are ones your keyboard lacks or the system uses, the keyboard is fine.
-
That is the tested state, not a stuck key — it stays colored so you can see what you have already covered. A key held down right now is a different color, and the legend under the layout shows both.
-
Usually a worn or dirty switch bouncing, so one press is reported several times. This page marks a key as tested on its first press and does not count repeats, so tap the key once in any text field instead: a doubled character confirms it. Compressed air and a clean of the contacts fix most cases.
-
No. The keys you press are handled in the page and never transmitted. The list of tested keys is kept in this browser tab so a reload does not lose it; closing the tab or pressing Reset clears it.