Skip to content
Keyboard Tester

Keyboard Tester / Gamepad tester

Gamepad tester

Connect your controller by USB or Bluetooth, then press any button on it. Browsers only reveal a controller after a button press. It then appears here with every button, trigger and stick moving live, plus a drift readout for each stick. It works with most USB and Bluetooth controllers that your browser supports.

No controller detected yet. Press any button on your controller: browsers only show a controller after a button press.

How to connect and test

  1. Plug the controller in, or pair it by Bluetooth in your system settings.
  2. Click the page once, then press any button on the controller. The status line changes to connected.
  3. Press every button and move both sticks. Each button lights up on the diagram while held and keeps a tick once tested. Triggers fill like a bar, because many triggers report how far they are pressed.
  4. Use the raw table to read exact values for every button and axis.

If several controllers are connected, pick one with the buttons that appear above the diagram.

Standard mapping and raw values

A controller with the "standard" mapping reports 17 buttons and 4 axes in a fixed order, which lets this page draw the diagram. The buttons are shown by number and position: 0 to 3 are the face buttons, 4 and 5 the shoulder buttons, 6 and 7 the triggers, 8 and 9 the centre buttons, 10 and 11 the stick presses, 12 to 15 the directional pad and 16 the home button. A controller without standard mapping, such as some older pads and flight sticks, shows only the raw table, where each button and axis keeps the number the device reports.

Sticks, deadzone and drift

Each stick has a live dot, the largest reach in every direction, and a resting-drift number. Let go of the stick and press Measure resting drift to average one second of its resting position. The dashed circle is the deadzone you choose with the slider: a game ignores movement inside its deadzone. For a deeper look, see the stick drift test.

Vibration and the secure context

When the browser and the controller offer rumble, a Test vibration button appears; it stays hidden otherwise. Vibration support varies by browser, controller and connection type, and a missing button does not mean the motors are broken. Browsers also expose controllers only to secure pages, meaning HTTPS or localhost, which this site uses.

Browser support

Current Chrome, Edge, Firefox and Safari on desktop support the Gamepad API. Controller support on phones and tablets depends on the system. If your controller is listed in the system settings but not here, press a button on it while this page is in focus, then try another browser. The controller tester guide has the full troubleshooting list.

Questions people ask

How do I test my gamepad online?

Connect the gamepad, open this page, and press any button. The page lists the controller and lights up each button as you press it, shows triggers as bars and draws both sticks. Press all buttons and rotate the sticks to see what responds.

Why does the gamepad tester say no controller detected?

Browsers hide a controller until you press a button on it while the page is open. Press a button. If nothing appears, reconnect the controller, close other apps that might hold it, try another USB port or cable, or try another browser.

How do I check for stick drift?

Leave the sticks untouched and press Measure resting drift under each stick. A reading near 0.000 is clean. Values above about 0.1 often cause visible drift in games. The roundness trace below helps you spot a worn stick too.

Does this work with wireless and Bluetooth controllers?

Yes, with most USB and Bluetooth controllers that your browser supports. Pair it with the computer first. The controller must appear in the system as a game controller; some need a USB cable or an adapter in order to work with a browser.

Why is my controller shown as non-standard?

The browser could not match it to the standard 17 button layout, which happens with some older, third-party and specialty controllers. The page then hides the diagram and shows every button and axis in a raw table instead.