Touchscreen Test

Paint the screen to find dead zones, count simultaneous touches with live coordinates, and check tracking by feel. Runs in your browser, nothing recorded.

🌐 Español

This tool helps you spot dead zones (areas of the screen that don't respond to touch) and ghost touches (touches that appear where you didn't press). Start the test, then drag your finger over every part of the screen to paint a coverage grid — anything you can't paint may be a dead zone.

No touchscreen detected (0 touch points). PointerEvents still fire for a mouse, but a real touchscreen test needs a touch device.
  • Paint-the-grid coverage — drag to fill the screen and watch the coverage percentage climb; dead zones stay blank.
  • Multi-touch counter — every active finger shows as a numbered dot with live coordinates, so you can count how many touches your screen registers at once.
  • Feel-the-lag check — watch whether each dot tracks your finger smoothly. (A browser can't measure true hardware touch latency, so this is a visual feel check, not a millisecond spec.)

Once started, drag anywhere to paint, tap Clear paint to start the coverage over, and Exit (or press Esc) when you're done. The test tries to go fullscreen for edge-to-edge coverage but still works if your browser can't.

🔒 Private by design: everything runs locally in your browser and never uploaded to any server.

Two faults, and neither is obvious until you look for it

Touchscreens fail in two characteristic ways, and both are frustrating precisely because they are intermittent enough to make you doubt yourself.

A dead zone is a region that stops registering contact. You notice it as a keyboard key that needs pressing twice, or a button in one corner that never seems to work, and it is easy to blame the app. Dragging a finger across the whole screen while watching which parts respond turns that suspicion into a picture.

A ghost touch is the opposite, a contact the screen reports that you did not make. It shows up as a cursor jumping, a menu opening on its own or typing appearing from nowhere. Seeing an extra dot on screen while your hands are still is a very different level of evidence from noticing odd behaviour.

Running the test

  1. Read the touch point figure at the top. It tells you what your hardware supports before you start.
  2. Press start. The page attempts to go fullscreen for edge to edge coverage.
  3. Drag a finger over every part of the screen and watch the coverage percentage climb.
  4. Look for patches that will not fill in. Those are the candidates.
  5. Put several fingers down at once and check the count against what you actually placed.
  6. Use clear paint to start the coverage over, and exit or press escape when you are done.

What the readout is telling you

Three things sit in the corner while the test runs.

The coverage percentage is the proportion of grid cells that have been touched. It will not reach a hundred without deliberate effort, so treat a stubborn gap rather than a number below a hundred as the signal.

The current touch count and the maximum seen this run are the multi-touch half. The maximum matters more than the current figure, because a ghost touch that appears for a fraction of a second is gone before you can look at it but is still recorded in the maximum.

The event to handler timing is shown when available and is explicitly labelled as browser processing time rather than hardware latency, for the reason set out below.

The latency claim other tools make, and why this one does not

Touch latency is the interval between your finger moving and the display updating. It includes the digitiser’s scan rate, the operating system’s input pipeline, the browser’s own scheduling, the compositor and the panel’s response time. A web page sits in the middle of that chain and can see almost none of it.

What a page can measure is the gap between the timestamp the browser put on the event and the moment its own handler ran. That is a real number and it is not the one people want, because it is typically well under a millisecond and reflects the browser being busy rather than the screen being slow.

Reporting it as touch latency would be a fabrication, so it is shown with its actual meaning attached and the real lag check is left as a visual one. Watching whether the dot keeps up with your finger tells you more about a laggy screen than a millisecond figure that measured the wrong thing.

The rest of the hardware checks

A screen fault is not always a touch fault. If the problem looks like a mark or a stuck colour rather than a lack of response, Dead Pixel Test fills the screen with flat colours to expose it.

For the input devices on a machine without a touchscreen, Keyboard Tester shows every keypress and Mouse Tester covers buttons, scrolling and movement. For a controller, Gamepad Tester reads every axis and button live. The rest are on the testers hub.

See it in action

Screenshot of the Touchscreen Test tool with a touchscreen diagnostic explaining what it looks for before it starts - dead zones, meaning areas of the screen that do not respond to touch, and ghost touches, meaning touches registered where nothing was pressed
Touchscreen Test mid-process: a touchscreen diagnostic explaining what it looks for before it starts - dead zones, meaning areas of the screen that do not respond to touch, and ghost touches, meaning touches registered where nothing was pressed.
Diagram: where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen
Where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen.

Frequently asked questions

How does painting the screen find a dead zone?

The screen is divided into a grid of small cells and each one fills in as a touch passes over it, with a running coverage percentage. A dead zone is an area you can drag across repeatedly without the cells changing, which is immediately visible as a blank patch in an otherwise filled screen. The tool shows you the symptom rather than diagnosing the cause, since a browser has no access to the digitiser itself.

What counts as a ghost touch here?

A dot appearing where you did not put a finger. Every active touch is drawn as a numbered dot with its live coordinates, and the readout shows how many are registered right now alongside the maximum seen during this run. A screen with a fault often registers a phantom contact that shows up as an extra dot, and the maximum count catches one that flickered in and out too quickly to see.

Can it tell me my screen's touch latency in milliseconds?

No, and any tool claiming to from inside a browser is measuring something else. True latency is the time from your finger moving to the pixels changing, which spans hardware the browser cannot see. What is shown is the gap between the browser stamping the event and the page's handler running, which is normally a fraction of a millisecond and says nothing about the hardware. It is labelled on screen as exactly that.

So how do I judge lag at all?

By feel, which is the honest method. Drag a finger in circles and watch how far behind the dot trails. A screen with real lag shows the dot lagging visibly on a fast movement and catching up when you stop. That is a qualitative judgement rather than a number, and it is the only judgement a web page can genuinely offer.

What does the touch point figure at the start mean?

It is the maximum number of simultaneous touches your hardware and operating system report supporting. Zero means no touchscreen was detected, which is what a desktop with only a mouse reports, and the test will still run with a single pointer but multi-touch cannot be exercised. One means a single touch screen where pinch gestures are impossible. Anything higher is the ceiling you can test against.

Does it go fullscreen?

It tries, because edge to edge coverage is exactly where dead zones tend to be and a browser toolbar sitting over the top of the screen hides the region you most want to test. If the browser refuses the fullscreen request the test still runs in the space available, it just cannot reach right to the physical edges.

Is anything about my touches recorded or uploaded?

No. The coverage grid and the touch positions exist only in the page's memory while the test is running, and clearing the paint or leaving the test discards them. Nothing is stored and nothing is transmitted, which also means there is no result to save or share, only what you observe while it runs.

Related tools