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.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
Controller stick drift testLocal processing

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.

Connect by USB or Bluetooth, then press a controller button with this tab open.

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.

LB—RB—
LT—Analogue trigger: 0 to 1
RT—Analogue trigger: 0 to 1
Y—X—B—A—
D-pad up—D-pad left—D-pad right—D-pad down—
View—Menu—Xbox—Share—
Left stick click—Left stickNot exposed by this browser
Right stick click—Right stickNot exposed by this browser

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
IndexButton name
0A
1B
2X
3Y
4LB
5RB
6LT
7RT
8View
9Menu
10Left stick click
11Right stick click
12D-pad up
13D-pad down
14D-pad left
15D-pad right
16Xbox
17Share · browser-dependent extra

Test log

Latest 80 button transitions. Analogue levels remain visible on the live buttons and trigger bars.

  1. Press and release a controller button to begin the log.
PlayStation/DualSense are trademarks of Sony Interactive Entertainment; Xbox of Microsoft; Nintendo Switch/Joy-Con of Nintendo; TOEA is not affiliated.

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

  1. Connect the controller to your computer or phone and press a button with this page open.
  2. Check the live buttons, trigger levels and stick positions in the device layout.
  3. 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