Layout:
Size:
0 of 104 keys tested All keys work

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.

Last key
event.key —
event.code —
event.keyCode (legacy) —
Held at once — now / most 0 / 0
Keys that don't light up

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