Gamepad test

Plug the controller in, press a button, and everything it reports appears here: every button as you press it, both sticks as you move them, and the triggers as an actual number rather than pressed or not. What never lights up here will never register in a game either.

Press any button on the controller

What to check, in order

Every button, once. Work around the pad methodically rather than mashing — face buttons, shoulders, triggers, stick clicks, D-pad, and the system and menu buttons. The counter tells you how many of the controller’s buttons have registered at least once, and it is the only reliable way to notice that one of them never did.

Both sticks, to the rim. Roll each stick right around its edge. The dot should reach the border of its square in every direction and trace a smooth circle. A dot that stops short in one direction means the stick is not reaching full deflection there, which shows up in games as a character that turns more slowly one way than the other.

The triggers, slowly. Squeeze each one gradually and watch the number climb. It should move smoothly from 0.00 to 1.00. Steps, jumps or a ceiling below 1.00 are all real faults.

Then let go of everything and look at the sticks again. If either dot sits away from the centre, that is drift, and the stick drift test measures how much.

What the button numbers mean

On a controller the browser recognises, the layout is fixed and the numbers are the same everywhere:

  • 0 to 3 — the four face buttons, bottom, right, left, top. On an Xbox pad A, B, X, Y; on a PlayStation pad cross, circle, square, triangle.
  • 4 and 5 — the shoulder buttons.
  • 6 and 7 — the triggers.
  • 8 and 9 — the select and start buttons, whatever the model calls them.
  • 10 and 11 — pressing the sticks in.
  • 12 to 15 — the D-pad, up, down, left, right.
  • 16 — the system button, if the controller has one the browser is allowed to see.

If the mapping says “not recognised”, none of that applies to your pad. The numbers are still consistent within one controller, so they are still useful for identifying which button is dead — they just do not correspond to the list above.

Windows 11

  • Windows exposes most controllers twice, through two different interfaces, and a browser may pick either one. This is why a pad can appear with a different button order in two applications on the same machine.
  • Steam is the usual reason a controller behaves oddly outside games. Its input layer takes ownership of the pad and presents a virtual one in its place, which can hide the real device or remap it. If the layout here looks wrong, close Steam entirely and reconnect.
  • A controller that appears in Set up USB game controllers but not here is being taken by another application. Only one owner at a time.

macOS

  • Xbox and PlayStation controllers pair natively over Bluetooth; nothing extra is needed. Older Xbox pads without Bluetooth cannot connect at all without third-party drivers.
  • macOS applies its own layout for controllers it knows, which is why an Xbox pad reports standard mapping while an adapter-connected one often does not.
  • If the pad is paired but silent, remove it in Bluetooth settings and pair it again. A half-paired controller shows as connected and sends nothing.

Common questions

Why does nothing show until I press a button?

Because browsers deliberately hide a connected gamepad until it is used. An idle controller that any page could read would be a fingerprinting surface — its name and axis layout say a lot about a machine — so the specification requires an actual press before the device appears. Every gamepad tester on the web works this way; it is not a fault in the page or the controller.

My controller shows as "not recognised". Is it broken?

No. That only means the browser has no standard layout for it, so it cannot promise that button 0 is the bottom face button or that axis 2 is the right stick. Everything still reads and still works — the numbers simply are not labelled. It is common with arcade sticks, flight controllers, older pads and anything connected through an adapter.

Should I connect by cable or Bluetooth?

Either works for this test. A cable is worth trying if the controller does not appear at all, since some pads only expose their standard layout over USB and behave as a generic device over Bluetooth. Bluetooth also adds input delay, which this page does not measure — the input lag test does, and running it with the controller connected is the closest a browser gets.

The triggers show a number instead of a light. Why?

Because they are analogue: they report how far they are pulled, not just whether they are down. That number is worth watching. A trigger that jumps from 0.00 to 1.00 with nothing in between has lost its analogue travel, which matters in any game where the trigger controls a throttle or a brake, and a trigger that never reaches 1.00 will not read as fully pressed.

Does this work with a PlayStation or Switch controller?

Yes. Both are recognised by modern browsers on Windows, macOS and Linux, usually with the standard layout. Switch Joy-Cons connected individually are the common exception — each half is a separate device with its own axis layout, and browsers frequently do not recognise it, so expect "not recognised" and unlabelled axes.

Can this test the rumble motors?

Not reliably, so it does not claim to. The vibration part of the gamepad specification is supported unevenly and behaves differently between browsers and controllers, and a test that silently does nothing on half the devices is worse than no test. A controller that does not rumble in games but is otherwise fine here is usually a driver or pairing problem rather than a broken motor.

Part of these checks

Other checks for this device

  1. Stick drift test