The short version
- Rest offset is stick drift. A healthy stick reads essentially zero when you let go.
- Deadzone is how far you must push before anything registers. Big deadzones hide drift but cost you fine aim.
- Average circularity error is how far a full roll deviates from a true circle. Under 5% is excellent, 5–10% is normal, above ~18% is noticeably inconsistent.
- The result needs 3 full laps per stick — one lap always under-reads the maximum, which fakes a worse score.
- Everything here is measured after the driver — the same values a game receives.
On this page
How the test works
Three quick measurements, all from the same live stream of stick positions:
- Rest position. With both sticks released, the tool averages the reported position over a second. Anything meaningfully above zero is drift.
- Deadzone. As you push a stick slowly out from centre, the reading stays at exactly zero until the deadzone is cleared. The smallest non-zero deflection seen is the effective deadzone.
- Circularity. Rolling the stick around its rim, the tool records the maximum magnitude reached in each of 72 five-degree sectors. Comparing those maxima to a perfect circle of radius 1 gives the average and maximum error. The plot shades the area you have swept, from centre out to your furthest reach at each angle, so you can see at a glance which directions you have not covered yet.
The result stays locked until every one of the 72 sectors has been passed three times. That is deliberate: a maximum only settles if you revisit it, and a single lap always falls short somewhere, which shows up as error the controller does not really have. Roll slowly and firmly — the progress bar counts laps, not time.
Deadzone and stick drift, explained
An analog stick never returns to exactly the same spot. As the potentiometers or Hall sensors wear, the centre creeps. A deadzone is the software's answer: ignore everything inside a small radius so a slightly off-centre stick doesn't make your character walk on its own.
That fix has a cost. Every millimetre inside the deadzone is travel you can't use for slow, precise movement — the thing that matters most for tracking a target or lining up a shot. A pad with heavy wear and a large compensating deadzone feels simultaneously drifty and unresponsive.
This is why the two numbers belong together. A large deadzone with a clean rest position is a design choice. A large deadzone hiding a large rest offset is a controller on its way out.
Circularity and average error, explained
Push a stick fully right and it reports 100%. Push it fully up-right and — ideally — it still reports 100%, just split across both axes. Trace the whole rim and you should get a circle.
Real sticks don't. Two common shapes:
- Squared output. Both axes can hit full scale at once, so diagonals read up to about 141%. Games expecting a circular range read those diagonals as faster than intended.
- Clipped diagonals. The stick physically can't travel as far diagonally, so diagonals fall short — often 85–95%. Diagonal movement is quietly slower than cardinal movement.
The average circularity error collapses this into one figure: the mean distance between your traced shape and the ideal circle, as a percentage. It's the number worth comparing between two controllers, or between the same controller before and after a repair.
How to read your results
| Reading | Healthy | Worth attention |
|---|---|---|
| Rest offset | Under 2% | Above ~5% is real drift |
| Deadzone | 5–12% is typical | Above ~20% costs noticeable precision |
| Avg circularity error | Under 10% | Above ~18% is inconsistent |
| Max reach | ~100%, or ~141% on square-output pads | Below ~90% means lost travel |
What you can actually do about it
- Recalibrate first. DualSense and many PC pads expose a calibration routine (through the console settings, Steam's controller settings, or vendor software). It costs nothing and often clears a small rest offset.
- Clean around the stick base. Dust and skin oil under the gate cause both sticky travel and clipped diagonals. Compressed air and isopropyl alcohol, sparingly.
- Lower the in-game deadzone only once the rest offset is genuinely near zero — otherwise you're trading responsiveness for drift.
- Replace the module if the rest offset stays high after calibration. Drift is mechanical wear; software can mask it but not undo it. Hall-effect replacement sticks don't wear the same way.
- If your overlay looks wrong rather than the stick feeling wrong, that's a different problem — see fixing controller overlay lag.
What this test can't tell you
The browser reads your stick after the operating system and driver have processed it, through the same Gamepad API a web game would use. That's genuinely useful — it's what software actually receives — but it has limits worth stating plainly:
- A deadzone applied by the driver or vendor software is indistinguishable here from one baked into the controller.
- Values are typically quantised to 8 bits per axis, so very small differences aren't resolvable.
- It measures the stick's reported geometry, not the mechanism. It can tell you a stick is inconsistent; it can't tell you which component is worn.
- Reaching a true rim position at every angle is down to your hand. Low coverage means a less trustworthy average — the tool shows coverage for exactly that reason.
Turn your controller into a live, transparent input overlay for OBS or Streamlabs in a couple of minutes.
Build my overlay →