key follows the produced character, which changes with layout and modifiers; code follows the physical key position, which is always the same. That is why the same physical key can produce different letters on different layouts.
Capture keys, codes and repeat in real time
When a key stops typing, it is hard to know whether the culprit is the key, the driver or the software. This test captures the browser's keydown and keyup events and shows, on every press, four key facts: key (the character or value produced, which depends on layout and modifiers), code (the physical position of the key, independent of layout), location (whether it is the left, right or numeric-keypad version), and repeat (whether the press is an automatic repeat of a held key). With that, you can see live whether each key registers, whether a modifier got stuck, and whether the layout is mapped the way you expect.
key is what the key produces right now: pressing 2 with Shift may yield @ or ", depending on the layout. code is the key's physical identity, always the same regardless of language, the key at the top-left of the letters is KeyQ even if your layout prints something else there. That distinction is the heart of diagnosis: if code appears but key comes out wrong, the problem is layout/software, not the key.
location distinguishes duplicated keys: 1 for the left version, 2 for the right, and 3 for the numeric keypad. That is how you confirm the right Shift works as well as the left. repeat is true when the system fires automatic presses while a key is held, handy for catching a key that "repeats on its own."
Example 1, finding out why letters come out wrong: press the physical key at the top-left of the letters. If code reads KeyQ but key shows "a", your system is on an AZERTY (French) layout, not QWERTY. The keyboard is fine; what needs changing is the language layout in the operating system.
Example 2, checking both Shift keys: press the left Shift and you see key "Shift" with location 1; then the right Shift, which should show location 2. If one side does not register, that specific key is faulty, not the shortcuts that rely on it.
Use it when buying a used keyboard, after a liquid spill, to hunt a key that fails intermittently, or to validate a mechanical keyboard key by key. It also helps test n-key rollover by pressing several keys at once to see how many the keyboard can report simultaneously.
How to read it: a key that never fires keydown indicates a dead switch or debris under the keycap; a key that fires repeat without being held may have a stuck contact; keys that "disappear" when you press many together reveal the hardware's rollover limit (ghosting). Note that some system shortcuts (like media keys or reserved combinations) may never reach the browser.
Paste the code into your HTML and the tool shows up on your page, without J-Kit's navigation and ads. It still runs in the browser of whoever visits your site.
<iframe
src="https://jkit.tools/embed/en-US/keyboard-tester"
width="100%"
height="600"
style="border:0"
loading="lazy"
title="Keyboard Tester"
></iframe>These references help contextualize formulas, standards, APIs and limitations used on this page. They do not replace professional validation when a result has legal, financial, medical or operational impact.
key follows the produced character, which changes with layout and modifiers; code follows the physical key position, which is always the same. That is why the same physical key can produce different letters on different layouts.
Keys are processed locally and not logged outside this tab.