Gamepad Tester
Test a gamepad or controller in the browser. Press any button to wake it, and every input shows up live — buttons, bumpers, triggers, sticks, and the D-pad. A dead button, a drifting stick, or a silent rumble motor appears in seconds.
Works with Xbox, PlayStation, Switch Pro, and most third-party controllers over USB or Bluetooth. If nothing appears, press a button — browsers hide idle controllers until you do.
Connect a controller over USB or Bluetooth, then press any button to wake it up.
Browsers hide idle controllers from websites until you press a button — a privacy rule, not a fault. One press and it appears here.
Let go of the sticks and watch the axis values. Near 0.00 is healthy; a resting stick clearly off zero is the drift you feel in games.
Browser rumble is patchy — Chrome and Edge with an Xbox pad work best. If inputs register but rumble stays silent, blame the browser before the motors.
Controllers wear out one input at a time: a stick starts drifting so your character creeps across the screen, a bumper registers every third press, a trigger stops reaching full pull. In a game you can never tell whether the fault is the controller, the game, or you. This tester shows exactly what your controller reports to the computer, nothing more — a quick check before buying or selling a used pad, after a drop or a spill, or when a game stops seeing inputs you are certain you pressed. It works with Xbox, PlayStation, Switch Pro, and most third-party controllers, the same way the Keyboard Tester and Mouse Tester check your other input devices — nothing to install, everything runs locally.
The test uses the browser’s Gamepad API, which polls the controller’s full state every frame — one value per button and per axis. Digital buttons read 0 or 1; analog triggers report everything in between, so you can watch a slow pull climb from 0.00 to 1.00. Each stick reports two axes from −1 to +1, with 0 at the centre. For privacy, browsers hide connected controllers from websites until you press a button — that first press is what makes yours appear here. The vibration buttons drive the rumble motors through the same API; most pads carry two, a heavy motor for deep rumble and a light one for sharper buzzes.
How to spot stick drift
Let go of both sticks and watch the axis readouts. A healthy stick rests near 0.00 on both axes; a few hundredths of offset is normal wear, and games hide it inside their dead zone. Drift is a resting stick that reports a clearly non-zero value, or one that wanders on its own. Games read that offset as a constant push, which is why a drifting camera or a creeping character follows you from game to game. The cause is the stick module itself — a worn or dirty potentiometer — not the games it ruins. Clean around the stick base with isopropyl alcohol and recalibrate in your system settings; if the offset survives that, the module needs replacing.
Controller not showing up?
The Gamepad API only reveals a controller after you interact with it, so a missing pad is usually a handshake problem, not a broken one:
- Press a button — browsers hide idle controllers until you do.
- Reseat the USB cable, or check that the controller is actually paired over Bluetooth, not just powered on.
- Close software that claims the controller first: Steam, remapping tools like DS4Windows or reWASD, and remote-play apps.
- Swap USB for Bluetooth (or the reverse), and try another port or cable.
- Try Chrome or Edge — they have the most complete Gamepad API support.
- Going quiet mid-test? Charge it or swap the batteries; many controllers sleep when idle.
Common controller faults
| Fault | What you see in this test | Fix |
|---|---|---|
| Stick drift | An untouched axis rests away from 0.00, or wanders on its own | Clean around the stick base, recalibrate, or replace the stick module |
| Dead or unreliable button | The button never lights, or flickers on a single press | Clean under the button; replace the contact membrane if it persists |
| Trigger not reaching full pull | The value tops out below 1.00 however hard you squeeze | Clean the trigger mechanism; a worn potentiometer needs replacing |
| No rumble | Buttons and sticks work, but the vibration test stays still | Check browser rumble support first, then suspect the motors or their connectors |
| Random disconnects | The controller drops off the tester mid-use | Charge or re-pair the controller; try a different cable or USB port |
