NKRO Test
Hold down as many keys as you can: if your keyboard registers 7 or more ordinary keys at the same time, it goes beyond 6-key rollover. Most USB keyboards stop at 6, and full NKRO keyboards report every key you can press.
How to use
- Click the keyboard area so it is active. Browser shortcuts such as Space and F5 are blocked while it is active, and Tab moves focus out.
- Press and hold as many keys as you can. The big number is the most ordinary keys held at the same time. Shift, Ctrl, Alt and Win are counted separately.
- For a ghosting check, choose a combination such as WASD + Shift + Space. Keys still to press have a dashed outline. A red key means the keyboard reported a key you did not press.
- Press Reset to clear the record, then try again with a different set of fingers or a different USB port.
How it works
The page listens to keydown and keyup. Each physical key is identified by its KeyboardEvent.code, for example KeyW, so the layout and language do not matter. The set of keys currently down grows on keydown and shrinks on keyup, and the largest size ever reached is recorded.
Modifier keys (Shift, Ctrl, Alt, Win or Cmd) are counted apart from ordinary keys. A 6KRO USB keyboard reports 6 ordinary keys plus up to 8 modifier bits, so the ordinary key count is what separates 6KRO from NKRO. Key repeat events and the toggle keys Caps Lock and Num Lock are ignored.
Ghosting happens on a keyboard whose keys are wired in a grid of rows and columns. When three keys at three corners of a rectangle are down, the controller cannot tell whether the fourth corner is pressed too, so it may report a key you did not touch. Blocking is the opposite: a key you did press is dropped. This tool shows both, because a key that never lights up is blocked and a red key is a ghost.
A combination test compares the keys down with the keys expected. A missing key while the others are held shows a blocked key, and a key not in the combination shows a ghost.
Rollover types
Rollover is how many keys a keyboard can report at once. Plain USB keyboards in boot mode report at most 6 ordinary keys plus the modifier keys, which is why most office keyboards stop at 6.
| Type | Keys reported at once | Typical keyboard |
|---|---|---|
| 2KRO | 2 | Old PS/2 and membrane boards |
| 6KRO | 6 ordinary keys + modifiers | Most USB office and laptop keyboards |
| NKRO | Every key, in practice 10 or more | Gaming keyboards, over USB with NKRO mode on |
Test combinations
Pick one in the tool. Keys you still need to press show a dashed outline, and any key that registers but is not part of the combination turns red, which is the sign of ghosting.
| Combination | Keys | Count |
|---|---|---|
| WASD | W A S D | 4 |
| WASD + Shift + Space | Shift L W A S D Space | 6 |
| Up + Left + Space | ArrowUp Arrow L Space | 3 |
| Q + W + A | Q W A | 3 |
| Q to Y | Q W E R T Y | 6 |
| Home row | A S D F J K L Semicolon | 8 |
| Ten keys | Shift L A S D F Space J K L Semicolon | 10 |
Standards
Key events and key codes used by this tool are defined in the W3C UI Events specification. How USB keyboards report keys is defined by the USB HID Usage Tables.
| Document | Defines | Where |
|---|---|---|
| W3C UI Events | keydown, keyup and the KeyboardEvent code values | https://www.w3.org/TR/uievents/ |
| W3C UI Events KeyboardEvent code Values | Physical key names such as KeyW and ShiftLeft | https://www.w3.org/TR/uievents-code/ |
| USB HID Usage Tables | Keyboard report format: 6 key slots plus modifier bits | https://usb.org/document-library/hid-usage-tables-16 |
FAQ
How many keys should a good keyboard register?
For typing, 6 is plenty. For games with several simultaneous inputs, such as movement, a modifier and an action, a gaming keyboard with NKRO or at least 6KRO without ghosting is enough. You only have ten fingers, so reaching 10 ordinary keys already means full rollover.
My NKRO keyboard stops at 6 keys. Why?
Many NKRO keyboards use the 6KRO boot protocol when plugged into a hub, a KVM switch, or a BIOS screen, or when NKRO mode is off. Plug directly into the computer and check the keyboard's own switch or key combination for NKRO mode. Some wireless boards also limit rollover over Bluetooth.
What is ghosting and what is key blocking?
Ghosting is a key reported that was not pressed. Blocking is a key pressed that was not reported. Both come from the key matrix and are fixed by diodes under each key. Both are common on cheap membrane keyboards and are usually only noticeable with three or more keys down.
Can the browser or the operating system limit the result?
Yes. The test shows what reaches the page, after the keyboard, the USB or Bluetooth connection, the driver and the browser. Some operating-system shortcuts, such as Windows key combinations, and accessibility features like Sticky Keys can swallow keys. If one combination fails, test it in another browser or on another computer before blaming the keyboard.
Why do some keys never light up?
Special keys such as Fn, volume keys and some laptop function keys are handled by the keyboard itself and never reach the browser. The Pause, Print Screen and system keys may also be intercepted by the operating system.
Does it work on a phone or tablet?
Only with a physical keyboard connected. A touch keyboard does not send the held-key events this test needs. For touch, see the touch screen test.