Skip to content
I Hate Online Tools

Keyboard tester

Press keys to see which ones register, with key and code values.

Runs in this tab. The file stays here.

Press keys to highlight them. Last: —

Escape1234567890Back
TabQWERTYUIOP
CapsASDFGHJKLEnter
ShiftZXCVBNM,./
ContAltMetaSpace←↑↓→

Live readout only — nothing is recorded or stored. This runs in your browser. Nothing is uploaded.

About Keyboard tester

Press keys to see them light up on an on-screen keyboard and read the key name and physical key code of the last press. Everything runs in the page.

Dead keys, sticky switches and a worn spacebar are hard to spot while typing. This tester listens for key presses anywhere on the page and highlights the matching key on a compact keyboard diagram for as long as you hold it. Above the diagram, a line shows the last key you pressed in the form key (code KeyA), which is the pair a developer looks up when writing keyboard handling.

The two values mean different things. key is what the press produced, so it changes with layout and Shift: a gives a, Shift+a gives A, and a French layout gives different characters on the same switch. code names the physical key position and stays the same across layouts, which makes it the better choice for game controls. The diagram covers the main block only: Escape, the number row, three letter rows, Shift, Control, Alt, Meta, Space and the arrow keys, plus a few punctuation keys. Function keys, the numpad and most symbols are not drawn, but their key and code still appear on the Last line.

It reads keydown and keyup events in the tab, so it only sees what the browser sees. The operating system or browser can swallow some presses before the page does, such as media keys, brightness keys and Cmd or Windows shortcuts. The page also blocks the default action of each key you press, so Tab will not move focus and many browser shortcuts will not fire while you test. If you hold a symbol key with Shift and release Shift first, that highlight can stay lit until you press the key again. Nothing you type is stored or sent.

How to use Keyboard tester

  1. 1Click the page so it has keyboard focus.
  2. 2Press the keys you want to test, one at a time or in combinations.
  3. 3Check that each key lights up on the diagram while held and goes dark on release.
  4. 4Read the Last line for the key and code values of the most recent press.

What it won't do

  • Main block only: no function row, numpad or full symbol set on the diagram.
  • Keys the operating system or browser intercepts never reach the page.
  • Default actions are blocked while you test, so Tab and many shortcuts do nothing.

Common questions

Why doesn't a key show up in the keyboard tester?

Either the switch is faulty or the operating system handles it before the browser sees it. Function, media and brightness keys are common examples. If the Last line never changes when you press it, the page received nothing.

What is the difference between key and code in the keyboard tester?

key is the character or name the press produced, and it changes with layout and Shift. code is the physical key position, such as KeyA or Space, and stays the same across layouts.

Can the keyboard tester find ghosting or a key limit on my keyboard?

Partly. Hold several keys at once and see whether each stays lit; a missing one points to ghosting or a rollover limit. Keys outside the drawn layout only show on the Last line, so check them one at a time.

Does the keyboard tester store or send what I type?

No. Key events are read in the tab and kept only to light up the diagram. Nothing is saved or transmitted, but avoid typing passwords into any test page out of habit.

Related tools

Why this one doesn't upload your file

There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation

Install the app