Gamepad Tester
Connect over USB or Bluetooth and press any button to wake the pad: the layout lights up live, stick panels show coordinates and return-to-center error, and trigger bars read analog travel — a stick that won't re-center is drifting.
No gamepad detected
Connect a controller over USB or Bluetooth, then press any button on it to wake it up.
How to read it
- Buttons follow the W3C standard mapping: 0–3 are the face cluster (A/B/X/Y or ×/○/□/△), 4–7 shoulders and triggers, 12–15 the d-pad.
- Release each stick and watch it settle: inside ±0.05 is normal, a persistent offset beyond 0.1 is visible drift.
- Trigger bars should sweep 0.00→1.00 smoothly; sticking mid-way or stepping in chunks points to a worn sensor.
- Rumble needs a standard-mapping pad with a vibration actuator — Xbox-compatible pads work best.
Frequently asked questions
The pad is connected but the page shows nothing?
The Gamepad API needs the pad activated on the page: press any button once after connecting. Still nothing — try Chrome or Edge; pair Bluetooth pads in the OS first.
How do I read the drift number?
Release the stick and wait 1–2s: coordinates should settle inside ±0.05. A persistent offset beyond 0.1 is visible drift, typically worn potentiometers. The panel shows the largest recent offset per stick.
My triggers only show 0/1?
Either the browser maps the pad digitally or the triggers are switches (common on arcade sticks). Analog triggers read a continuous 0.00–1.00 under standard mapping.
No rumble?
Only standard pads with vibrationActuator work (Xbox-compatible is most reliable), the page must be in front and OS-level feedback enabled. Missing rumble does not mean the inputs are broken.
Button numbers don't match the labels on my pad?
The page follows the W3C standard mapping: 0=A/×, 1=B/○, 2=X/□, 3=Y/△, 4=LB, 5=RB, 6=LT, 7=RT, 8/9=back/start, 10/11=stick press, 12–15=d-pad, 16=home. Off-brand pads with a non-standard map may show shifted indices.