Tool
Stick drift test
Let go of both sticks, press Record, and this page tells you how far each one rests from the center, as a number. A healthy stick reads close to 0. The circle test then shows whether each stick still reaches its full edge all the way around.
Run the two tests
- Connect the controller and press any button on it, so the browser shows it to this page.
- Put the controller down, or hold it without touching the sticks, and press Record 5 seconds at rest.
- Read the card under each stick: the verdict, the average and the largest distance from center, and the deadzone that would hide it.
- Press Start the circle test and roll each stick slowly around its edge, two full turns.
- Press Finish the circle test and compare the blue outline with the white circle.
Read the rest test
The numbers are distances from the center on a scale where 1 is full tilt. The verdict comes from the largest one:
- Centered. Under 0.03. The stick rests where it should.
- Slight offset. From 0.03 to 0.08. Most deadzones cover it without anyone noticing.
- Noticeable drift. From 0.08 to 0.15. A camera or a pointer creeps unless the deadzone is raised.
- Strong drift. Over 0.15. The deadzone needed to hide it starts to cost real stick travel.
These bands are my rule of thumb, not a standard. What matters is whether the largest number is smaller than the deadzone of whatever reads the stick.
Read the circle test
Average error is how far the edge the stick reached sits from a perfect circle, as a share of full tilt. Some controllers report past 1 on the diagonals, which raises the number with nothing wrong. What to look for is a dent: a direction where the blue outline falls short of the white circle. There the stick no longer reaches full tilt, and an outer deadzone set just inside the dent restores it.
Hide the drift you found
Where the deadzone goes depends on who reads the stick. Climb this ladder, smallest step first:
- Set it in the game. A game with its own controller support has a deadzone setting, or Steam Input has one for it.
- Set it in the mapper. For anything InputConfig drives on a Mac, the pointer, scrolling or keys, the inner deadzone is on the stick row. Stick drift on a Mac walks through each case.
- See what the number does. The deadzone test shows the inner and outer deadzone and the curve on a live stick.
A deadzone hides drift. It does not repair the stick, so run this test again in a month and compare.
If the controller does not show up
Climb this ladder, smallest step first:
- Press a button. A browser hides every controller from a page until a button is pressed while that page is in front.
- Click the page, then press again. The tab has to be the active one when you press.
- Reconnect it. Unplug the cable and plug it back in, or turn the controller off and on so it pairs again.
- Check that the computer sees it. On a Mac, a connected PlayStation, Xbox or Switch controller is listed in System Settings under Game Controllers. If it is missing there, the fix is pairing: controller connected but not working on a Mac has every step.
- Try a second browser. Browsers read controllers in different ways, so one that is missing in one browser can show up in another.
What this test can miss
The page samples the sticks once per screen frame, about 60 times a second on most screens, for five seconds. A stick that drifts only now and then can pass, so run it twice, and once more after rolling the sticks around. If both sticks read exactly 0.000 at rest, something between the controller and the page is probably applying a deadzone of its own, and small drift is hidden before this page can see it. That is caution, not something I measured in every browser.
It works. Now give it a job
A tester tells you the controller is fine. On a Mac, InputConfig is the app I make for the next step: it turns the buttons and sticks you just tested into keys, the mouse pointer, clicks and scrolling, in any app or game. It is free, and its Live Visualizer draws the same live picture inside the app, with the touchpad and motion sensors a browser does not pass to a page. Test it here, then put it to work there.
Questions
How do I test a controller for stick drift?
Let go of both sticks and record them at rest. A healthy stick reads close to 0. A drifting one rests away from the center or wanders, and this page shows how far as a number.
How much stick drift is normal?
By my rule of thumb, a largest value under 0.03 is a stick resting where it should, and anything over 0.08 shows in a game with a small deadzone. No standard defines the line.
Can stick drift be fixed without opening the controller?
It can be hidden. A deadzone a little larger than the drift makes the game or app ignore it. That does not repair the stick, so the number can keep growing.
What is circularity error?
It is how far the edge a stick reaches sits from a perfect circle. It matters less than it sounds. Look for a direction where the stick falls short of full tilt.
Related
Free. macOS 14 or later. No account, nothing leaves your Mac. Open source on GitHub.