Gamepad Tester

Test your game controller's buttons, triggers, sticks and stick drift live in your browser.

Checking for controllers…

Connect a controller and press any button on it.

Browsers hide gamepads until you press a button or move a stick — that first press is what wakes the pad up. Nothing is uploaded: the whole test runs on your device.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

This gamepad tester reads your controller straight from the browser's Gamepad API and redraws it about sixty times a second. Every button shows its pressed state and its analogue value from 0.00 to 1.00 — useful for triggers, which are analogue on most pads — and every axis shows its raw value from −1.00 to 1.00. In the standard mapping, axes 0 and 1 are the left stick and axes 2 and 3 are the right stick, with −1 meaning left or up. Buttons you press are remembered in the list at the bottom, so you can walk through the whole pad and spot a dead button instantly.

To check for stick drift, let go of both sticks and watch the dead-zone reading. A healthy stick sits within about 0.05 of centre; anything that stays outside your chosen dead zone while untouched is drifting. The dead-zone slider applies a radial dead zone (the stick's distance from centre must exceed the threshold), which is how most games handle it. Note that browsers only reveal a pad after you press a button on it, and that Chrome hides gamepads on pages served over plain HTTP.

Nothing is uploaded, stored or shared — the page never makes a network request, and the report you copy or download is generated on your device. No controller to hand? Tick "Demo pad" to drive a simulated standard gamepad with your keyboard and see how the readouts behave.

Frequently asked questions

How do I test my controller for stick drift?

Connect the pad, press a button so the browser reveals it, then let go of both sticks completely. Watch the dead-zone line: a healthy stick rests within about 0.05 of centre, so if a stick is reported as outside the dead zone while nobody is touching it, that is stick drift. Slide the dead-zone control up and down to see how far the stick would have to be ignored before the drift stops registering — a pad that needs more than about 0.15 is worn.

Why is my controller not detected in the browser?

Browsers deliberately hide gamepads until you press a button or move a stick on them, so a freshly plugged-in pad shows nothing until that first input. If it still does not appear, check that the page is on HTTPS (Chrome blocks the Gamepad API on plain HTTP), that the controller is in the right mode (an Xbox pad must be in Xinput mode, a DualSense in its default USB or Bluetooth mode), and that no other app such as Steam Input has grabbed it exclusively. Safari on iOS needs version 16 or later.

What do the button numbers and axis values mean?

They come from the W3C "standard" gamepad mapping: buttons 0–3 are A, B, X and Y (Cross, Circle, Square, Triangle), 4–7 are the shoulders and the analogue triggers, 8 and 9 are Back and Start, 10 and 11 are the stick clicks, 12–15 are the D-pad and 16 is the Guide button. Axes 0 and 1 are the left stick and axes 2 and 3 the right stick, each running from −1 (left or up) through 0 at centre to 1 (right or down). Triggers report a fractional value from 0.00 to 1.00 rather than just on or off.

Report a bug