Gamepad Tester

Test every button, stick, and trigger on your controller live in the browser. Works with Xbox, PlayStation, and most USB or Bluetooth gamepads.

No controller detected

Connect a controller over USB or Bluetooth, then press any button on it — most browsers only report a gamepad after it sends its first input.

Test every button, stick, and trigger before you play

A dead button or a stick that will not center is easy to miss until it costs you a match. This tester shows every input your controller reports live, so a fault shows up as something that simply never lights up rather than something you have to guess at.

How this Gamepad Tester works

This tester reads directly from the browser's Gamepad API, which exposes every connected controller as a live snapshot of button and axis values rather than a stream of press-and-release events. Roughly sixty times a second the page asks the browser for the current state of every connected pad and redraws the on-screen buttons and stick positions to match, so what you see is effectively real time.

Browsers only add a controller to that list once it has sent at least one input, a deliberate privacy limit that stops a page from silently detecting what hardware you have plugged in before you interact with it. That is why nothing appears until you press a button, and it is normal, not a fault with the tester or the controller.

Buttons report both a pressed state and an analog value between 0 and 1, which matters for triggers: a shoulder button is usually a hard on-or-off, but a trigger you can squeeze partway will show a value that rises smoothly as you pull it rather than snapping straight to 1. Sticks report as pairs of axis values from -1 to 1, one for each direction, plotted here as a dot inside a box so a full circular sweep should trace a full circle, not an oval cut short in one direction.

Most controllers report through the "standard" Gamepad mapping, a common layout the API defines so pages do not need per-controller code, and this is what the button labels assume. A controller without that mapping still sends everything, just potentially in a different order, which is why position and live response matter more than trusting a label outright when something looks off. Vibration, where supported, is requested through a separate haptics API and depends on both the browser and the specific controller implementing it.

How to use this Gamepad Tester

1

Connect and press a button

Plug in or pair your controller, then press any button — browsers only detect it after the first input.

2

Work through every input

Press each face button, bumper, and trigger, and move both sticks to their full range in every direction.

3

Check the live values

A working button lights up instantly and a stick’s dot returns to dead center the moment you let go.

Frequently Asked Questions

Why does nothing show up when I connect my controller?
Browsers only report a gamepad after it receives at least one button press or stick movement, as a privacy measure against silently fingerprinting connected hardware. Press any button once and it should appear immediately.
Why do the button labels not match my controller?
The labels assume the "standard" Gamepad API mapping, which most modern USB and Bluetooth controllers follow. A controller reporting a non-standard mapping still sends all its inputs, but the button order may not line up with the labels shown, so go by position and by what lights up as you press.
What do the stick dots and bars represent?
Each analog stick reports two axis values from -1 to 1 for its horizontal and vertical position, shown here as a dot inside a box. Triggers are usually a single axis or a button value from 0 to 1, shown as a fill bar, depending on how your specific controller reports them.
Why does a stick show a tiny offset from center at rest?
Analog sticks rarely return to a perfectly mathematical zero, so a small resting offset is normal wear and not necessarily a fault. A significant, consistent pull to one side that affects gameplay is what indicates stick drift worth investigating.
Does the vibration test work on every controller?
No. Vibration requires both browser support for the Gamepad Haptics API and a controller with a vibration motor the browser can address, so some controller and browser combinations will show it as unsupported even on hardware that does vibrate in games.
Can I test a controller connected to my phone?
Yes, if your mobile browser supports the Gamepad API and the controller is paired at the operating system level. Support varies more on mobile than desktop, so if nothing appears, try a different browser.
Does this work with keyboards or racing wheels?
Any device the operating system and browser expose through the Gamepad API can show up here, which often includes wheels and other specialty controllers, though their axis and button layout may look unusual compared with a standard pad.

Related Tools

The Gamepad Tester is maintained by CodeItBro. We aim to provide the best free developer tools on the web. If you have feedback or suggestions, please visit our contact page.

Comments

Questions, corrections, and useful tips are welcome. Comments are reviewed before publication.

Loading comments...

Comments are stored and moderated using Cusdis Cloud. Email is optional. Privacy Policy

As featured on

CodeItBro - Free dev tools + practical guides to help you ship faster | Product HuntCodeItBro - Free Online Developer Tools badgeCodeItBro badge