Gamepad Tester

Test every button, stick, trigger, and rumble motor on your controller, right here in the browser.

Quick start

  1. 1
    Connect your controller. Plug it in over USB, or pair it over Bluetooth in your device settings first.
  2. 2
    Press any button or nudge a stick. Most browsers stay completely silent about a controller until they see its first input.
  3. 3
    Watch the input map light up. Every press, pull, and tilt below updates live, frame by frame.

Test your controller

Live status

Checking for a controller…

No controller detected

Connect a controller by USB or Bluetooth, then press any button or move a stick — most browsers won't notice it until you do.

How to read the results

Input map

The diagram mirrors a standard controller layout. A black outline means that input is at rest. An orange glow means the browser is reading it as pressed right now — the harder an analog input like a trigger is pushed, the more of it fills with orange.

Analog sticks

Each stick reports an X and Y value between −1 and 1, with 0 in the centre. The dot on the diagram moves with the stick; the numbers on the right give the exact reading. If a number sits noticeably away from 0.00 while the stick is untouched, that stick has drift.

Triggers

L2 and R2 are analog on most controllers, reporting how far they're pressed as a percentage rather than simply being pressed or not. That percentage shows up two ways: as a fill on the diagram, and as a precise bar and number in the Triggers panel.

Button matrix

Every button your controller reports appears here by raw index, whether or not it has a place on the diagram. This is the most useful view for unusual or off-brand controllers, extra paddle buttons, or anything that doesn't follow the standard layout.

Haptics

"Pulse light" and "Pulse strong" send a short rumble command to the controller. Support depends on both the controller's hardware and the browser, so a "not supported" result here doesn't always mean the hardware lacks a rumble motor.

Connecting by device

Windows & Mac

Plug in over USB, or pair over Bluetooth in your system settings first. Chrome, Edge, and Firefox all support the controller out of the box once it's paired.

Android (phone & tablet)

Pair the controller in your device's Bluetooth settings, then open this page in Chrome. Other Android browsers vary in their support.

iPhone & iPad

Pair an MFi or Bluetooth controller in Settings, then open this page in Safari. iOS has supported the same Gamepad API since version 14.5.

Linux

Plug in over USB or pair over Bluetooth, then use Chrome or Firefox. Some distros need a one-time udev rule for certain Bluetooth controllers to be recognised by the OS at all — if the controller isn't visible at the system level, it won't be visible here either.

Troubleshooting

Nothing happens when I connect a controller

Press a button or move a stick — many browsers won't register a controller until they see its first input. If it still doesn't appear, confirm it's paired or plugged in at the OS level first, and try a different browser.

A button or stick won't stop moving, or reads backwards

Check the exact reading in the Button matrix or Analog sticks panel. A worn stick often shows a resting value away from 0.00 (drift); a button that reads inverted is usually a controller or driver quirk rather than something this page can fix.

No vibration when I test haptics

Confirm the controller has a rumble motor at all, then try a different browser — haptic support varies more between browsers than almost anything else in the Gamepad API.