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.

This test needs a physical keyboard. Connect one to try it.

Click here, then press keys.
EscF1F2F3F4F5F6F7F8F9F10F11F12
`1234567890-=Backspace
TabQWERTYUIOP[]\
CapsASDFGHJKL;'Enter
ShiftZXCVBNM,./Shift
CtrlWinAltSpaceAltWinMenuCtrl
↑
←↓→
HeldTo pressNot in the combination (ghost?)
0 keys at once

Press and hold keys to start. Shift, Ctrl, Alt and Win are counted separately.

Held now
0
Most at once (with modifiers)
0
Keys at the peak
-
Combination
-

Runs in your browser. Key presses are not recorded or sent anywhere.

Did this solve your problem?
Prefer us on Google

How to use

  1. 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.
  2. 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.
  3. 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.
  4. 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.

TypeKeys reported at onceTypical keyboard
2KRO2Old PS/2 and membrane boards
6KRO6 ordinary keys + modifiersMost USB office and laptop keyboards
NKROEvery key, in practice 10 or moreGaming 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.

CombinationKeysCount
WASDW A S D4
WASD + Shift + SpaceShift L W A S D Space6
Up + Left + SpaceArrowUp Arrow L Space3
Q + W + AQ W A3
Q to YQ W E R T Y6
Home rowA S D F J K L Semicolon8
Ten keysShift L A S D F Space J K L Semicolon10

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.

DocumentDefinesWhere
W3C UI Eventskeydown, keyup and the KeyboardEvent code valueshttps://www.w3.org/TR/uievents/
W3C UI Events KeyboardEvent code ValuesPhysical key names such as KeyW and ShiftLefthttps://www.w3.org/TR/uievents-code/
USB HID Usage TablesKeyboard report format: 6 key slots plus modifier bitshttps://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.