Utilities

Keyboard tester

An on-screen keyboard that lights up what your browser actually receives, with a count of keys held at once.

Press keys

Tester

Click this page, then press keys on your keyboard. The drawing lights up the key the browser reports. It cannot detect a key your keyboard never sends.

Press any key. key, code, and keyCode show up here.

Held now: 0 · Most at once this visit: 0

    A keyboard tester answers a narrower question than "is my keyboard broken?". It answers "which keys reached this browser, and how many can be down at the same time before one of them disappears?". The drawing is a full-size layout, a tenkeyless layout without the number pad, or a 60 percent layout without the function row, the navigation cluster, and the arrows. Press a physical key and the matching button turns orange. The line under the drawing shows three names for that event: key (what the key produced, such as a or A), code (where it sits, such as KeyA or ShiftLeft), and keyCode, the older number some troubleshooting guides still quote.

    Start with one key at a time if you are hunting a dead switch. A key that does nothing here, and nothing in a text editor, is not being reported. A key that works in a text editor but not here usually means this page was not focused, or a browser extension swallowed the shortcut. Click the page background and try again. Space and the arrow keys are prevented from scrolling so you can see them light up. Tab is prevented from moving focus for the same reason while you are on this page.

    The rollover check is the list of keys the browser still considers held. Press and hold several keys. The count should match your fingers. Many cheaper boards, and some USB modes, stop reporting after six simultaneous keys besides modifiers. That limit is called 6-key rollover. If a seventh key stays dark, or a key you are still holding vanishes from the list, you have found the limit or a ghost. Ghosting is the related failure where the controller invents a key you did not press, or drops one corner of a rectangle of keys, because the wiring cannot tell those combinations apart. This page will not invent a key. It only shows the events it got. A key that appears in the list without your finger on it is a stuck switch or an event the hardware sent.

    The "most at once" number is the largest set seen since you opened the page. It resets when you reload, and the held list clears if the window loses focus, because browsers often skip the key-up when you alt-tab away. If a key stays lit after you released it, click back into the page and tap the key once. A missed key-up is a focus problem more often than a stuck switch. If it stays lit in a second browser too, the switch is the suspect.

    Layout names are about the drawing, not about remapping your operating system. Full shows function keys, the main block, the navigation cluster, the arrows, and the number pad. TKL drops only the number pad, which is the usual tenkeyless shape. The 60 percent drawing puts Escape on the number row and leaves out F1 to F12, Insert through Page Down, and the arrows. Plenty of 60 percent boards hide arrows on a function layer. Those layer keys still report as arrows if the board sends arrow codes, and they will light the arrow buttons only when you switch the drawing back to TKL or full, because the 60 percent drawing does not contain them. The event line still shows ArrowLeft even when the drawing has no arrow to paint.

    Open the drawing that matches the board. The 60 percent tester starts with Escape on the number row and no arrows. The laptop tester keeps the function row and a separate arrow cluster, and it leaves out the number pad. The Mac tester uses that laptop drawing with Command and Option on the keycaps, and it lists the keys macOS often consumes before the browser sees them.

    What the test cannot see: keys that never leave the keyboard, such as a function lock that only toggles a light on the board; keys your OS grabs before the browser, such as a brightness key or a screenshot key; and the difference between a switch that chatters twice and a switch that is merely repeating. Holding a key will set the browser's repeat, and those repeats are ignored for the held-count so one finger is not counted as twenty. A double letter when you meant one tap is chatter, and you will see two separate down-up pairs if you watch the readout, not a special chatter alarm.

    Use the tester before you return a board and after you change a cable, a port, or a wireless dongle. If the failure follows the keyboard across two computers, quote the code that never arrives. If the failure stays on one USB port, the keyboard may be fine. The page stores nothing. There is no account and no upload of the keys you pressed.

    Questions people actually ask

    What is the difference between key and code?

    key is the character or name produced, so Shift changes a to A. code is the physical position, KeyA, which stays KeyA on a Dvorak layout even when the character is different. keyCode is the legacy number.

    Why did Space not light up?

    The page has to be focused. Click beside the buttons, then press Space. The page blocks Space from scrolling so the key can be seen.

    What does six keys at once mean?

    A lot of keyboards only report six simultaneous non-modifier keys. The list shows how many this browser is still receiving. A dark key while your finger is down is that limit, or ghosting, or a dead switch.

    The 60 percent drawing has no arrow keys.

    That layout omits them on purpose. If your 60 percent board sends arrows from a layer, switch the drawing to TKL to see those buttons, or read the code in the readout.

    Can this test NKRO or a keyboard's firmware?

    It can only test what arrives in the browser. A board can be NKRO in its own software and still be limited by the USB mode or the browser. The held list is the arrival list.

    A key stuck on after I released it.

    The browser sometimes misses key-up when focus changes. Click the page and tap the key. If it sticks in a second browser, the switch is likely closed.

    More free tools

    Games

    Bingo Card Generator

    Print US 1–75 bingo cards, UK 1–90 tickets, word cards, and picture cards that stay on your device.

    /bingo-card-generator

    Study

    CGPA Calculator

    GPA and CGPA for UM, UKM, UPM, UTM, USM, UiTM, UTHM by mark, UUM, UMT, polytechnic, matriculation, and STPM, plus an SPM grade count.

    /cgpa-calculator

    Money

    Net Salary Calculator

    Malaysian take-home pay for 2026, after tax, civil service, overtime, and a daily or hourly rate, using EPF, SOCSO, EIS, and PCB.

    /salary-calculator

    Games

    Minecraft Circle Generator

    Block circles, including stairs and slabs, numbered outlines, and thick walls, plus ellipses, spheres, and domes, with a PNG export.

    /minecraft-circle-generator

    Language

    Jawi Text Generator

    Preview Jawi in freely licensed Arabic fonts, copy it, or download a PNG.

    /jawi-converter

    Health

    BMI Calculator

    Adult BMI with the WHO chart and the lower Asian / Malaysian screening cut-offs, in the browser.

    /bmi-calculator

    Music

    Metronome

    Online metronome with lookahead scheduling, accented beats, and tap tempo. Sound stays in the tab.

    /metronome

    PDF

    Merge PDF

    Merge PDF files in order, in the browser. No upload, and passworded files are not unlocked.

    /merge-pdf

    PDF

    JPG to PDF

    Turn JPG and PNG images into a PDF, one picture per page, without uploading them.

    /jpg-to-pdf

    Converters

    Unit Converter

    Convert length, mass, and temperature, including centimetres to inches and kilograms to pounds.

    /unit-converter

    Games

    Spin the Wheel

    Spin a wheel of names, pick a random name, or flip a yes or no wheel. The list stays in the tab.

    /spin-the-wheel

    Utilities

    QR Code Generator

    Make a QR code from text or a link and download PNG or SVG. No signup, no expiry, no redirect.

    /qr-code-generator

    Utilities

    Fancy Text Generator

    Copy Unicode styles for a caption or bio. These are characters, not a font you install.

    /fancy-text-generator

    PDF

    Compress PDF

    Reduce PDF size in the browser by redrawing pages as JPEGs. A size target is a best effort, and text stops being selectable.

    /compress-pdf

    Money

    Loan Calculator

    Monthly-rest loan payment and an amortization table. A Malaysian home-loan page explains how this differs from daily rest and from the flat-rate car loan.

    /loan-calculator

    Converters

    File Converter

    Convert a file in the browser: images, PDF pages, spreadsheets, and plain documents. Audio and video are not converted.

    /file-converter

    Image

    Image Compressor

    Compress a JPG, PNG, or WEBP in the browser, with a quality slider or a kilobyte target, a before-and-after preview, and optional EXIF removal.

    /compress-image