Gamepad Tester
Connect one or more controllers, then choose which slot to inspect.
Waiting for gamepad…
Press any button on your controller to connect.
How the Gamepad Tester Works
This tool uses the Web Gamepad API built into modern browsers to read your controller's state in real time — no downloads, plugins, or drivers required. The moment you connect a controller and press a button, the browser reports every input:
- Buttons — digital on/off state plus analog pressure for triggers and shoulder buttons, updated every animation frame (~16 ms at 60 Hz).
- Analog sticks — two axes per stick with floating-point precision (−1.000 to +1.000), displayed as a 2D position plot and raw numeric readout.
- Triggers — continuous 0–100% pressure for LT/RT (axes 3 & 4 on most mappings, or buttons 6 & 7 with analog value).
- Haptics — the Vibration Actuator API lets us send a test pulse to verify rumble motors are functional.
All processing happens locally in your browser. No data leaves your device — ever.
If you're deciding between controller-testing tools, read HWProbe vs Gpadtester for a direct breakdown of speed, privacy, category breadth, and why HWProbe is built to win the category long term.
Step 1: Connect Your Controller
USB — plug the cable in. Most controllers are detected instantly.
Bluetooth — pair the controller in your operating system's Bluetooth settings first. For PS5 DualSense, hold PS + Create until the light bar flashes. For Xbox, hold the pairing button on top until the Xbox button flashes rapidly. For Switch Pro, hold the sync button until indicator lights cycle.
Step 2: Press Any Button
Browsers require a user gesture before exposing gamepad data (a privacy/security measure). Press any button on the controller — the tester will immediately detect it and display all inputs.
Step 3: Check Every Input
Systematically test each button, both analog sticks (push to all extremes and release to center), both triggers (slow full pull and release), and D-pad directions. The tester highlights active inputs in real time so you can spot dead buttons, sticky inputs, or incomplete ranges instantly.
Step 4: Test for Stick Drift
Leave both sticks completely untouched and observe the axis values. Healthy sticks read within ±0.02 of center. If you see persistent values above 0.03–0.05, your controller has drift. Compare left vs right stick to identify which one is affected.
Step 5: Test Vibration
If your browser supports haptics (Chrome/Edge), use the vibration test to send a pulse. You should feel a brief rumble. No vibration? Try a USB connection — Bluetooth haptics support varies by platform.
Supported Controllers
The Gamepad API uses a standard mapping that normalizes button positions across manufacturers. Any controller that follows this mapping works out of the box. Here's what we've tested:
Xbox Controllers
Xbox Series X|S — full support via USB-C, Bluetooth, and Xbox Wireless Adapter. All 17 buttons, 4 axes, and 4 vibration motors detected. Xbox One — identical support; original models require the Xbox Wireless Adapter for wireless (no Bluetooth). Xbox 360 — USB wired and wireless adapter supported; no Bluetooth. Xbox Elite Series 2 — all paddles and hair trigger locks detected; profiles switch on the controller hardware.
PlayStation Controllers
PS5 DualSense — full support via USB-C and Bluetooth. 17 buttons (including touchpad click), 4 axes, vibration via Vibration Actuator API. Adaptive trigger resistance is hardware-only (not readable via browser). PS4 DualShock 4 — full support via USB and Bluetooth. Touchpad click and motion bar color are detected. PS3 DualShock 3 — USB only (no Bluetooth pairing on modern OS without drivers); button detection works but mapping may be non-standard.
Nintendo Controllers
Switch Pro Controller — full support via USB-C and Bluetooth. All buttons and sticks detected; Home and Capture buttons may not register in all browsers. Joy-Con (individual) — each Joy-Con connects as a separate gamepad via Bluetooth with its own stick and button set. Joy-Con grip — functions as two separate gamepads. Motion controls (gyro/accelerometer) are not exposed by the Gamepad API.
Third-Party & Generic Controllers
8BitDo (Pro 2, SN30, Ultimate) — fully supported; set to X-input or D-input mode for standard mapping. Logitech (F310, F710) — supported in both D-input and X-input modes. SCUF, Astro C40, Razer Wolverine — supported as standard gamepads; custom button remaps are handled by the controller firmware. Generic USB gamepads — detected but may have non-standard button mapping; the tester shows raw button indices for these.
Troubleshooting
Controller Not Detected
- Press a button first. Browsers require user interaction before exposing gamepads — this is a security feature, not a bug.
- Try Chrome or Edge. They have the most complete Gamepad API implementation. Firefox works for basic testing. Safari has limited support.
- Disconnect and reconnect. Unplug USB or toggle Bluetooth off/on, then refresh the page and press a button.
- Check OS pairing. For Bluetooth controllers, ensure the controller appears as "Connected" in your OS Bluetooth settings before testing.
- macOS USB preference. On macOS, USB connections are significantly more reliable than Bluetooth for most controllers.
Buttons or Sticks Not Responding
- Non-standard mapping. Some third-party controllers don't follow the standard gamepad mapping. The tester still detects inputs — look at the raw button indices.
- Firmware update. Outdated controller firmware can cause detection issues. Update via the manufacturer's app (Xbox Accessories, PS5 system update, 8BitDo Ultimate Software).
- Driver conflict. On Windows, check Device Manager for duplicate or conflicting HID game controllers. Remove extras and restart.
Fixing Stick Drift
- Recalibrate. Use your OS or console's controller calibration tool to reset the center point.
- Compressed air. Blow compressed air around the base of the affected stick to dislodge debris.
- Contact cleaner. Apply isopropyl-based electronic contact cleaner (not WD-40) around the stick base while rotating it gently. This fixes approximately 60% of drift cases.
- Module replacement. If cleaning doesn't help, the analog stick module ($5–10 part) can be replaced with basic soldering skills, or sent for professional repair ($30–50).
- In-game deadzone. As a software workaround, increase the in-game deadzone setting to mask minor drift. Use the values from this tester to determine the minimum deadzone needed.
Vibration Not Working
- Browser support. Only Chrome and Edge support the Vibration Actuator API. Firefox and Safari do not support gamepad haptics.
- Use USB. Bluetooth haptics support is inconsistent across platforms. USB connections provide the most reliable vibration testing.
- Check controller settings. Some controllers (Xbox Elite, SCUF) have hardware vibration toggles or app settings that disable rumble.