Device Tests

Twenty-seven tools for checking that your hardware does what it should. Press a key, speak into a mic, look at a full-screen colour field, and see the result at once. Nothing is uploaded.

Keyboard Tester

Check every key on your keyboard is working, including modifiers.

Microphone Test

See and hear whether your microphone is picking you up.

Webcam Test

Check your camera works, and see its resolution and frame rate.

Dead Pixel Test

Full-screen colours to find dead or stuck pixels on a monitor.

Screen & Display Info

Your screen resolution, pixel ratio, colour depth and refresh rate.

Browser & System Info

What browser you are running, and what it supports.

Typing Speed Test

Measure your words per minute and accuracy.

Touchscreen Test

Check every part of a touchscreen responds, including multi-touch.

Mouse Test

Test mouse buttons, double clicks, scrolling and polling rate.

Controller Test

Test a gamepad: buttons, sticks, triggers and vibration.

Refresh Rate Test

Measure your real refresh rate and spot dropped frames.

Hearing Range Test

Find the highest frequency you can hear.

Speaker Test

Test speaker channels, balance and frequency response.

Colour Vision Test

Check colour vision and simulate colour blindness.

Battery Status

Charge level, charging state and measured drain rate.

Sensor Test

Test a phone accelerometer, gyroscope and compass.

Device Benchmark

Measure processor, memory and graphics performance.

Screen Ruler

A calibrated on-screen ruler in cm and inches.

Spirit Level

Bubble level, inclinometer and compass.

Calibration Patterns

Test patterns for checking a display.

Colour Light Screen

A full screen of any colour.

Noise Level Meter

Live decibel readings from the microphone.

Input Lag Test

Time from click or keypress to the painted frame.

Printer Test Page

A diagnostic page for checking alignment, colour, banding and scale.

MIDI Controller Tester

See every message from a MIDI keyboard or controller, live.

Screen-Calibrated Eye Chart

A vision self-check scaled to your real screen and distance.

Audio Latency Test

Measure the real round-trip audio delay through your speakers and mic.

What these tools are for

Most people arrive here with a suspicion. A key seems to be sticking, so they open the Keyboard Tester and watch which keys register. A call went badly, so they run the Microphone Test to see whether the level meter moves at all, then the Webcam Test to check the right camera is selected. A second-hand monitor arrives and the Dead Pixel Test fills the screen with flat colour so a stuck pixel has nowhere to hide.

The rest of the set covers the same ground for other hardware. The Mouse Test shows which buttons report a click and whether one of them is double-firing. The Scroll Test tracks wheel movement. The Gamepad Tester maps sticks and buttons so you can see drift or a dead trigger. The Speaker Test, Screen Test, Colour Accuracy Test and Refresh Rate Test round out the display and audio checks. Each one answers a narrow question quickly.

Why a browser is a good place to do this

A browser already speaks to most of this hardware. Key presses, pointer events, the Gamepad API, getUserMedia for cameras and microphones, and full-screen mode are all standard. That makes a test page a genuinely useful diagnostic layer rather than a poor imitation of a desktop utility, and there is nothing to install before you can look.

The honest limitation is that you are testing the browser's view of the device, not the device itself. If a key never reaches the page, the fault could be the switch, the cable, the driver, a remapping utility, or the operating system intercepting it first. The browser cannot tell those apart. Camera and microphone tests also need you to grant permission, and a device that is being held by another application may not appear. A clean result here means the whole chain works; a bad result narrows the search without naming the culprit.

Getting a result you can trust

Start with the tool that matches the smallest question. If a specific key is suspect, the Keyboard Tester is enough; there is no need to run a display test as well. Work outwards only if the first result surprises you. And test the same device in a second place when you can, because a fault that appears in the browser and nowhere else usually points at software sitting between the two.

The common mistake is testing under the wrong conditions. Screen and pixel tests need a dark room, a clean panel and full-screen mode, since a smudge reads exactly like a dead pixel. Microphone tests are worth repeating once with headphones on, so the speakers are not feeding the mic. Refresh rate readings can be capped by the browser or by power-saving settings on a laptop, so check that the machine is plugged in before you conclude the monitor is at fault.

Where a real millimetre comes from

A browser does not know how big its own pixels are. CSS fixes the pixel at 96 to the inch by definition. Real panels run from about 90 per inch to well over 500. So a ruler drawn at the CSS figure is wrong on almost every screen. Three tools here need true size, and two of them solve it the same way. You hold a bank card flat against the glass and drag a slider until the outline on screen matches the card in your hand. ISO/IEC 7810 ID-1 sets every credit and debit card at 85.60 by 53.98 mm, the world over. It is the one ruler nearly everyone already carries.

The Screen Ruler and the Screen-Calibrated Eye Chart save that result under the same key, so calibrating either one calibrates both. Anything outside 30 to 900 pixels per inch is treated as a slip and refused. Until you do it, the ruler labels itself as not calibrated rather than show a tidy wrong number. The eye chart is where the work pays off. A letter on a proper chart covers five minutes of arc at the distance its line is named for. The height on screen is twice the distance times the tangent of 2.5 arcminutes. At six metres the 6/6 letter comes out at 8.73 mm, the same figure printed on real Snellen charts. The letter shapes are the one compromise. A true Sloan face is on nobody's machine, so the letters are drawn in the system sans and scaled by the measured cap height of that font. The height is right even where the shapes are not. The tumbling E and the Landolt C are drawn as geometry, so they are exact.

Paper needs no card. The Printer Test Page is an SVG whose units are millimetres, on a sheet declared in millimetres, printed through a page rule with no margin of its own. A hundred millimetres on the page is a hundred on the paper, as long as you leave the print box at 100 per cent. There is a block marked exactly 100 by 50 mm so you can check it with the ruler you just calibrated. Point sizes use the printer's definition of 72 to the inch, so the 6 pt sample line is 2.117 mm tall. The printed ruler runs off the edge of the sheet on purpose. Every printer has a border it cannot reach, and the only way to find yours is to print across it and see where the ink stops.

What a lag figure here leaves out

No browser will tell a page the refresh rate of your monitor. It has to be counted. Screen & Display Info counts animation frames; the Input Lag Test counts sixty of its own before it starts, because half a frame is a floor nobody beats. It then times the gap between an input and the frame that carried the response. It uses the event's own timestamp, which the browser sets when the input arrived rather than when the handler ran, so a busy machine turns up in the number instead of hiding behind it. Two nested animation frames are needed at the far end, because the first callback still runs before the frame is painted. Samples at or below zero, or above a second, are thrown away. Those mean the two timestamps came from different clocks.

The result is a median, with the 95th percentile, the best and the worst beside it, and it asks for five clicks before it shows a usable figure. One sample is noise. A click can land just after a screen refresh and come back near zero, or just before one and come back a whole frame late. Where the frame interval is known, the median is printed in frames as well. What no web page can see is the rest of the chain: the trip from the mouse switch to the USB packet, the compositing the system does after the browser hands the frame over, and the panel's own response. Those are often larger than the number on screen. A monitor's “1 ms” is grey-to-grey pixel response, and it sits at the far end of that queue.

The Refresh Rate Test asks a different question from the info page. Not the rate, but the spacing. It counts a frame as dropped when it takes more than one and a half times the median, and it calls a run smooth only when the variation is under 15 per cent of the median and fewer than two frames in a hundred were late. The Audio Latency Test measures a loop rather than a frame. A click is scheduled on the audio clock, and an audio worklet watches the microphone for it, tying the arrival to a single sample instead of to whenever a callback happened to run. Browsers with no worklet fall back to a script processor, which can only resolve one block, and the page says which of the two it used. The air counts too. Sound travels 343 metres a second, so a speaker a metre from the mic adds about 2.9 ms. Type in the distance and it comes off the total.

Three microphone switches decide what you measure

A browser hands a page a cleaned-up microphone unless it is asked not to. The three switches are echo cancellation, noise suppression and automatic gain, and each one ruins a different measurement. Echo cancellation strips out the very sound the Audio Latency Test is listening for. Noise suppression eats short clicks. Automatic gain wanders, so a quiet room ends up reading much like a loud one. Both the latency test and the Noise Level Meter ask for all three to be off. Asking is not the same as getting, so the latency test reads the track settings back afterwards and prints STILL ON against any switch the browser kept, rather than hand you a number built on top of it.

The Microphone Test does the opposite. It leaves the processing on, behind one checkbox that turns all three off together. That is the right way round there, because what you usually want to know is what the far end of a call hears. Switch it off when you are judging the microphone itself. Either way, record a few seconds and play it back. A level meter that twitches proves only that a signal exists. It tells you nothing about whether you sound like a tin can.

There is a hard ceiling over all of this. Nothing tells a browser how sensitive your microphone is, and the system may be moving the gain without saying so. So the Noise Level Meter takes the level in dBFS and slides it onto a decibel scale with an offset you set by hand, from 60 to 120, starting at 90. Compare two rooms in one sitting on one device and the gap between them is real. The absolute number is not, and the page says so rather than dress it up. It is no stand-in for a calibrated meter, and it must not be used for a workplace noise assessment.