How to use
Connect the controller over USB or Bluetooth, keep this page open and press any button. Browsers do not expose a controller until you press something on the page.
Check the ID, mapping (standard or not), button and axis counts under “Connected controllers”, then see pressed buttons and analog values in the diagram and the table. Switch between Xbox and PlayStation labels.
To check drift, take your hands off both sticks and press “Measure for 3 s”. The largest and average offset from the centre while untouched are shown.
To see the circle shape, press “Start recording” and roll each stick slowly around its rim once or twice. Roundness (shortest radius ÷ longest radius) and the part of the rim reached are shown.
“Input update interval” estimates the polling interval while you keep moving a stick. If vibration is supported, “Vibrate” lets you check the motors.
What it does
Drift as numbers
Collects both sticks for 3 seconds and shows the largest offset, the average offset and the average direction from the centre (0–1) while untouched. The label uses the 95th percentile (so one spiky frame does not count): under 0.05, under 0.15 or more; 0.5 or more is flagged as “probably touched” so you can retry.
Circle shape (roundness)
Splits the rim path (magnitude 0.85 or more) into 36 directions and reports the shortest ÷ longest of the per-direction maximum radius. If less than 70% of the rim was reached, it says so.
Diagram and table of every input
Standard-mapping controllers get a diagram with switchable Xbox / PlayStation labels showing presses, trigger analog values and stick positions, plus press counts and last-pressed times. Non-standard mappings can still be checked by raw button and axis numbers.
Estimated update interval
Estimates the update rate from the animation-frame polling interval and the median interval between value changes. It is not the controller’s own report rate.
Up to 4 controllers, connect and disconnect
Lists up to the 4 controllers browsers expose and logs connect and disconnect events. If nothing connects, a sample controller lets you explore the screen.
Use cases
- Check with numbers whether a stick moves a character or cursor by itself (drift)
- Confirm that a specific button or trigger on a PS5, PS4 or Xbox controller responds
- See whether the triggers (L2/R2, LT/RT) change smoothly from 0 to 1
- Inspect a second-hand or repaired controller without launching a game
- Find out why a controller with a non-standard mapping gets its buttons mixed up in games
Capability matrix
| Feature | Support | Notes |
|---|---|---|
| Live display of buttons, triggers and sticks | Supported | — |
| Drift measurement (offset while untouched) | Partial | A rough reading at the time of measurement; it cannot say whether the stick is faulty |
| Dead zone estimate | Partial | An estimate of a value that hides the offset; it differs from each game’s setting |
| Vibration test | Partial | Only browsers and controllers with vibrationActuator; may fail depending on browser, OS or connection |
| Input update interval | Partial | An estimate from browser polling; the controller’s own report rate (Hz) cannot be measured |
| Gyro, accelerometer, touchpad, adaptive triggers | Not supported | Not exposed by the Gamepad API |
| More than 4 controllers at once | Not supported | Browsers expose at most 4 |
Limits & notes
- By browser design a controller is not exposed until a button is pressed while this page is open. If it does not show up, press a button.
- The values you can read vary with browser, OS, connection (wired, Bluetooth, dongle) and driver. The same controller can report different button numbers or mappings.
- The drift numbers cover the 3 seconds while your hands were off the sticks. They alone cannot show that the controller is faulty.
- Roundness below 1 is normal for many controllers because their rim is squarish. Treat it as a rough guide.
- Browsers may stop reading input while the page is in the background.
- On phones, a controller may not be recognized, so a PC browser is recommended.
Privacy & safety
Controller input is only counted on this page — nothing is stored or sent, and results disappear when you close the page.
FAQ
My controller does not show up
How do I read the drift result?
Is the dead zone estimate the same as the game setting?
Can I test a PS5 controller?
The vibration test says it cannot be tried
Is anything sent anywhere?
Related tools
Mouse & Wheel Test
Test all five mouse buttons and the wheel, and automatically catch “chatter” — single clicks registering as double clicks. Double-click interval, wheel counts, polling rate (Hz) and drag breaks are measured in numbers.
Keyboard Test
Each key lights up on the on-screen keyboard as you press it, so dead keys stand out immediately. Supports US and Japanese JIS layouts with numpad, and measures maximum simultaneous keys and chatter (one press registering twice).
Webcam Test
Check your camera, its real resolution and frame rate in one click. If it doesn’t work, you’ll see the cause — permission, another app using it, not connected — and how to fix it. Nothing is recorded or uploaded.
Touch Screen Test
Draw touch trails and count the most fingers on the screen at once. Fill a grid to find areas that do not respond, and see pressure and contact size on devices that provide them. A mouse or pen works too.
Browser Inspector
A clear list of everything your browser shows to websites without asking — browser, OS, screen, language, GPU — plus support for 60+ features such as WebGPU and video codecs. Results are shown on the spot and never sent anywhere.
Microphone Test
Start the mic to see input level (dBFS), waveform and spectrum. Clipping, noise and mute are detected automatically, and a guided speak test rates whether your mic is good enough for meetings. Nothing is uploaded.
Last updated: