Skip to content
DeviceBench

Free online keyboard ghosting test

Ghosting test that shows every key held at once

Hold down as many keys as your fingers can reach and the board lights every one your keyboard is genuinely reporting, with a running count and the record for how many it has sustained together. Two different faults hide inside that count and this page keeps them apart: blocking, where a key you are physically holding never arrives, and ghosting, where a key nobody touched arrives anyway. Only what your operating system passes on can be counted, so the few combinations the system keeps for itself look like blocking and are not — everything else on the board is fair game.

  • 100% free
  • No signup
  • 104-key board
  • Modifiers counted apart
  • 6 preset combos

Not listening yet. Take the keyboard, or click the board, before you start holding keys.

Combo to try:
Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Meta
Alt
Space
Alt
Meta
Menu
Ctrl
PrtSc
ScrLk
Pause
Ins
Home
PgUp
Del
End
PgDn
Num
/
*
-
7
8
9
+
4
5
6
1
2
3
Enter
0
.
  • reported right now
  • asked for, not arriving — blocked
  • arriving uninvited — phantom
Holding now
0 + 0
matrix keys + modifiers
Record this session
0 + 0
most ever reported together
Combo progress
free hold, no target
Phantoms seen
pick a combo to detect them

How many at once

Hold a handful of keys and the count above starts moving.

Modifiers are counted on their own because USB carries them in a separate byte: eight bits for the two Ctrls, Shifts, Alts and Windows keys, which never take a slot from the six the rest of the board shares.

Which ones failed

Free hold cannot tell the two faults apart: with no declared target, a key that fails to arrive might be a finger that missed and a key that arrives might be a finger that slipped. Choose one of the combos above and the board starts marking both.

Two things will look like blocking and are not. Your window manager claims a few combinations before any page is offered them, so Alt+Tab, Cmd+Q and the Windows key on its own can never be counted here. And the pressed set is emptied whenever this window loses focus, because a key released while you were somewhere else would otherwise stay lit for ever — so a hold interrupted by a notification starts again from zero rather than lying to you.

How to test keyboard rollover and ghosting

Hold first for the number, then a named combo for the two failures behind it.

  1. Take the keyboard, then grab a fistful of keys

    Nothing is captured until you press the button or click the board, because a page that grabs every combination on load takes your window shortcuts with it. Once it is holding the keyboard, press keys down and keep them down — three, then five, then as many as your hand covers. Add them one at a time rather than slapping the board: the number you want is how many the keyboard sustains together, not how quickly you can produce a mess.

  2. Read the two counts as two different answers

    The counter shows matrix keys and modifiers separately, as "5 + 2", and they mean different things. The first number is the one your keyboard can run out of; the second is nearly free, because Ctrl, Shift, Alt and the Windows key travel in their own byte. If the first number stops dead on six however you rearrange your fingers, you have found the ceiling of the report format rather than a broken keyboard.

  3. Pick a combo and watch for the dashed cap and the ringed one

    Free holding tells you how many; a declared combo tells you which. Choose one of the six presets, hold exactly those keys, and the board marks a key you are holding that never arrived with a dashed outline and a key you were never asked for with a heavy ring. The first is blocking and the second is a phantom — repeat the hold twice before believing a phantom, because a finger brushing the neighboring cap looks identical from here.

Technical specifications

Counts reportedTwo, side by side: matrix keys held and modifier keys held, because they travel in different parts of the USB report
Boot-protocol ceiling6 keycode slots plus 8 modifier bits per report — the HID keyboard descriptor every BIOS falls back to
Preset combos6, from a 4-key movement grip to a 7-key hold that only a board out of boot protocol survives
Blocking, as marked hereA key named by the chosen combo that produced no keydown while you held it — drawn with a dashed outline
Ghosting, as marked hereA keydown for a key the chosen combo never named — drawn with a heavy ring, and treated as unproven until it repeats
Combinations that cannot be judgedAnything the window manager claims first, including Alt+Tab, Cmd+Q and the Windows key alone, plus Fn, which never leaves the keyboard's own controller
Held set clearedOn every window blur, so a release delivered to another window cannot leave a cap lit for the rest of the session
Data keptThe set of codes down at this instant and two peak integers, in memory only; nothing is written to storage or joined into text

Frequently asked questions

What is the difference between ghosting and blocking?

Ghosting is a key arriving that you never pressed; blocking is a key you did press failing to arrive. They come from the same place — the grid of rows and columns your switches are wired into — but they are opposite symptoms and only one of them is still common. Ghosting needs a matrix without diodes, where three closed switches forming three corners of a rectangle let current reach the fourth corner and the controller reads a switch nobody touched. Blocking is what manufacturers did about it: rather than report a phantom, the controller refuses the whole ambiguous group, so a key simply goes missing. Nearly every keyboard sold today blocks and does not ghost, which is why this page marks the two differently instead of calling both of them ghosting.

My keyboard stops at six keys. Is it faulty?

No, six is a specification rather than a defect. The USB keyboard boot protocol — the simple format every BIOS and every bootloader understands, because it has to work before any driver is loaded — sends an eight-byte report with room for exactly six keycodes at a time. A keyboard that stays in that mode reports six and refuses the seventh, and that includes some very expensive boards running with their software features switched off. If you need more, the board has to advertise a report descriptor of its own, which is what the marketing calls NKRO.

Why do Shift, Ctrl and Alt not count toward the six?

Because they are sent as bits rather than as keycodes. That eight-byte report begins with one byte of flags, one bit each for left and right Ctrl, Shift, Alt and the Windows or Command key, and those bits are transmitted whatever else is happening. So even the strictest six-key board will happily hold six letters plus all four of your modifiers at once — ten keys, on hardware that is honestly described as 6KRO. This page counts them on their own line for that reason; a tester that adds them together reports a rollover figure four higher than the keyboard actually has.

Why does W, A and Shift work fine but W, A and S drop a key?

Because rollover is not a number of keys, it is a question of where those keys sit in the grid. Two switches on the same row and two on the same column are the ingredients of an ambiguous group, so a combination that happens to be spread across the matrix passes while a tighter one on the same board fails. Shift is free in the first example because it never occupies a keycode slot. This is exactly why the presets on this page are shaped differently from each other: four keys on one number row and four keys scattered across the letters ask completely different questions of the same hardware.

Do I need an NKRO keyboard for gaming?

Almost certainly not, and the honest test is the combos you personally hold rather than the number on the box. Six simultaneous keys plus every modifier covers movement, a modifier, a crouch and two abilities at once, which is more than most people press together. Rhythm games and some fighting-game layouts genuinely exceed it, and so does anything where two people share one keyboard. If a combination you actually use drops a key here, that is worth spending money on; if it does not, the upgrade buys you a number rather than an outcome.

A key stayed lit after I let go of everything. Is that a phantom?

Usually it is a lost key-up rather than a ghost. If the window loses focus mid-hold — a notification steals it, or you alt-tab — the release event is delivered somewhere else and the page would show that key held for ever, so the board clears itself whenever focus leaves and restarts the count. A cap that stays lit while this window is still in front of you is different: either the keycap is physically stuck on its stem, or debris is holding the switch closed. Press Clear the record, then press and release that one key on its own to see whether it releases cleanly.

Is this the same as the ghosting people talk about on monitors?

No, and the two share nothing but the word. Keyboard ghosting is a phantom keypress produced by the wiring inside the keyboard. Monitor ghosting is a faint trail behind a moving object, caused by liquid crystal pixels that cannot finish changing color before the next frame arrives. If you came here because something is smearing on screen rather than because keys are going missing, this is the wrong page — the display tests are where that is measured.

About the matrix, the phantom key and the six-key report

A full-size keyboard has 104 switches and nowhere near 104 wires. They are wired as a grid instead — a handful of rows crossed with a handful of columns, one switch at each intersection — and the controller finds out what is pressed by energizing one row at a time and reading which columns respond. Press one key and exactly one column answers. Press three keys forming three corners of a rectangle in that grid and current has a second path home, through the two other closed switches, so the fourth corner answers as well. That fourth key is the phantom, and the physical cure is a diode behind every switch, which lets current run one way only and closes the return path for good. Diodes are cheap and 104 of them plus the board space are not free, which is why the feature is a selling point rather than a default. A switch that produces nothing at all is an unrelated fault with an unrelated cause, and it is the one the keyboard test colors in key by key.

The second ceiling is not in the keyboard at all, it is in the cable protocol. USB defines a boot protocol for keyboards so that a machine can be driven before any operating system has loaded a driver, and its report is eight bytes: one byte of modifier bits, one reserved byte, and six slots for keycodes. Six is therefore the most a keyboard speaking that dialect can ever say at one time, no matter how good its matrix is, and a board can be fully diode-isolated and still stop at six — no ghosting, plenty of blocking. Getting past it means advertising a different report descriptor after boot, usually a bitmap with a bit for every key, which is what NKRO buys and why some keyboards are NKRO in the operating system and back down to six keys in the BIOS. Rollover is a question of how many, not of how fast; if what bothers you is the delay before a key does anything, that is a separate measurement on the keyboard latency test.

One word causes most of the confusion that brings people to a page like this. Display ghosting is a completely different phenomenon with the same name: a trail behind a moving object, caused by pixels that cannot finish their color transition inside one frame. If that is the smear you came to chase, start from a black screen and a white screen to see whether the panel is uniform first, and use the burn in test if the mark stays in one place instead of following the movement — a stationary shadow is retention, not response time. The mouse, meanwhile, has its own version of the question this page asks, which is how many inputs one physical action can be made to produce: that is drag clicking, and the drag click test counts what comes out of it.

What the board holds while you hold keys

Every number on this page is worked out by JavaScript running in the tab you are reading it in. Nothing you type, paste or open is uploaded, logged or kept, which is also why the tools carry on working after you disconnect from the network.

The only thing this page keeps is the set of key codes down at this instant, which shrinks as you let go and empties completely whenever the window loses focus. Two whole numbers survive a release — the session records — and neither of them says which keys produced it. Nothing is appended, nothing is buffered, and reloading the page leaves no trace of what you held.