Runs locally in your browser, no install

Free Online Controller Test & Gamepad Tester

Check buttons, stick drift, triggers and vibration for Xbox, PS5, PS4 and Switch, right in your browser. Nothing installed, nothing uploaded.

Run drift test
0Buttons detected
0Axes detected
NoneController
Waiting for input
+0.00, +0.00
+0.00, +0.00
0%
0%
16
Controller not connected
  1. Plug in via USB or pair your controller over Bluetooth from your system settings first.
  2. Click anywhere on this page, then press any button on the pad (A, X, Cross, or Home). Browsers hide gamepad data until you interact.
  3. Still nothing? Try a different USB cable or port, use Chrome or Edge, and disable Steam Input or DS4Windows if they are running.
  4. On Bluetooth, forget and re-pair the controller in your OS, then reload this page.
Need more help? Jump to Troubleshooting or read our setup guide.

Why Controller Test

Built like a bench tool, not a toy

Controller Test is designed for anyone who needs a fast, honest read on gamepad health: competitive players before a match, repair shops verifying a fix, and shoppers checking a used pad before they pay.

01

Nothing leaves your browser

All input is read via the standard W3C Gamepad API and processed entirely client-side. No account, no upload, no server round trip, no tracking of your button presses.

02

Works with anything HID

Xbox Series and One controllers, DualSense, DualShock 4, Switch Pro, Joy-Cons, 8BitDo, and generic USB or Bluetooth pads are all detected the same way.

03

One test, one page

Drift, buttons, triggers, vibration, latency and polling rate each get a focused page. Faster to load, easier to share with a repair tech or a seller.

Getting started

How to test a controller online

Four steps to a full health check. Takes about two minutes.

01

Connect your controller

Plug in via USB, or pair over Bluetooth from your system settings first.

  • USB: plug in and wait for the OS to recognize the device.
  • Bluetooth: pair in system settings before opening this page.
  • Browsers require a physical button press before exposing input data. This is a privacy feature, not a bug.
02

Wake the Gamepad API

Press any button on the controller once connected.

  • The status pill switches to Live once detected.
  • Controller name and axis/button counts appear automatically.
03

Run the specific test you need

Use the hero panel for a quick check, or open a dedicated tool page for a deeper look at one subsystem.

04

Read the result and act on it

Each tool page explains what a healthy reading looks like versus a faulty one, and links to a fix.

Reference

Controller glossary

Stick drift
An analog stick reports movement while physically at rest, usually from potentiometer wear or dust in the housing.
Dead zone
A small radius around center where stick movement is deliberately ignored to mask minor drift in software.
Polling rate
How often the controller reports its state to the host, in Hz. Bluetooth typically runs 125 to 250 Hz; wired can reach 500 to 1000 Hz.
Hall effect stick
An analog stick that senses magnetic field instead of physical contact, which mostly eliminates drift over its lifetime.
Input latency
The delay between a physical press and the host registering it. Affected by connection type, polling rate and processing overhead.
Circularity error
How far a stick's full-range trace deviates from a perfect circle, which affects diagonal aim precision.
SOCD
Simultaneous Opposing Cardinal Directions. When both left and right (or up and down) fire at once, SOCD cleaning resolves them to a single output.
HD Rumble
Nintendo's high-resolution haptic system in Joy-Con and Switch Pro controllers. Basic rumble works via the browser vibration actuator; full waveforms need a native driver.
Fix it

Troubleshooting

Work through these in order. They resolve the large majority of not detected and dropped input reports.

Controller not detected
Refresh the page, then press a button on the controller. Pads connected before the page loaded often do not trigger the API until you interact with them again.
Detected but no input
Check the browser's gamepad permission was not previously denied, try a different USB cable (not all USB-C cables carry data), and confirm Bluetooth pairing finished in your OS settings, not just this page.
Vibration test does nothing
Use Chrome or Edge for full haptics support. Firefox often lacks the vibration API, and some generic USB pads never expose rumble motors to the browser even if they vibrate in native games.
Stick reads non-zero at rest
That is drift. Under 0.05 is safe and usually masked by in-game dead zones. 0.05 to 0.15 is minor; try recalibrating or cleaning around the stick base with compressed air. Above 0.15 usually needs a module replacement.
Random disconnects
Charge the controller fully. Low battery is the most common cause. Then try a different USB port, or re-pair Bluetooth from scratch instead of reconnecting.
FAQ

Frequently asked questions

Is this controller tester really free?+
Yes. Every test on this site is free with no account, no download, and no time limit. It runs entirely on the standard browser Gamepad API and WebHID.
Why isn't my controller being detected?+
Browsers only expose gamepad data after a physical button press, for privacy reasons. Connect your pad, then press any button such as A or Cross to activate detection.
Is any of my input data sent to a server?+
No. Button presses, stick positions and trigger values are all read and processed locally in JavaScript. Nothing about your controller usage is transmitted anywhere.
Does this work on mobile?+
Yes with a connected controller. Android works over Chrome with a USB-OTG or Bluetooth pad. iOS and iPadOS support MFi-certified and many Bluetooth controllers in Safari 16.4 and newer.
Can this fix stick drift?+
The tester diagnoses drift, it does not repair it. Minor drift is usually solvable with a larger in-game dead zone or a clean around the stick base. Severe drift typically needs a hardware module replacement or a hall-effect swap.
Does it support PS5 adaptive trigger resistance?+
The standard Gamepad API can read DualSense trigger travel from 0 to 100 percent, but it cannot send force-feedback commands to control adaptive resistance. That requires WebHID output reports.
Which browsers work best?+
Chrome and Edge on desktop expose the fullest API surface including WebHID and vibrationActuator. Firefox works for the basic Gamepad API but lacks WebHID and reliable vibration. Safari supports the Gamepad API on macOS and iOS 16.4 or newer.

Your controller is already plugged in.

Run the full check now. It takes about two minutes.

Start testing