How to use: Controller Check
Connect the controller and press any button so the browser exposes it.
Start the check and keep your hands off both sticks for five seconds.
Roll both sticks around the full edge, twice, for ten seconds.
Press every button and pull both triggers fully, then read the verdict and the suggested deadzone.
Quick answers before you test
What is a good rest drift?
Under 3% is centred. 3–8% needs a deadzone at or above the suggested value. Above 8% the stick is worn; a deadzone hides it but shrinks your aim range.
What does the circle test show?
Whether the stick reaches the edge in every direction. Below 75% coverage or an edge under 85% means slow turns in one direction that no deadzone can fix.
Why does it say "at least" for the update rate?
Because a browser hands gamepad state to a page once per displayed frame. The count can never exceed your refresh rate, so at the ceiling the honest answer is a floor. A number below your refresh rate is real: there the pad is the slower of the two.
Which deadzone should I set?
The suggested value is the smallest deadzone that hides the measured rest position with a 1% margin. Enter it as the minimum deadzone in games that offer one.
What the result actually measures
Four timed steps read through the Gamepad API: five seconds of both sticks at rest for drift and jitter, ten seconds of full-circle rotation for coverage, edge radius and circularity error, and a button sweep that records every button and the full travel of both triggers. The update rate is the number of distinct controller reports the browser saw per second, reported beside the display refresh rate that bounds it.
Measurement boundary: The browser sees the axes after the operating system and any driver deadzone. A game may apply its own deadzone on top. The update rate has a hard ceiling at your display refresh rate: the page reads the pad once per frame, so a 1000 Hz wired pad and a 200 Hz one both read as your refresh rate and the tool says "at least" rather than naming a figure. Only a reading below that ceiling is the pad’s own limit. The check cannot tell a worn stick module from a dirty one; it only measures what the pad reports.
How to interpret the output
Rest drift
Average and maximum distance from centre with no input. The suggested deadzone is built from the maximum.
Circle coverage
Share of 24 directions where the stick reached at least 75% of full travel, plus the 95th-percentile edge radius. Low coverage on one side is a physical range problem.
Buttons and triggers
Every button that registered, the ones that did not, and the highest trigger value seen. Under 95% trigger travel means the trigger never reaches full pull.
Troubleshooting unexpected results
The pad is not detected
Press a button first; browsers hide a controller until it is used. Close games or tools that hold the pad, and try a cable if Bluetooth stays silent.
The circle result is low but the stick feels fine
Roll slowly and keep the stick pressed against the edge. A fast spin skips directions; the test needs at least two full laps.
Drift changes between runs
Temperature and how the pad rests on the desk matter. Run it twice; use the higher maximum for the deadzone.
Frequently asked questions
Does it work with a DualSense or a Switch Pro controller?
Yes. Any pad the browser exposes works; the button count and mapping follow what the browser reports.
Is anything uploaded?
No. The samples stay in the tab. Saving to the Device Passport keeps the summary in this browser; the result card is generated locally.
Why does the page mention a game?
Opening the check from a launch hub or controls page adds that game to the verdict with where to enter the deadzone; the test itself is the same for every game.