← All tests
Device check

Gamepad Controller Test

Connect a controller and check every button, trigger and analog stick with a live visual readout.

✓ Instant result✓ No sign-up✓ Runs in your browser
Ready when you are

Connect your controller, press a button, then watch every input respond.

Local only
StatusReady
Buttons active0
Axes detected—
123456789101112
No permission prompt required
01

How to use this test

  1. Connect a USB or Bluetooth controller.
  2. Select Start gamepad test and press any controller button.
  3. Move both sticks, squeeze the triggers and check every button.
02

If something looks wrong

  • Reconnect the controller if the browser does not detect it.
  • Press a controller button after opening the page; browsers often require this first interaction.
  • Test with a cable to rule out Bluetooth delay or battery problems.
What the result means

The browser reports connected controls, axes and button pressure.

After a button is pressed, the Gamepad API exposes supported controllers to the page. The tester polls the current buttons and axes, then displays changes in real time. This can confirm that a control reaches the browser and reveal obvious drift when a stick moves while untouched.

Button names and layouts are normalized imperfectly across controllers, drivers and browsers. A control may appear under a different index, and advanced features such as paddles, motion sensors, adaptive triggers, headset ports or vibration are not consistently exposed on the web.

Reading the signal

Check neutral position, full travel and every control.

Neutral axes

Untouched sticks should remain close to their center value. Tiny movement can be within the controller or game's normal dead zone.

Full travel

Move each stick slowly around its edge and press analog triggers fully. Values that stop early may reflect calibration, wear or mapping.

Button response

Each deliberate press should change the matching indicator consistently and return when released.

Different numbering

A mismatched label does not automatically mean failure; browser and driver mappings differ for non-standard controllers.

Browser-test limits

The Gamepad API exposes a browser-defined subset of controller data. This test cannot update firmware, change dead zones, guarantee in-game mappings or diagnose wireless radio and console-specific features independently.

Read our complete testing methodology →
Troubleshooting

From symptom to next step.

What you seeLikely causeWhat to try
Controller is not listedNo input has activated it, the browser lacks support or another connection mode is required.Press a button, reconnect by USB or Bluetooth, wake the controller and test in a current Chromium or Firefox browser.
Stick moves while untouchedMechanical wear, contamination or calibration can move the reported neutral position.Reconnect, calibrate with the operating system or vendor utility and compare whether the game dead zone hides the same movement.
Buttons are mislabeledThe controller does not use the browser's standard mapping or the driver exposes a different order.Judge the changing index rather than the printed label, then configure the mapping in the target game or vendor software.
Quick answers

Good to know.

Why is my controller not detected?+

Some browsers expose a controller only after you press one of its buttons. Also check its cable, battery and operating-system connection.

Does this work with Xbox, PlayStation and generic controllers?+

Most modern controllers that support the browser Gamepad API will work, although button numbering and mapping can differ.

Why must I press a button before the gamepad appears?+

Browsers commonly require a user interaction before exposing a connected controller, which reduces passive device detection.

How much stick drift is acceptable?+

There is no single web-wide threshold. Games use different dead zones, so compare the neutral value with the settings and behavior of the game you use.

Can the test make my controller vibrate?+

Vibration support varies by controller and browser and is not required to verify the main buttons and axes on this page.

Keep checking

One more test?