What to check, in order
- Every button — press each one and confirm it lights up. Nothing lighting up means a dead input.
- Both triggers — they should sweep smoothly from 0 to 100%, not jump straight to full.
- Both sticks — roll each to the edge in every direction, then let go and check they return to centre.
- Rumble — both motors should respond. Chrome or Edge required.
- Then let go of everything. Anything still active is stuck or drifting, and gets flagged automatically.
On this page
How the tester works
Your browser exposes connected controllers through the Gamepad API. This page reads that stream continuously and mirrors it two ways at once: as a live photo-real render of the controller, and as a precise numeric readout of every input.
The render matters more than it sounds. Most testers draw an abstract diagram, so you have to translate "button 3 lit up" into "the triangle button works". Here you press a button and see that button respond on a photograph of the pad, which makes a dead input obvious instead of something you have to decode.
The numeric side is what a diagram can't give you: triggers report their analog position from 0 to 100%, so you can see whether a trigger sweeps smoothly or jumps, and sticks report exact coordinates rather than just a direction.
Button numbering, Xbox and PlayStation
Under standard mapping the browser gives every controller the same numbering, regardless of what the buttons are physically labelled. That is why a tester shows "button 0" rather than A or ✕:
| Index | Xbox | PlayStation | Nintendo |
|---|---|---|---|
| 0 | A | ✕ Cross | B |
| 1 | B | ○ Circle | A |
| 2 | X | ▢ Square | Y |
| 3 | Y | △ Triangle | X |
| 4 / 5 | LB / RB | L1 / R1 | L / R |
| 6 / 7 | LT / RT | L2 / R2 | ZL / ZR |
| 8 / 9 | View / Menu | Share / Options | − / + |
| 10 / 11 | LS / RS click | L3 / R3 | Stick click |
| 12–15 | D-pad up, down, left, right | ||
| 16 | Xbox button | PS button | Home |
Note that Nintendo's A/B and X/Y are physically swapped relative to Xbox, which is why a Switch Pro controller can feel "wrong" in a game that assumes Xbox labels.
Common problems and what they mean
Nothing is detected
Press any button first — browsers deliberately hide gamepads until one sends input. If that fails, another program is probably holding the device exclusively; Steam's controller support and DS4Windows are the usual culprits, since only one program can own a pad at a time.
An input stays active when you're not touching it
That is a stuck button or a drifting stick, and this page highlights it for you. Buttons usually stick from debris under the contact; sticks drift from mechanical wear. To measure how much a stick drifts, use the deadzone and circularity test, which reports it as a percentage.
The mapping says "non-standard"
The browser couldn't match your pad to the common layout, so the numbering may not line up with the physical labels. The controller still works — games will just need manual rebinding.
A trigger jumps straight to 100%
Analog triggers should sweep smoothly. A trigger that snaps to full is being read as a digital button, which usually means a non-standard mapping or a pad that never had analog triggers.
Turn it into a live, transparent input overlay for OBS or Streamlabs in a couple of minutes — free.
Build my overlay →What this tester can't tell you
Everything here is read after the operating system and driver, through the same API a browser game uses. That makes it a true picture of what software receives, with some honest limits:
- A deadzone applied by the driver is indistinguishable from one built into the pad.
- It confirms an input responds, not how fast — for that use the report rate and latency test.
- Rumble support depends on the browser and connection, so silence is not proof the motors are dead.
- It shows that a stick drifts, but not by how much — the deadzone and circularity test quantifies it.