Stick Drift Test
Measure how far each controller stick rests from center, and get a deadzone that hides it.
Test a PS5, PS4, Xbox or other game controller in your browser: connect it, press any button, and watch every button, trigger and stick respond. A drifting stick or a button that never lights up is easy to spot.
Waiting for a controller.
Browsers reveal a controller only after you press a button on it. The vibration check needs a browser that exposes vibration for the controller, such as Chrome and Edge, or Safari on a Mac. The gyroscope, touchpad surface and adaptive triggers are not available through the Gamepad API.
Runs entirely in your browser. Test results, audio and video never leave your device.
Connect the controller by USB or Bluetooth, open this page and press any button, because browsers reveal a controller only after a press. Then press every button, pull both triggers and move each stick: each lights up or moves on the diagram, so a button that never responds, or a stick that rests off center, stands out.
Let go of both sticks and watch the numbers under each one. A centered stick reads close to x 0.00, y 0.00. Once a stick has held still for 2 seconds, Resting offset shows its distance from center, from 0.00 to 1.00. Above 0.08, the page adds Possible drift: off center for 2 s without moving.
Then flick each stick to the edge in several directions and let it spring back, a few times. A small offset that is the same every time is usually hidden by the dead zone in games. A stick that creeps while untouched, or lands in a different spot after each release, is the kind of drift you notice in play.
To measure drift over a few seconds, check how far each stick reaches and get a deadzone to set, use the Stick Drift Test.
Web pages read controllers through the Gamepad API. Current browsers usually map PS4, PS5 and Xbox controllers to the API’s standard layout, so they appear on the diagram. Features the API does not cover cannot be tested here.
| Controller feature | On this page |
|---|---|
| Buttons, D-pad, L3 and R3 | Yes. When the page recognizes the controller, buttons carry its maker’s names, such as Cross or A; otherwise both, such as A / Cross. |
| Analog sticks | Yes, as x and y from −1 to 1, with a resting offset and a drift flag. |
| Triggers | Yes, as a percentage of travel for LT / L2 and RT / R2. |
| Vibration | Usually, in Chrome and Edge and in Safari on Mac. Not in Firefox or on iPhone and iPad. |
| PS4 and PS5 touchpad | Its click may appear under Other buttons. The touch surface is not available. |
| Gyro and accelerometer | No. Controller gyro is not available through the Gamepad API; a phone’s motion sensors are on the Gyroscope Test. |
| DualSense adaptive triggers | No. Trigger resistance cannot be set or tested. |
| Light bar and battery level | No. |
Sources: W3C: Gamepad, standard gamepad layout; Microsoft Learn: Gamepad and vibration (Xbox button names); PlayStation: PS5 console button functions; Nintendo Support: Nintendo Switch Pro Controller diagram. Checked October 6, 2026.
The page reads every connected controller through the browser’s Gamepad API on each display frame and redraws when something changes, at most 30 times a second. A button counts as pressed above 0.1 on its 0 to 1 scale, and sticks report x and y from −1 to 1. Resting offset is a stick’s straight-line distance from center once it has stayed within 0.04 on each axis for 2 seconds; above 0.08, the stick is flagged for possible drift.
The controller type is a guess from the id the browser reports: the Microsoft, Sony or Nintendo USB maker code where the browser includes it, otherwise the product name. The standard layout fixes where each button sits, not its label, so a Nintendo controller’s bottom button shows as B.
The vibration check asks the browser for 1 second of dual-rumble at full strength: Strong drives the low-frequency motor, Weak the high-frequency one, and Both the two together.
Sometimes. Cleaning around the base of the stick can help when dirt is the cause, but a worn stick usually needs a repair or a new stick module. A larger dead zone in a game hides mild drift without curing it. This page only reads the controller; it cannot calibrate or change it.
A dead zone is the area around a stick’s center that a game ignores, so resting noise and tiny movements do nothing. This page adds no dead zone of its own, so a stick can show a small offset here that your games never react to.
No. This page reads the controller once per display frame, 60 times a second on a 60 Hz screen, so it cannot see reports in between or time how long a press takes to arrive. That needs dedicated software or measuring hardware. The Refresh Rate Test shows that rate for your screen.
Usually, yes. Pair the controller with the phone or tablet, open this page and press a button. Buttons, sticks and triggers appear where the browser supports the Gamepad API, but iPhone and iPad browsers do not expose vibration, so the vibration check is not available there.
Search the Start menu for “Set up USB game controllers”, select your controller, choose Properties and open the Test tab. If Windows cannot see the controller either, the problem is likely the connection, a driver or the controller itself, not the browser.