What is analog stick drift
Stick drift is the bane of every controller owner's life: your character creeps across the floor, your camera slowly pans to one side, or your aim reticle slides away even though your thumbs are off the sticks. The underlying cause is almost always mechanical wear inside the analog stick module, and understanding how it happens makes it easier to diagnose whether your controller is genuinely drifting or just suffering from a misconfigured deadzone.
The variability of symptoms is part of what makes drift so frustrating. The same underlying fault can feel barely noticeable in one game and unplayable in another, depending on how each title handles its deadzone. Knowing whether the hardware or the software is responsible is the first step toward deciding whether to clean, repair, or replace the controller.
How potentiometer wear causes drift
Stick drift is when a thumbstick reports a non-zero position while you are not touching it. In a game, that translates to your character walking, the camera drifting, or an aim reticle creeping in one direction on its own. Inside each stick, two small potentiometers translate physical position into a voltage the controller reads; a conductive wiper slides across a resistive contact pad every time the stick moves. That friction removes a tiny amount of material with each motion, so the resistance at the neutral position shifts over time and the controller reads a false reading as real input.1
How this tester exposes hidden drift
This tester reads raw axis values from the Gamepad API with five decimal
places, which gives enough resolution to catch drift that is invisible
in-game because the game's deadzone filters it out. The canvas shows the
stick's live position as a dot, with a trail of its recent path and a
dashed ring representing the deadzone threshold.2
TIP Leave the controller flat on a desk and keep your hands off the sticks for at least 10 seconds. Any dot movement outside the deadzone ring during that stillness is drift the game will register as input. If the dot wanders outside the ring without you touching the stick, that stick has measurable drift that could affect gameplay in titles with tight or custom deadzones.
Reading the deadzone ring
A game's deadzone is the radius around the stick's center that the engine treats as zero input, and every engine picks a slightly different default. The tester draws that radius as a dashed ring on each canvas so you can see at a glance whether your stick's resting position falls inside the filter or outside it, which is the difference between a controller that feels fine and one that creeps.
What the ring represents
The dashed circle on each canvas represents the deadzone threshold, which
is the radius within which a game ignores stick input. Game engines commonly
expose this threshold as a configurable deadzone range; Bevy, for example,
rounds axis values between deadzone_lowerbound and deadzone_upperbound to
zero. Use the slider below the left stick canvas to match the deadzone of
the specific game you are testing against.3
If your stick's resting dot stays comfortably inside the ring, the game filters it out and you will not experience drift. If the dot wanders outside the ring even briefly when untouched, that drift reaches the game as real input. The axis value readout below each canvas shows the exact floating-point value, which is useful when looking up or comparing a game's deadzone setting in its options menu.4
A worked example makes the ring easier to read. Say you set the slider to 0.08
and your left stick's resting dot shows an axis value of 0.03 while your
hands are off the controller: that reading sits inside the ring, so the game filters it
out completely and you feel no drift during play. If the same stick instead rests at 0.12, it falls outside that 0.08 deadzone, so the drift reaches the game as real
stick movement even though your thumb never touched it.
Testing buttons and triggers
Once you have checked the sticks, the next step is to work through every button and trigger in sequence. The tester lights up each control as it registers a press and shows the raw value the Gamepad API reports, so you can spot buttons that fail to register, triggers that do not return to zero, or inputs that flicker without a firm press.
Reading the button grid
The button grid below the stick canvases lights up each button as it is pressed. Bumpers (LB, RB) and face buttons toggle between lit and unlit. The analog triggers (LT, RT) display a vertical fill bar that tracks the physical depth of the press, which is useful for identifying triggers that do not return to zero or that have reduced travel range.4
Press each button firmly and release it several times. A button that does not light up at all is unresponsive at the OS/browser level, which almost always indicates a hardware fault such as a broken contact or a worn membrane. A trigger that never reaches its minimum after release may have spring damage or debris lodged in the mechanism, and a fill bar that jumps instead of sliding smoothly points to an internal wear issue.5
Work through every button and trigger slowly, watching both the lit state
and the numeric value the Gamepad API reports for each control. A button
that flickers without a full press, or a trigger that jumps between values
instead of ramping smoothly, often signals a worn contact or a failing
spring before a full failure sets in. If you notice those symptoms, capturing
a screenshot of the grid makes it easier to describe the fault when seeking
a repair or replacement.
Browser compatibility
The Gamepad API is widely supported, but the way controllers are exposed to web pages varies by browser and operating system. Chrome, Firefox, and Edge all implement the spec, yet each has its own permission model and device-detection quirks, which is why a controller that works perfectly in one browser may appear as "waiting" in another until you press a button.
Where the Gamepad API works
The Gamepad API is supported across modern browsers, though connected
gamepads are only exposed after you physically press a button. That
requirement is a deliberate browser security measure that prevents
websites from silently fingerprinting your hardware before you interact
with a page, which is why the tool shows a waiting state until the first
press registers.6
Controller support also depends on your OS and browser combination. Chrome lets websites connect to HID devices such as gamepads when you grant device access, and PlayStation says the DualSense supports USB Type-C and Bluetooth connections on Windows, macOS, Android, and iOS/iPadOS. If your controller is not detected, check that the operating system sees it first by opening Windows Game Controllers in Control Panel or a gamepad-testing app on Linux/macOS before suspecting a browser issue.78
Common approaches to fixing stick drift
Stick drift often responds to cleaning before replacement becomes necessary. Compressed air blown into the gap around the thumbstick dislodges dust and debris that shift the potentiometer's resting position. Contact cleaner sprayed into the mechanism while rotating the stick removes residue from the resistive track, and Nintendo recommends brushing away dirt or debris around stuck Joy-Con sticks before sending the controller in for service.9
When contamination is not the cause, worn potentiometers are the likely culprit. You can replace the potentiometers in DualShock 4, DualSense, and many other popular controllers with inexpensive parts from electronics suppliers. Hall-effect stick modules are marketed as robust, long-lasting upgrades for some controllers because they replace the resistive contact with a magnet and a sensor, which eliminates the friction wear that causes many drift cases. If drift only appears in games with small deadzones, use this tester to confirm whether your stick's resting position stays inside the deadzone ring your game applies, since drift that falls within the filter never reaches the game as real input.10
Gamepad & Joystick Drift Tester Checklist
- Deadzone slider set to 0.05–0.15 Most games apply a deadzone somewhere in this range near center — match the slider before judging drift.
- Resting dot stays inside the ring A dot that wanders outside the ring after 10 seconds untouched is drift the game will register as real input.
- Buttons and triggers register cleanly A button that never lights up, or a trigger that will not return to zero, points to a hardware fault rather than stick drift.
Leave your controller untouched above and run its readings against this checklist.
- 1.
iFixit, "Hall-Effect Joysticks: How do they work and how will they eliminate joystick drift?", ifixit.com, accessed June 2026. https://www.ifixit.com/Wiki/Hall-Effect_Joysticks
- 2.
World Wide Web Consortium, "Gamepad," W3C Working Draft, w3.org, July 2025. https://www.w3.org/TR/gamepad/
- 3.
Bevy Contributors, "AxisSettings," docs.rs, accessed June 2026. https://docs.rs/bevy/0.15.0/bevy/input/gamepad/struct.AxisSettings.html
- 4.
Mozilla Developer Network, "Gamepad - Web APIs," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/Gamepad
- 5.
iFixit, "Here’s Why PS5 Joysticks Drift (and Why They’ll Only Get Worse)," ifixit.com, accessed June 2026. https://www.ifixit.com/News/48944/heres-why-ps5-joysticks-drift-and-why-theyll-only-get-worse
- 6.
Mozilla Developer Network, "Gamepad API - Web APIs," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API
- 7.
Google Chrome Help, "Connect a Website to a USB, Serial, or HID Device," support.google.com, accessed June 2026. https://support.google.com/chrome/answer/12576972
- 8.
PlayStation, "How to use DualSense wireless controllers with PC, Mac and mobile devices," playstation.com, accessed June 2026. https://www.playstation.com/en-us/support/hardware/pair-dualsense-controller-bluetooth/
- 9.
Nintendo Support, "Joy-Con Control Sticks Are Stuck or Difficult to Move," nintendo.com, accessed June 2026. https://en-americas-support.nintendo.com/app/answers/detail/a_id/22641/
- 10.
8BitDo, "Ultimate 2.4G Controller," 8bitdo.com, accessed June 2026. https://www.8bitdo.com/ultimate-2.4g-wireless-controller/