Device checks / Controllers
Controller Stick Drift Test: Five-Second Idle Offset and Dead Zones
Record raw stick offset for five seconds and compare maximum and mean drift with example radial dead zones on any controller.
Controller Stick Drift Test: Five-Second Idle Offset and Dead Zones: Stick drift is a reported movement when a stick is untouched. It can move a camera, cursor or character even though the controller looks centred. This test records the raw horizontal and vertical readings for five seconds and calculates their radial distance from zero. The maximum reports the largest offset seen; the mean reports the typical radial offset across samples. Opposite movements do not cancel each other out. The display dead zone changes only the plot, so increasing it does not erase the recorded drift. Example comparisons at five, ten and fifteen per cent help you relate the reading to game settings; they are not manufacturer tolerances or a warranty decision. A browser reads at its own frame rate and can miss short events. Release the sticks on a stable surface, keep the tab visible and compare repeated recordings. Movement during recording is counted, so hold still. Check USB and Bluetooth separately if available. A change between hosts can reveal a driver or connection issue rather than physical wear. Runs 100% locally in your browser with zero server file uploads.
- Category
- Everyday tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
Measure unwanted stick movement with any connected controller. This page starts with the idle test: record for five seconds without touching the sticks, compare maximum and mean offset, then try another controller, connection or dead-zone setting to narrow down the cause.
Five-second drift test
Place the controller on a level surface, release both sticks, and keep this tab visible for five seconds. Move each stick in a circle and release it before repeating the test. The test records raw idle offset, regardless of the display dead zone.
Maximum and mean are the length of the x/y offset vector as a percentage of a unit stick radius. Diagonal readings can exceed 100%. The 5%, 10% and 15% comparisons are examples, not manufacturer pass/fail limits. Browser sampling is not a hardware calibration.
Extra buttons after index 16 vary by browser. Touchpad click, mute, Share and Capture labels are suggestions for those slots; confirm each by pressing it. A missing slot means it is not exposed, rather than a failed button.
Vibration is not exposed here. Support depends on browser, connection and controller. Impulse-trigger rumble is available only when trigger-rumble is listed by the browser.
Standard mapping: index to model button
| Index | Button name |
|---|---|
| 0 | A |
| 1 | B |
| 2 | X |
| 3 | Y |
| 4 | LB |
| 5 | RB |
| 6 | LT |
| 7 | RT |
| 8 | View |
| 9 | Menu |
| 10 | Left stick click |
| 11 | Right stick click |
| 12 | D-pad up |
| 13 | D-pad down |
| 14 | D-pad left |
| 15 | D-pad right |
| 16 | Xbox |
| 17 | Share · browser-dependent extra |
Test log
Latest 80 button transitions. Analogue levels remain visible on the live buttons and trigger bars.
- Press and release a controller button to begin the log.
Connect your controller
Connect using the appropriate controller pairing method, then press a button in this tab. Use the detected-model suggestion for the matching layout and pairing instructions. A USB data cable offers a useful comparison where supported. On Windows, open Settings, Bluetooth & devices and add a Bluetooth device. On macOS, open System Settings, Bluetooth and connect the listed controller. On Android, use Settings, Connected devices or Bluetooth and pair a new device. On iPhone, use Settings, Bluetooth and select the controller if the phone supports it. USB on phones requires a compatible data adapter and operating-system support. After connecting, open this tab and press a controller button. If it remains absent, try a data cable, another browser or a supported host; OS pairing alone does not guarantee web access.
Official controller support (https://www.playstation.com/en-us/support/hardware/pair-dualsense-controller-bluetooth/) describes pairing. Follow the vendor instructions for your hardware.
Official pairing instructions for other models are available from Xbox (https://support.xbox.com/en-US/help/hardware-network/controller/connect-xbox-wireless-controller-to-pc) and Nintendo (https://en-americas-support.nintendo.com/app/answers/detail/a_id/23476/~/how-to-pair-the-nintendo-switch-pro-controller). Choose the matching model tester for its full setup details.
Browser input and vibration
The W3C Gamepad specification (https://www.w3.org/TR/gamepad/) defines standard button positions and axis readings. MDN (https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API) explains activation and browser access. Open the page in a secure context and press a button after it loads. Desktop Chrome, Edge, Firefox and Safari can expose gamepads, but device mapping, phone support and haptics differ. Test availability on this host instead of assuming console features carry over.
MDN vibration documentation (https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator) describes dual-rumble and trigger-rumble support. A disabled effect means this browser/controller combination does not expose it.
Interpreting idle stick movement
The five-second measurement uses raw x/y offsets before the display dead zone. Mean drift is the average vector length, not the length of an average vector. Five, ten and fifteen per cent are illustrative radial dead zones rather than official service limits. Disconnect before cleaning the exterior; use the manufacturer cleaning guidance. Persistent unwanted movement after reconnecting and safe cleaning can require service or stick replacement.
How to use it
- Connect the controller to your computer or phone and press a button with this page open.
- Check the live buttons, trigger levels and stick positions in the device layout.
- Release the sticks, record five seconds of idle input and compare maximum and mean drift.
Privacy & limitations
Controller readings and test results stay in this browser. Nothing is uploaded.
Related tools
Frequently asked questions
What does ten per cent drift mean?
The raw x/y vector is one tenth of the normal unit stick radius from centre. A radial dead zone of ten per cent would hide a maximum offset at or below that value. Games can use different axis or radial dead zones, so this is an example comparison, not a universal setting.
Should I increase the dead zone or repair the stick?
A modest dead zone can hide small idle offsets but reduces sensitivity near centre. Repeat the test after reconnecting and cleaning the exterior safely. If unwanted movement persists or the required dead zone makes aiming difficult, arrange service or consider replacing the stick or controller.
Why do the numbers change between tests?
The stick can settle at slightly different positions; debris, temperature, wear and host processing can affect its return to centre. The browser also samples at its own frame rate. Compare several idle recordings and the behaviour in your game instead of treating one reading as a laboratory diagnosis.
Free tool · runs in your browser · no account required