Gamepad tester
See button presses and stick values from a connected controller.
Runs in this tab. The file stays here.
No gamepad detected. Connect one and press a button.
Live readout only — nothing is recorded or stored. This runs in your browser. Nothing is uploaded.
About Gamepad tester
Connect a controller and see live button and stick values from the browser Gamepad API. Nothing is sent anywhere.
This is useful for checking stick drift, a sticky button, or whether a controller is detected at all. Plug in or pair the controller, press any button, and a panel appears with the controller's id string, a Buttons line and an Axes line that update on every animation frame. Pressed buttons show as [index:value], untouched ones as a dot, so a trigger squeezed halfway shows as something like [7:0.5].
The readout is raw on purpose. There is no picture of a controller and no button names, only numeric indexes. On controllers using the browser's standard mapping, index 0 is the bottom face button and the sticks are the first four axes, but layouts differ between pads, consoles and browsers, so use the id string to see what the browser thinks it has. The Axes line lists each stick direction as a number from -1 to 1 with two decimals.
Browsers only report a gamepad after you press a button on it, which is a privacy rule and not a bug, so a freshly connected pad stays invisible until you press something. Drift shows up when a stick at rest reads away from 0.00, for example a steady 0.10 or more. Small values around 0.02 are normal noise; games apply a dead zone to hide it. Vibration, gyro and battery level are not shown, and the page cannot remap buttons.
How to use Gamepad tester
- 1Connect the controller by USB or Bluetooth.
- 2Press any button so the browser reports the device.
- 3Move the sticks and press buttons, watching the Buttons and Axes lines.
- 4Release everything and check that the axes return to about 0.00.
What it won't do
- Raw indexes and values only: no controller picture or button names.
- A button press is required before the browser reports a controller.
- No rumble, motion sensor, battery or remapping support.
Common questions
How do I check a controller for stick drift in the gamepad tester?
Leave the sticks untouched and read the Axes line. Values should sit within a few hundredths of 0.00. A steady reading of 0.10 or more on a resting stick suggests drift that games without a dead zone will notice.
Why does the gamepad tester say no gamepad is detected?
Browsers hide a gamepad until you press a button on it. Press one with the page in focus. If it still does not appear, reconnect it, close other apps that hold the device, or try a different cable or port.
Why are the buttons shown as numbers in the gamepad tester?
The page prints the raw index and value the Gamepad API reports, with no artwork or names. That keeps the readout accurate for any controller, but you have to map the numbers to buttons yourself.
Can the gamepad tester test rumble or the battery?
No. It reads buttons and axes only. Vibration, motion sensors and battery level are not displayed.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation