How to use this test
- Connect the controller, start reading and press a controller button to make it visible.
- Move each stick once, release it naturally and put the controller on a stable surface.
- Take a five-second resting sample without touching either stick.
- Download the observations. Repeat under the same conditions, then compare with the in-game behavior and the manufacturer’s calibration procedure.
Read the observations
For each sampled frame, radial offset is sqrt(x² + y²), with the axis centre at (0, 0). The displayed maximum is the largest radial offset observed during the sample, expressed as a percentage of one normalized axis unit. The JSON also includes the mean. A diagonal corner can exceed 100% under this definition; that does not by itself indicate damage. Samples are animation-frame observations, not independent USB packets or a polling-rate measurement.
What this test cannot tell you
There is no universal browser offset that determines whether every controller needs repair. Driver deadzones and calibration may hide or alter the raw sensor signal. The display assumes axes 0/1 and 2/3. A resting offset can explain movement in a game only in the context of that game’s settings. This page does not repair drift or change device calibration.
Need a closer comparison? Stick drift and deadzones: interpret the same reading.
Questions about the test
What is a good drift percentage?
Use the manufacturer’s guidance and the game’s deadzone behavior. This tool deliberately avoids a universal pass/fail percentage.
Can a zero reading rule out drift?
No. Calibration or a driver deadzone may already have removed movement before the browser receives it.
Technical references
Method version 2.0 · Page updated 2026-10-20