Gamepad Tester

Test a game controller's sticks and buttons.

Runs locally in your browser Report an issue
Live input No signup · local processing

Connect a controller and press a button

Plug in or pair a game controller, then press any button to wake it. Its sticks, triggers, and buttons will appear here and react as you use them.

Runs entirely in your browser

Test your game controller online

Connect a game controller over USB or Bluetooth, press a button to wake it, and this tester shows its inputs live. The two analog sticks appear as dots moving inside square pads, so you can check range and spot stick drift — a dot that creeps away from center when you are not touching the stick. The triggers show as pressure bars that fill as you squeeze, and every face, bumper, and D-pad button lights up with its index number when pressed, which is handy for finding a dead or sticky button. If your controller reports a vibration motor, the rumble test button plays a short effect so you can confirm force feedback works. It all runs through the browser's standard Gamepad API in your tab — no driver, no install, and no input is logged or uploaded. This tool needs a physical controller and a keyboard-and-mouse browser, so it is a desktop tool.

Common questions

My controller is plugged in but nothing shows. What do I do?

Press any button on the controller. Browsers only reveal a gamepad to the page after you interact with it (a privacy measure), so the tester stays on the empty state until the first button press or stick move wakes the connection.

How do I check for stick drift?

Let go of both sticks and watch the dots. On a healthy controller each dot rests dead-center. If a dot sits off-center or wanders on its own, that stick is drifting — a common wear problem that this test makes easy to see.

Why are the buttons shown as numbers?

The Gamepad API reports buttons by index, not by their printed labels, because mappings vary between controllers. The number is each button's index in the standard mapping; press a button to see which index it lights up, so you can confirm the hardware registers it.

The rumble button is greyed out. Why?

Rumble is only available when the controller and browser expose a vibration actuator. Some controllers, connection types (certain Bluetooth modes), or browsers do not report one, so the button is disabled when there is nothing to drive.

Is my controller input recorded or uploaded?

No. Inputs are read only to animate the sticks, bars, and buttons on screen in your browser. Nothing is logged, stored, or sent to a server — it works offline too.