Advertisement

Gamepad Tester

Test your gamepad or controller in the browser. Connect it, press any button, and watch live button presses light up with analog stick axis values, perfect for spotting dead buttons and stick drift.

Controller test

Connect a gamepad, then press any button on it.

Buttons light up when pressed. Axis values should rest near 0.00.

Advertisement

How gamepad polling works

Browsers expose gamepads through the Gamepad API: navigator.getGamepads() returns connected controllers with their button states and analog stick axes. This tool polls that API every animation frame and lights up each button number as you press it, so you can verify every input registers.

Diagnosing controllers

Use it to diagnose faulty controllers: a button that never lights up is dead, a stick axis that never returns to 0.00 is drifting, and a button stuck lit is jammed. Standard mapping numbers buttons 0-16 (face, bumpers, sticks, d-pad) with axes 0-3 for the two sticks.

Gamepad Tester FAQs

Why is my gamepad not detected?
Browsers only expose a gamepad after you press a button on it, a privacy rule. Connect the controller, click Start polling, then press any button or move a stick.
What do the button numbers mean?
Standard mapping: 0-3 are the face buttons (A/B/X/Y on Xbox), 4-5 bumpers, 6-7 triggers, 8-9 start/select, 10-11 stick clicks, 12-15 the d-pad, 16 the home button.
How do I check for stick drift?
Watch the axis values with the stick centered. If an axis sits far from 0.00 without touching the stick, it is drifting. Small offsets under 0.10 are normal dead-zone noise.
Which controllers are supported?
Yes. Xbox, PlayStation, Switch Pro and most generic USB and Bluetooth controllers work through the Gamepad API in Chrome, Edge, Firefox and Safari.
Is my controller input recorded?
No. Everything is read locally from the browser Gamepad API. No input data is recorded or sent anywhere.
Advertisement