Gamepad Tester: Test Your Controller Online
Test your game controller online with live buttons, analog triggers, stick drift and circularity, a deadzone view, vibration and update rate checks.
No controller detected yet
Connect a controller by USB or Bluetooth, then press any button on it. For privacy, browsers only show a controller to a page once it has been used while the page is open.
Buttons
Axes
Stick drift
Let go of both sticks, then press Measure drift. It averages two seconds of readings.
Vibration
Update rate
Press Measure update rate, then keep moving a stick in circles for three seconds.
How to test a controller
- Connect the controller with a USB cable or pair it over Bluetooth.
- Press any button on it. Browsers hide controllers from web pages until you press a button (some also accept a large stick movement) while the page is open, so nothing appears before that.
- Press every button and move both sticks and triggers. Each input lights up on the drawing and in the button list, and a tick marks every button that has worked at least once.
- Use Measure drift, Vibration and Measure update rate below.
With several controllers connected, press a button on the one you want to see or pick it from the list.
Button numbers and the standard mapping
When the browser recognises a controller it reports the mapping standard
and arranges the inputs in the W3C Gamepad API’s standard layout, so
button 0 is always the bottom face button, whatever is printed on it:
| Index | Xbox | PlayStation | Nintendo |
|---|---|---|---|
| 0 to 3 | A, B, X, Y | Cross, Circle, Square, Triangle | B, A, Y, X |
| 4, 5 | LB, RB | L1, R1 | L, R |
| 6, 7 | LT, RT | L2, R2 | ZL, ZR |
| 8, 9 | View, Menu | Share or Create, Options | Minus, Plus |
| 10, 11 | Stick clicks | L3, R3 | Stick clicks |
| 12 to 15 | D-pad up, down, left, right | same | same |
| 16 | Xbox button | PS button | Home |
Axes 0 and 1 are the left stick and 2 and 3 the right stick, each from −1 to 1 with up as −1. Triggers are analog buttons from 0 to 1. A controller without a standard mapping is shown by raw button and axis numbers, which can differ between browsers and operating systems.
Stick drift, deadzones and circularity
Let go of both sticks and press Measure drift, which averages two seconds of readings. A resting stick rarely reads exactly 0, and games ignore small offsets with a deadzone. For scale, Microsoft’s XInput documentation suggests default deadzones of 7849 and 8689 out of 32767, about 0.24 and 0.27, for the left and right sticks. A resting offset that approaches those values, or grows over weeks, is drift. It usually comes from worn sensors or dirt inside the stick.
The shaded circle on each stick shows the deadzone set with the slider. To test circularity, rotate a stick slowly around its outer edge a few times. The page records the furthest point reached in each 5° direction and reports the average gap to a perfect circle. A few percent is typical. Bulges at the diagonals mean the controller reports a square range, and a flat or dented side means the stick cannot reach its edge in that direction.
Vibration and update rate
Vibration uses the Gamepad API’s vibrationActuator. The strong motor
is the low-frequency one in the left grip, the weak motor the
high-frequency one on the right. Rumble works with many Xbox and
PlayStation controllers in Chrome and Edge; support in other browsers and
with other controllers varies. The Trigger rumble button appears only
when the browser reports trigger motors, such as on an Xbox One or Series
controller, and uses the strong motor’s strength for both triggers.
Measure update rate counts how often new data from the controller reaches the page while you move a stick. Browsers poll controllers at a rate of their own, so the result is the lower of the controller’s rate and the browser’s, not necessarily the USB polling rate of the controller.
If the controller does not appear
- Press a face button, not only a stick or trigger, while this tab is in front.
- Try another cable; some USB cables only charge and carry no data.
- Close game launchers and remapping tools that may take over the controller.
- On Windows, Chrome names every XInput controller “Xbox 360 Controller (XInput STANDARD GAMEPAD)”, whatever its brand.
Frequently asked questions
Is anything from my controller sent over the internet?
No. The page reads the controller with the browser’s Gamepad API and everything is shown and measured locally. Nothing is uploaded or stored.
Why does my controller not show up?
Browsers only reveal a controller after you press one of its buttons (some also accept a stick movement) while the page is open. If it still does not appear, check that it is connected (Bluetooth pairing, a data cable rather than a charge-only one) and that no other app has taken exclusive control of it.
How do I know if my stick has drift?
Let go of the stick and press Measure drift. An offset below about 0.05 is normal. Between 0.05 and 0.15 most games hide it with their deadzone, and a steady offset above 0.15 is drift that can move your character or camera on its own.
Can I test a controller on my phone or tablet?
Yes. Pair the controller in the Bluetooth settings, open this page in Chrome on Android or Safari on iPhone and iPad, and press a button. Vibration support on phones varies.