Controller test
Plug in or pair your controller and press any button. The bench shows every stick, button and trigger live, then checks stick drift, vibration motors and the update rate your browser sees. Each check ends with a verdict: fine, early wear or a problem, plus what to do next.
Controller bench
No controller yet
Turn your phone sideways for the full bench.
Press any button on your controller — browsers only show a pad after its first press.
Stick check
Three steps: rest, circles, snap-back. Start with the controller lying on a table.
Vibration
Hold the controller and run each test. One motor at a time makes a dead or rattling motor easy to spot.
Report rate
Keep moving a stick in circles while it measures. The experimental deep mode counts every report; the Gamepad API shows what the browser sees.
Button check
Press every button once to tick it off. Then run the chatter test: press each button slowly, about 20 times.
Deep mode (WebHID)
You don't need this for the checks above: the standard test works with any controller. Deep mode is an optional extra.
Verdict
Connect a controller and run a check — the verdict shows up here.
Checklist for this controller
- Press any button so the browser exposes the pad.
- Leave both sticks alone for 3 seconds to measure drift.
- Roll each stick slowly around its edge for the range check.
- Press every button and pull both triggers all the way.
- Run the vibration test and listen to both motors.
How to fix it
- Pad not showing up: press a button, not just move a stick — browsers hide pads until then.
- Two pads moving together usually means Steam Input made a virtual copy. Close Steam or turn off its controller support for this browser.
- If drift shows up, recalibrate in your console or OS settings first, then raise the in-game dead zone.
- Optional: desktop Chrome or Edge offer an experimental deep mode (gyro, touchpad, battery, lights). The standard test doesn't need it.
FAQ
Can a website test my controller?
Yes. Browsers expose connected gamepads through the Gamepad API, so a page can read sticks, buttons and triggers and drive vibration. Everything runs on your device; nothing is uploaded.
Why is my controller not detected?
Press a button — browsers hide pads until you do. If it still doesn't appear, try another USB cable or port, close Steam, DS4Windows or similar tools, and on Safari check that your pad is a supported model.
What is stick drift?
Drift is when a stick reports movement while you aren't touching it, usually from a worn or dirty potentiometer. Small offsets are hidden by in-game dead zones; larger ones move your character or camera on their own.
Does this test work on my phone?
Yes for Bluetooth pads on Android and iOS through the Gamepad API. Deep mode needs desktop Chrome or Edge, and vibration may be missing on some phones.
Can the bench show my controller's input lag?
No. Lag in milliseconds needs a camera or a light sensor on the screen, and the browser shares no clock with the pad. The bench sticks to what it can stand behind: drift, range, buttons, rumble and how often reports arrive.
Why does the report rate top out at 250 Hz?
Chrome refreshes the Gamepad API about every 4 ms, so 250 Hz is the ceiling there whatever the pad sends. The experimental deep mode in desktop Chrome or Edge counts the pad's own reports instead.
Which browser gets the most out of the bench?
Chrome or Edge on a computer: rumble, trigger rumble on Windows and deep mode. Firefox reads the pad but can't vibrate it. Safari only sees MFi, Xbox, DualShock 4, DualSense and Switch Pro pads.