On this page
Gamepad Tester
Test controller buttons, analog thumbsticks, triggers, D-pad, and vibration online.
- Available — Live on this site right now.
- Browser Tool — Runs in the browser you are reading this in.
- No Install — Nothing to download, no extension, no account.
- Client-Side — Runs entirely on your device. No test data is uploaded.
- Desktop — Needs a physical keyboard or mouse to be useful.
This page explains the tool. The tool itself is one click away and needs no sign-in.
Open Gamepad TesterWhat is this tool?
The Gamepad Tester connects directly to the W3C Gamepad API exposed by your web browser (navigator.getGamepads).
It reads real hardware telemetry at up to 60 FPS using requestAnimationFrame polling. Zero simulated or fake inputs are generated.
The tool supports standard gamepads (Xbox, PlayStation DualSense/DualShock, Nintendo Switch Pro) as well as non-standard controllers, racing wheels, and flight sticks.
All controller polling and telemetry processing occurs strictly client-side inside your browser tab without transmitting input data to an external server.
How to use it
- Connect your controller via USB or BluetoothPair or plug in your game controller to your computer or mobile device.
- Press any controller button to activate browser detectionWeb browsers intentionally isolate gamepad discovery until a physical button press occurs to protect user privacy.
- Test each face button, bumper, and triggerPress every button and watch the visual controller light up while checking the dynamic button cards for pressure readings from 0.00 to 1.00.
- Rotate analog thumbsticks and verify full deflectionMove both left and right thumbsticks through full circular motions to verify linear X/Y coordinates and responsiveness.
- Run the 3-second Stick Drift CheckLet both thumbsticks rest at center and click Start Drift Check to measure resting coordinate tolerance and deviation.
- Test vibration actuators where supportedClick Test Vibration to send a controlled rumble pulse if your browser and controller hardware expose the Gamepad Vibration Actuator API.
What the results mean
Visual Controller Preview
Renders real-time highlighting on controller buttons, live thumbstick puck translations, and trigger travel depths directly from browser hardware events.
Dynamic Button Grid & Monitor
Displays individual button states, pressure values, and raw input table logs for standard and non-standard gamepad mappings.
Analog Coordinates & Deadzone Ring
Provides high-precision floating point X and Y axis coordinates (-1.000 to +1.000) alongside a user-configurable visual deadzone threshold ring.
Stick Drift Observation
Calculates observed min, max, and average resting displacement without subjective or misleading defect labels.
Tips
- If your controller is connected but does not appear on screen, tap the A, B, or shoulder button once to dispatch the initial browser gamepad event.
- Standard gamepads have natural mechanical tolerances between 0.01 and 0.06 at center rest; modern games automatically apply software deadzones to absorb this.
- Vibration testing requires browser actuator support, which is currently supported primarily in Chromium-based browsers on Windows and macOS.
Troubleshooting
Why is no controller detected after plugging it in?
Browsers require a physical button press on the controller before they make gamepad data available to the web page. Ensure your operating system recognizes the controller and press any button.
Why does my controller show non-standard button names?
Controllers without standard W3C driver mappings are displayed with raw indices (Button 0, Button 1, etc.) to ensure 100% accurate data representation without forcing false labels.
Why does the vibration test say Not Available?
Vibration is only enabled when the browser exposes the Gamepad VibrationActuator API. If the operating system or browser driver does not expose rumble actuators, the tool faithfully reports it as unavailable.
Ready to run it?
Test controller buttons, analog thumbsticks, triggers, D-pad, and vibration online. Nothing to install, and it opens in this browser.