Touch Screen Test
This mobile touch screen test shows the contacts your browser receives and works as a multi touch test on supported devices. The touch screen test online also estimates the wait to a requestAnimationFrame callback, not physical display latency.
Live touch points
Place multiple fingers on the touch target area below to test multitouch support live. This reads Pointer Events / Touch Events; it cannot detect touch points your OS or browser filters out before they reach the page.
Gamer Aim Trainer
Hit the small target as soon as it appears. The test records reaction time,
misses and the estimated delay from handling your pointerdown event to the next requestAnimationFrame callback.
Press "Start test" to place the first target.
Note: this is not a physical touchscreen or display latency measurement. The value labeled Paint delay estimates the wait from the input handler to a requestAnimationFrame callback, which runs before a repaint. It does not establish when pixels change or light reaches your eyes. Browser scheduling, OS activity and page workload affect this software-side estimate.
Results
No taps recorded yet.
Separate touch contacts, reaction time and browser delay
The touch response tool has two jobs: show contacts delivered to the page and run a timed aim round. It displays live touch points, the largest simultaneous count observed and the browser’s reported maximum. The aim trainer records hits, misses, reaction times, accuracy, hits per second and a browser callback delay. These observations can reveal a repeatable interaction problem, but they do not isolate the touchscreen sensor’s sampling rate or physical end-to-end latency.
How to use the tool
- Place several fingers within the target area and watch Active touch points now. Add contacts gradually, then release them and check that the active count returns to zero.
- Compare Max simultaneous seen with Browser-reported max. Keep these values separate: one is observed contact delivery during the session, while the other is a capability reported by the browser.
- Choose a round time of 30 seconds, one minute, two minutes or five minutes. Press Start test and hit the small target as soon as it appears; misses are taps inside the zone away from the current target.
- At the end, compare reaction statistics, accuracy and hits per second together. Restart for another run with the same duration, input method and viewing position.
Understand the aim results
Reaction time starts when the page inserts a new target and ends when its input handler receives your hit. It therefore includes noticing the target, choosing a movement and delivering the input to the page. Because insertion is timed in JavaScript, it is not an instrumented measurement of when light physically appeared on the screen.
Fastest, average and slowest reaction describe that round’s target hits. A very fast isolated hit can come from anticipation; a slow hit can reflect distraction or a difficult target location. Accuracy is hits divided by hits plus recorded misses. Hits per second divides the hit count by the selected round duration, including the short gaps before new targets.
For example, improving from 80% accuracy to 95% while keeping a similar average reaction time suggests more controlled aiming in that session. It does not prove that the touchscreen hardware became faster. Compare several short rounds if you want a personal baseline, while recognizing the effect of practice and fatigue.
What the paint-delay estimate actually samples
After receiving a target hit, the code schedules requestAnimationFrame and measures the delay until that callback runs. The interface calls this Paint delay, but the callback is a browser scheduling point before rendering, rather than a sensor observing the physical panel. It cannot tell exactly when the changed pixel reaches your eyes.
The number can vary with where the tap lands within the browser’s animation cycle, system workload and background activity. A shorter average can indicate a difference in scheduling under the tested conditions. It is not glass-to-photon latency, hardware input lag or a laboratory measurement of touch response.
The aim task also works with a mouse or pen. That makes it useful as an interaction exercise on devices without touch, but results from different input methods should be labeled and compared separately.
Troubleshoot missing contacts or delayed interaction
If contact count stops increasing, spread fingers slightly, keep them inside the intended area and avoid system gesture regions. The OS or browser can filter or cancel touches before the page sees them. A reported maximum larger than your observed count does not guarantee every gesture will reach this page.
For uneven interaction, keep the tab visible, close demanding work and compare another browser. If you change refresh mode, Windows provides it under Settings → System → Display → Advanced display; supported Macs provide Refresh Rate under System Settings → Displays. Repeat the same round afterward. A faster browser cadence can affect callback delay without proving a lower physical sensor latency.
Frequently asked questions
Does this measure touchscreen hardware latency?
No. Reaction time includes the user’s response, and the delay estimate samples browser callback scheduling. Physical end-to-end latency needs a separate instrumented method.
Why does reported maximum differ from observed touch points?
The reported capability and actual events are different. Finger placement, gestures, browser behavior and OS filtering can limit the contacts delivered during your test.
Can I use a mouse?
Yes. The aim trainer handles pointer input, including mouse and pen. The simultaneous touch counter is specifically for contacts reported as touch.
What counts as a miss?
A pointer press inside the aim zone away from the current target while a round is running increments misses. Accuracy combines those misses with recorded hits.
Why are reaction times much longer than paint delay?
Reaction includes noticing and reaching the target before the input event. The callback-delay estimate begins only after the browser receives that hit, so it samples a much smaller part of the interaction.
References: MDN: maxTouchPoints · Windows refresh settings · Mac refresh settings.
Last updated: