Gamepad Tester
Test your controller inputs, check for stick drift, and set custom deadzones. Runs entirely in your browser.
Your browser doesn't support the Gamepad API. Try Chrome or Firefox.
You just tested your Gamepad Tester — Try Monitor Refresh Rate next →
What Is the Gamepad Tester?
The gamepad tester reads every input from your controller via the Web Gamepad API, mapping each connected device to an array of axes (floats between −1 and 1) and buttons (each with a pressed flag, touched flag, and analog value). The browser exposes a mapping string: 'standard' means the device follows the W3C standard XInput-style layout where index 0 is the bottom face button, 1 is right, 2 is left, 3 is top, axes 0–1 are the left stick, 2–3 are the right stick, and buttons 6–7 are the analog triggers. Controllers without a remapping driver report mapping: '' (empty) — typically older DirectInput devices like the DualShock 3, third-party clones, and many fight sticks. The tester also surfaces stick drift, the most common analog defect: worn potentiometers report movement when the stick is physically centered. A baseline capture stores a neutral reference snapshot, after which any axis deviation past your configured deadzone is flagged in real time.
How to Use the Gamepad Tester
Plug the controller in via USB or pair over Bluetooth, then press any button — Chromium and Safari only expose navigator.getGamepads() after a user gesture for fingerprinting protection. Once detected, axes and buttons populate live. Set the controller flat on a desk, hands off the sticks, and click Capture Baseline; the tester samples 120 frames to record the resting analog reading. Adjust the deadzone slider (typically 5–15%) to match what your game uses. Any analog motion outside that range past the baseline registers as drift. Use the live crosshair visualiser to spot small circular wandering that numbers alone can hide. If the controller reports vibrationActuator.playEffect, the Vibration Test panel lets you exercise the rumble motors with custom weak and strong magnitudes and durations — this is the modern dual-rumble API that replaces the older pulse(value, duration) interface and works on Chromium-based browsers.
Why Testing Your Controller Matters
Drift compounds invisibly. In FPS games, even 3% drift produces a steady aim creep that the muscle memory unconsciously corrects, raising the effective sensitivity required to hold the reticle still. In racing games, drift on the left stick biases the steering line; in 3D platformers it nudges the camera. Detecting drift early lets you raise in-game deadzones surgically — usually only on the affected axis — rather than blunting the whole stick. Beyond drift, the tester verifies button mapping when buying second-hand or after replacing thumbstick modules: a quick walk through every face button, shoulder, and trigger catches non-functioning contacts before you commit to a return window. Input streams stay in the local tab; the tester never round-trips analog data to a server, so testing borrowed controllers or shop loaners carries no privacy cost.
Frequently Asked Questions
What is stick drift?
Stick drift is when an analog stick registers movement without physical input. It's caused by worn potentiometers inside the controller.
What deadzone should I use?
A deadzone of 5–15% is typical for most games. Higher values mask drift but reduce precision in fine movements.
Does this tool require any software or account?
No. The Gamepad API runs entirely in your browser. No installs, accounts, or uploads required.
Use this tool inside a bigger workflow
These collections group follow-up tools and guides that commonly belong in the same job.
Browse same tags
Jump to other tools that share the same workflow, format, or use case.