Gamepad Tester
Every button, both sticks, a drift check and a rumble test, in the browser.
Controller
Press a button on your controller
A browser only shows a gamepad after it sends an input, so connect it and press any button.
Take your hands off the controller and press Measure drift: it watches the sticks for three seconds.
Sticks
Connect a controller to see its sticks.
Axes and triggers
- Values appear here as you move the sticks and triggers.
Buttons
Each button lights up while it is held, and keeps a tick once it has been pressed.
About the Gamepad Tester
Plug a controller in — or pair it over Bluetooth — press a button to wake it, and this page shows everything the browser can see: each button as you press it, how far the analogue triggers are squeezed, both sticks as live numbers and a moving dot, and a running list of the buttons you have not tried yet.
It also does the two checks people actually buy a controller test for. Stick drift: press Measure drift, leave the sticks alone for three seconds, and the page records the largest value each stick reports at rest, which is exactly what makes a camera creep in a game. Vibration: a button asks the controller to rumble through the browser, so you can tell a dead motor from a game that never asked for one.
It works with any controller the browser recognises — Xbox, PlayStation, Switch Pro, generic USB pads, racing wheels and flight sticks — because it reads the browser’s own Gamepad API rather than a driver. Nothing is installed and nothing about your controller leaves the device.
How to use it
- Connect the controller by cable or Bluetooth, then press any button on it: browsers only reveal a gamepad after a real input, for privacy.
- Press every button and squeeze both triggers. Each one lights up, and the list of buttons not yet pressed shrinks — when it is empty, every button works.
- Push both sticks to each edge and in circles: the dots and the numbers follow them, so a stick that cannot reach an edge or sticks on one side is easy to see.
- For the drift check, take your hands off the controller and press Measure drift. For three seconds the page records the largest value each stick reports while untouched; a button press or a pushed stick spoils the run, and the page asks you to try again.
- Press Vibrate to ask the controller to rumble. If nothing happens, the browser or the controller does not accept a vibration command — the buttons and sticks are still tested.
Examples
Every button pressed, sticks released
Buttons not pressed yet: none · drift at rest +0.01 — no drift
Measure drift, hands off the controller for three seconds
Drift at rest +0.21 — drifting: an axis moves on its own
Above about 0.15 a game’s dead zone no longer hides it, and the camera or character creeps.
Right trigger squeezed fully
Right trigger (R2) +0.78 instead of +1.00
What the numbers mean
- Buttons light up while held. An analogue trigger also shows a value from 0.00 (released) to 1.00 (fully squeezed) — a trigger that stops short of 1.00 is worn.
- Axes run from −1.00 to +1.00. For the sticks, the first axis is left-to-right and the second is up-and-down, and the API counts downwards as positive, which is why pushing a stick up shows a negative number.
- Push is how far from the centre a stick is, from 0.00 to 1.00. A good stick reaches 1.00 at the edge in every direction.
- Drift at rest is the largest value a stick axis reported during the three-second measurement, while you were not touching the controller. Triggers and hat switches, which rest away from the centre, are left out of it. Under 0.05 is ordinary analogue noise, up to 0.15 is usually hidden by a game’s dead zone, and above that it is drift you will feel.
- Mapping says whether the browser recognised the layout. With the standard mapping the buttons are named; without it the browser only knows numbers, and so do we.
If the controller does not appear
- Press a button on the controller. A browser hides gamepads until one sends an input, so a connected but idle controller is invisible on purpose.
- Check the cable or the pairing. A charging-only cable carries no data; a controller paired with a phone or a console will not talk to this computer at the same time.
- Xbox and PlayStation controllers work over USB everywhere and over Bluetooth on most systems. A Switch Pro controller works by cable in some browsers and over Bluetooth in most: if the cable shows nothing, pair it as a Bluetooth device.
- Some privacy settings and extensions hide gamepads from pages. Click the page once, then press a button; if it still does not appear, try it with those switched off.
- Several controllers connected? Pick yours in the Controller menu that appears, or unplug the others.
- Steam and other overlays can capture a controller before the browser sees it. Close the overlay, or switch its controller support off while you test.
Limitations
- A browser only exposes a gamepad after a button on it is pressed, and only to a page in the foreground.
- Button names are only known when the browser reports the standard mapping; otherwise the numbers are shown as they come.
- Vibration needs the browser to offer a vibration actuator for that controller. Where it does not, the rumble test cannot run — that is a browser limit, not a broken motor.
- Gyroscopes, touchpads, speakers, lights and adaptive triggers are not part of the Gamepad API, so they cannot be tested here.
- Values are read once per animation frame, so a press shorter than a frame (about 16 ms at 60 Hz) can be missed.
Privacy
The controller’s name and inputs stay in this browser: nothing is uploaded, nothing is stored, and the page forgets everything when you close it.
Frequently asked questions
Why does my controller not show up?
Press a button on it. Browsers reveal a gamepad only after it sends an input, and only to the page you are looking at. If it still does not appear, check that the cable carries data, that the controller is not paired to a console or phone at the same time, and that no game overlay has taken it.
How much stick drift is too much?
Under 0.05 at rest is ordinary analogue noise. Up to about 0.15 is usually swallowed by the dead zone games apply. Above that the stick is moving on its own and you will see the camera or the character creep — that is the point at which a stick module is worn.
Which controllers work?
Any the browser recognises through its Gamepad API: Xbox, PlayStation, Switch Pro, generic USB pads, arcade sticks, racing wheels and flight sticks. The layout is named when the browser reports the standard mapping; otherwise buttons are shown by number.
Why is pushing the stick up a negative number?
Because the Gamepad API measures the vertical axis downwards: −1.00 is fully up and +1.00 is fully down, like screen coordinates. The page labels the axes so the sign is never a surprise.
Can it test the rumble on a PlayStation or Xbox controller?
When the browser offers a vibration actuator for it, yes — press Vibrate and both motors run briefly. Some browsers offer none, in which case the page says so rather than pretending the motors are dead.