browser hardware tests

Keyboard test

This online keyboard tester shows which keys register, and which never arrive.

Click the board, then press each key. A key lights up the moment its code arrives.

Keyboard Not started

Click the board to begin, then press each key. A key lights up once it registers.

This test reads physical keys. A phone's on-screen keyboard reports no key code, so open this page on a computer to run it. The drawing below is a diagram rather than a readout: it scales to fit the width, so on a narrow screen the caps are too small to read, and the list under it names each key as it registers.

Num Lock ? Caps Lock ? Scroll Lock ?
Escape is a key under test. Press it twice to stop, or use the Stop button.

Nothing has narrowed the layout down yet, so the board is drawn as ANSI 101. Press a key only your keyboard carries and it redraws. Nothing reports the size, so pick yours above. This browser cannot read which character each key types until you press it, so pick your language above or press the keys.

No keys recorded yet. A key you press is named here, so this test reads without the drawing.

Key events

The latest presses, newest first, as the browser reported them. Held for is how long the key was down: it measures your finger, not how fast the key is. Repeat appears when you hold a key long enough, and it is your system's key repeat setting, not the keyboard.

KeyCodeTypedHeld forRepeat

Windows and macOS keep some keys for themselves: the Windows or Command key, Alt+Tab. This browser can borrow most of them for the test, in full screen, and then Escape becomes a key under test like any other. Press Stop to leave, or hold Escape for two seconds, which the browser handles even if this page stops answering.

How can you test your keyboard?

This keyboard test shows which keys reach your browser. Click the board and press each key: a key lights up the moment its code arrives, so a key that stays gray never registered. The board redraws to match your keyboard's layout, and the layout and size selectors correct it when your keys do not settle the question.

Why is a key not working?

A gray key means the browser never received a code for it. That has four common causes: the key itself, the cable or the wireless link, the keyboard's own firmware, or your operating system taking the key first, which is what happens with Print Screen and the Windows key.

This test separates one thing from the other three: it knows whether the code arrived. Narrowing it further takes a second keyboard, or the same keyboard on a second computer.

Which keyboard layouts does the test support?

The test supports all six physical layouts the W3C key code specification defines: ANSI 101, the alternate American 101, ISO 102, Korean 103, Brazilian ABNT 104 and Japanese JIS 106. The test starts on ANSI and redraws when you press a key only another layout carries.

Some key codes exist on certain boards and not others. IntlBackslash sits beside a shortened left Shift on ISO boards such as the UK one, and the drawing switches to ISO when the key beside the left Shift answers. IntlRo appears on Brazilian and Japanese boards, and the input-mode keys beside the spacebar belong to Japanese and Korean ones.

No single key settles it, so the test reads them together. IntlYen sits on a Japanese board and also on an alternate American one, while IntlYen with IntlRo can only be Japanese. When the keys you have pressed fit more than one physical layout, the note under the board says so instead of guessing, and the selector lets you choose by hand.

Why is your keyboard double typing?

A single key that types twice from one press is key chatter: the contacts inside its switch bounce, and the keyboard reports a second press you never made. If most keys do it and this test flags no second press, check your system's key repeat delay before you suspect the switches.

To run a double typing test, press the key that types twice several times: the test measures the gap between releasing it and it firing again. Under 50 milliseconds there is no finger fast enough, so the number itself is the proof. A healthy switch settles in about 5 milliseconds, and the fastest double tap a hand makes takes on the order of 100.

One case is different: a key that fires again while two or more other keys are held. A keyboard at the limit of what it reports together can drop a key and send it again, and that looks the same. The test says so when it happens, and pressing that key on its own tells the two apart.

How many keys can you hold at once?

Turn on Ghosting mode, above the board, and hold as many keys as you can. The count keeps the most your browser received at the same moment and names them. Pick a combination such as W, A, S, D, Shift and Space, and the test names each key that never arrived while the others were held.

That count describes your keyboard, cable and computer together. A web page cannot read the keyboard's own rollover rating, and a key the keyboard blocked looks exactly like a key nobody pressed.

Keyboard ghosting test: what each result means

Does the keyboard test work on a Mac?

Yes. On a Mac the board becomes an Apple extended keyboard: command, option and control named the way Apple prints them, F13 to F19 across the top, fn where a PC has Insert, and clear and equals on the numpad. On Windows the key beside Ctrl reads Win, and on Linux it reads Super. The System selector under the board switches between them if the guess is wrong.

The order changes with it. A PC puts Alt beside the spacebar and the Windows key one place out; an Apple keyboard puts Command beside the spacebar and Option one place out. At every other size the drawing keeps its shape and takes the Apple order, so the key that lights is the one under your finger.

While Command is held on a Mac, no browser reports other keys being released, so they stay lit until you let go of Command.

How do you test a laptop keyboard?

Pick Laptop in the size selector, then press each key. The drawing matches a laptop's half-height function row and arrows, so a gray key is one your browser never received.

If the top row types nothing, hold Fn and press it again: a laptop can put F1 to F12 on its Fn layer. To tell the laptop's keyboard from the computer, plug in a second keyboard and press the same keys.

Does the test work with a 60%, 75% or TKL keyboard?

Yes. Pick 60%, 75% or TKL (tenkeyless: a full-size board without the numpad) in the Keyboard size selector, and the drawing shows only the keys that size has.

Nothing tells a web page how big your keyboard is. No interface reports the model, the maker or the key count. One interface can read a hardware identifier, but it needs you to pick your keyboard from a device chooser first, it only exists in one browser, and most keyboards expose nothing for it to read.

Working it out from what stays gray does not hold either. A compact keyboard does not lose its keys. It moves them onto an Fn layer, so F1 on a 65% still reports F1 when you hold Fn and press 1.

Does this work in Firefox and Safari?

Yes, and it is measured: Chromium, Firefox and Safari all report the key code, which is what this test reads and what the physical layout detection uses. One combination has a known fault: Safari on a Mac with a European keyboard, covered below.

The caps start on US characters and become yours as you press them: the key event carries the character your keyboard produced, so a ç key relabels itself ç the moment it registers. That works in Firefox and Safari as well. Chromium can go further and relabel the whole board before you start, because it can ask the system directly; Firefox and Safari never added that interface, so there the Language selector under the board labels it from a table instead.

What can this test not tell you?

Whether the key itself is good
The browser hands over the code your keyboard sent. A key that stays gray could be the key, the cable, the firmware, or your operating system. This test tells you the code did not arrive, and stops there.
Keys your operating system takes first
The Windows or Command key, Alt+Tab and Ctrl+N are consumed before the browser sees them during normal browsing. In Chromium you can lend some of them to the test. The button under the board asks for full screen and borrows what your system allows. Measured on Windows: the Windows key comes through, Print Screen does not, and Ctrl+Alt+Del never will.
A keyboard with remapped firmware
QMK and VIA send the code the firmware decided on. The browser never sees the original, so a keyboard with layers reports the layer you are on.
Two keys swap places in Safari on a Mac with a European keyboard
macOS reports the key left of 1 and the key beside the left Shift with each other's codes, and Safari passes that along. Chrome and Firefox correct it. The bug has been open since 2022, so on that combination those two caps light up the wrong way round.
Which character a key types before you press it
No browser but Chromium can read your layout before a key is pressed, and that is not a version question. Elsewhere a cap takes its character from the press itself, or from the Language selector, which labels the board from the layouts Linux ships for seven languages. The selector is what the language says, not a reading of your system, so a key you press always shows what it really typed. A dead key, the accents on a Brazilian or French board, reports no character when pressed, so only the selector can label it.
How many keys at once your keyboard can report
Ghosting mode counts how many keys your browser received at the same moment. That describes the keyboard, cable and computer together, not the keyboard's rollover rating, and a key the keyboard blocked looks exactly like a key nobody pressed.
Polling rate, scan rate and latency
No browser interface reports a keyboard's polling rate, scan rate or latency, so this test shows no number for them. Held for, in the key events list, is how long your finger kept the key down.
Num Lock and Scroll Lock on a Mac
macOS has no Num Lock and does not report Scroll Lock, and Safari reports neither, so those lights appear only on Windows, and Num Lock on Linux too. Caps Lock shows everywhere once a key press or a click has carried its state. On a Mac it is counted as a tap, because it signals turning on and turning off rather than a key being held.
Media and browser keys
They are listed under the board when your browser receives them. Many never reach a web page: on a Mac they never do, and elsewhere the system, the browser or another app can take them first. A media key that does not appear is not proof it is broken.
Your keyboard's size
Nothing reports it, so the size selector is a question rather than a detection. Working it out from what stays gray fails too, because a compact board moves its keys onto an Fn layer instead of losing them.
The Fn key
Fn is resolved inside the keyboard itself and never reaches your operating system, let alone a web page. It is drawn with a dashed outline on the compact sizes so you can see it is there, and it can never light up.
Your exact model's arrangement
The compact drawings follow the arrangement the keyboard community settled on, and they are drawn lean: a 75% here has 82 keys where many ship 84, and a 96% has 97 where many ship 100. Makers move keys around within a size, so yours may have keys this drawing does not. Brazilian and Japanese boards also give up one key on the compact sizes, because the row has no room for both it and an arrow.

What does your result mean?

Print Screen opened a screenshot tool instead
That is Windows taking the key below the browser. It hands over only the release, never the press, so the key still registers here, and the status line says it registered on release only. Nothing is broken.
A key worked but jumped you out of the page
The Windows or Command key opens the menu, Alt+Tab switches window. The key registered on the way down and your system acted on the way up. Use the system-key button under the board to borrow those keys for the test.
A key reports firing again a few milliseconds after release
Pressed on its own, that is the switch bouncing for longer than the keyboard's debounce hides, not your hand. On a hot-swappable keyboard you can replace that one switch. With two or more other keys held, it can be the keyboard's limit instead: press the key alone, and if it still repeats, it is the switch.
One key stays gray
Try that key in a text field. If nothing types there either, the fault is below the browser: the key, the switch, or the firmware.
A key works only sometimes, or only when pressed hard
Press it several times, lightly and then firmly, and watch the Key events list under the board: each press your browser received adds a line. A press that adds no line never arrived. When how hard you press decides it, the keyboard is the likely cause, not your system.
A whole row or block stays gray
A run of neighboring keys usually points at one connection rather than several failures. On a membrane keyboard that is a trace; on a laptop, the ribbon cable.
The board redrew itself
You pressed a key that only one physical layout carries, so the drawing now matches your hardware. Nothing is wrong.
Keys in the navigation block stay gray
A 90% or smaller board usually has no dedicated Insert, Home or Page Up. Those functions sit on the numpad under Num Lock, and the browser reports the numpad key it physically is. Set the size above to match your keyboard and the drawing stops asking for keys you do not have.
A key lights up but types the wrong character
The Key events list under the board shows the character each press typed, Shift symbols included. The key arrived, so that character comes from your operating system's layout, not from the keyboard: when @ or # comes out as another symbol, switch your system's input layout to the one printed on your keys.
A key stays lit after you let go
The browser never received its release, so the key still counts as held. Press and release it again: if it stays lit, the key may be sticking below the cap. On a Mac, holding Command does this to other keys.

Common questions

Can you test your keyboard online?
Yes. The keyboard test runs in the page you are on, with nothing to install, using the key events your browser already reports.
Does the keyboard test work on a mechanical keyboard?
Yes. The test reads the key code your keyboard sends, and the switch under the key does not change that code. On a mechanical keyboard, the double typing check above is where a worn switch shows: it measures the gap between releasing a key and its second press.
Can the keyboard test capture the Windows key?
The Windows key, yes, in Chromium and while the test is in full screen. Print Screen, no: Windows takes that one below the level this feature reaches, so it keeps opening your screenshot tool. Inside that mode Escape becomes a key under test as well, so leaving is the Stop button or holding Escape for two seconds. Firefox and Safari cannot do any of it.
Why does the Fn key never light up?
Fn is handled inside the keyboard's own firmware and never reaches the computer as a key event, so no web page can see it. The keyboard test draws it with a dashed outline on every size that ships one, to show it is there and cannot register.
How do you hit F1 on a 60% keyboard?
Hold Fn and press the key your keyboard puts F1 on; the manual shows which, because the Fn layer differs from model to model. The keyboard then sends F1 itself, the same code as the F1 key on a full-size board. The 60% drawing has no F1 cap, so F1 appears in the Key events list under the board instead of lighting up.
What is a 96% keyboard missing?
A 96% keyboard keeps the numpad and the function row, and squeezes the navigation block into one column. The 96% drawing here leaves out Print Screen, Scroll Lock, Pause, Insert, Home, End, the right Windows key and the Menu key, and keeps Delete, Page Up and Page Down in that column: 97 keys with Fn. Pick 96% in the size selector, and a key your board keeps beyond the drawing still shows up in the Key events list.
Why does the test capture the Tab key?
Because Tab is a key like any other and you came here to test it. Press Escape twice, or the Stop button, to stop the test and get the page back.
Is this keyboard test safe to use?
It runs in your browser, and the keys you press are never sent one by one. When a run ends, the page sends a summary: how many keys registered out of how many, and, only when most of the board was tested, up to six key codes that did not. The privacy page lists everything that is sent.
Can you test a keyboard on a phone?
Not the on-screen keyboard: it reports no key code, so there is nothing for the test to read. Open this page on a computer and press the keys of the keyboard you want to test.

This test's engine last changed on . The page says only what the engine can do, and the two change together.