๐ŸŽฎGamepad tester

โœ“ Tested & verified Updated: How the test works

Gamepad tester

A B X Y LB RB LT RT Back Start LS RS Up Down Left Right Home
Left X0.00
Left Y0.00
Right X0.00
Right Y0.00

Plug the controller in and press any button โ€” browsers keep a gamepad invisible until it sends its first input, so nothing appears before that.

Inputs that answered

0inputs

Press every button and push both sticks to their edges. Anything that never lights up is not reaching the browser at all โ€” check the cable, the dongle and the driver before blaming the pad.

  • Buttonsโ€”
  • Axesโ€”
  • Controllerโ€”
  • Mappingโ€”

Nothing appears until you press a button โ€” browsers hide a controller from a page until you use it.

One gear check a month

Monthly

One thing a month worth measuring before it fails properly โ€” a mic that reset itself, a stick that drifts, a switch sending two clicks. Two sentences and the test.

Free, no account. One click unsubscribes and deletes your address.

Try also

How do I test a controller in the browser?

The Devicedial gamepad tester reads your controller through the browser’s Gamepad API and shows every button and axis it reports, live. Press any button first: browsers deliberately hide connected controllers from a page until you use one, so an idle pad looks like no pad at all.

Once it appears, each button carries its index from the Standard Gamepad mapping โ€” 0 to 16 โ€” and the two triggers show an analog value between 0.00 and 1.00 rather than a simple pressed flag. Sticks report two axes each, running from -1 to +1 in both directions, so the resting value tells you whether the stick centers properly.

What this page adds is the number behind the dot. A stick that looks centered can still sit at 0.08, and a face button that registers twice on one press is a switch beginning to fail. Both are visible here before a game makes them obvious.

The index numbers on screen are not arbitrary. A controller the browser recognizes is reported in the Standard Gamepad mapping, which fixes what every position means regardless of what is printed on the buttons. This is that map.

IndexStandard Gamepad controlXbox labelPlayStation label
0Bottom face buttonACross
1Right face buttonBCircle
2Left face buttonXSquare
3Top face buttonYTriangle
4Left shoulderLBL1
5Right shoulderRBR1
6Left trigger (analog)LTL2
7Right trigger (analog)RTR2
8Select / backViewCreate
9StartMenuOptions
10Left stick pressLSL3
11Right stick pressRSR3
12D-pad upโ€”โ€”
13D-pad downโ€”โ€”
14D-pad leftโ€”โ€”
15D-pad rightโ€”โ€”
16Guide / homeXbox buttonPS button

Index 16 is optional and several browsers withhold it, so a home button that never lights up here is usually the browser, not the pad. Everything from 0 to 15 should respond on a working controller.

If the sticks are what brought you here, the stick drift test puts a number on their resting position instead of a dot on a graph. For the other half of a gaming setup, the keyboard tester shows how many keys register at once and the mouse tester checks buttons and scroll wheel.

Frequently asked questions

Why does the tester show nothing until I press a button?

Browsers hide connected gamepads from a page until you use one. Reporting every device the moment a page loads would hand out a fingerprint of your hardware, so the Gamepad API only exposes a controller after it sends its first input. Press any button, move a stick, and the pad appears. The same rule means the page has to be focused and served over HTTPS.

Why are my buttons numbered wrong?

Because your controller is not being mapped to the Standard Gamepad layout. When the browser recognizes a pad it reports its mapping as standard, and the indices mean what the table on this page says. When it does not โ€” common with older, generic or adapter-connected controllers โ€” the mapping comes back empty and the numbers are whatever the device’s own descriptor lists, in its own order.

Do the triggers report how far they are pressed?

Yes. Buttons 6 and 7 in the standard mapping are analog: each carries a value from 0.00 to 1.00 alongside the pressed flag, so you can watch a trigger travel instead of just fire. A trigger that jumps straight from 0 to 1, or that never reaches 1.00 at full pull, is worn โ€” and that is invisible in any game reading only the pressed flag.

The tester sees my controller but my game does not.

That is almost always the driver layer, not the pad. Windows exposes controllers through both XInput and DirectInput and many games read only one, while Steam Input can capture a controller exclusively and hand the game a virtual one instead. Close overlay software, check the game’s controller setting, and unplug any second pad โ€” a game usually binds to player one and stops looking.

Does it work over Bluetooth, and with PlayStation, Xbox or Switch pads?

Any controller the operating system has paired shows up here, wired or wireless, whatever the badge on it. What changes is the mapping: first-party Xbox and PlayStation pads usually map to the standard layout, while Switch pads and third-party clones often do not. Bluetooth adds a few milliseconds of latency, so use a cable if you are chasing input lag rather than broken buttons.

Can this test rumble or the gyro?

Rumble works in the browsers that expose a vibration actuator, so a pad that stays silent there has either no motors or no driver support. Gyro and accelerometer data does not appear at all: motion sensors are not part of the standard gamepad and reach games through platform drivers this page cannot see. Everything here is buttons and axes, which is where nearly every controller fault lives.

How the test works

The page polls navigator.getGamepads() once per animation frame and draws whatever the browser returns. Buttons arrive as an array where each entry has a pressed flag and an analog value from 0.00 to 1.00; axes arrive as floats normalized to the range -1 to +1, not as degrees or as a count of millimeters of travel. Axis 0 and axis 1 are the left stick’s horizontal and vertical deflection, axes 2 and 3 the right stick, with -1 up and left, +1 down and right.

Index numbers only mean what the table below says when the browser reports the controller’s mapping as standard; on an unrecognized pad the indices follow the device’s own descriptor and the labels no longer apply. Polling happens entirely in your browser โ€” no controller data is stored or sent anywhere.

Sources:

What a failing controller looks like first

A face button that counts twice. The switch under it bounces as it closes, and the browser receives two presses where your thumb made one. In a game it reads as a dropped input or an accidental double action, and it gets worse with use.

A trigger that stops short. Pull it all the way and watch the analog value: anything that peaks at 0.90 has a worn potentiometer, and games that scale acceleration to trigger travel will feel slower than they should.

A stick that no longer returns to zero. This is the common one, and it starts small. A resting value of 0.05 is invisible in most games and 0.20 is not, so the useful question is not whether the stick drifts but by how much โ€” which is what the stick drift test measures.