Gamepad · Controller · Joystick · Wheel

Test your gamepad. In 30 seconds.

Connect a controller. Every button, stick, trigger, and vibration motor is read in real-time. No download, no account, no telemetry.

browser-side · no install · W3C Gamepad API

Works best on desktop — plug in a controller there.

Updated on 2026-05-30 by Taimoor Bamazai, founder of Elites Algorithm Limited, a registered company in Dublin, Ireland, and the builder behind JoyCheck.

Your controller input never leaves your machine — no telemetry, no upload.

Skip to content
JoyCheck
Joy-Con-first controller diagnostics
0FPS
0Inputs
00:00Uptime
No gamepad detected.
100
Excellent
No drift
Press any button on your controller to wake it up.

Haptics

Plug in or pair your controller, then press any button.

Works with Xbox, PlayStation, Switch Pro, 8BitDo, Nintendo, Logitech, Thrustmaster, and generic HID. 100% browser-side. Nothing leaves your device.

How it works

How do you test a controller in 30 seconds?

  1. 1Plug in or pair. Connect your controller by USB, or pair it over Bluetooth.
  2. 2Press any button. That wakes the browser’s Gamepad API so JoyCheck can detect your pad.
  3. 3Read live values. Watch every button, stick, trigger, and motor respond in real time.

What we test

What does JoyCheck test?

JoyCheck tests six hardware areas in a single pass: buttons, analog sticks, triggers, vibration motors, polling rate, and end-to-end latency. The browser reads each input via the W3C Gamepad API at every animation frame, so you see live values rather than averaged or smoothed readings. The full pass takes under a minute and runs entirely on your machine.

Buttons

Every face button, bumper, shoulder, and menu key. Detect stuck inputs, double-clicks, and dead buttons.

Analog sticks

X/Y axis ranges, deadzone visualisation, and stick drift detection at 0.1% resolution.

Triggers

Analog pressure curves on L2/R2, ZL/ZR. Read 0.00 → 1.00 in real time.

Vibration

Send rumble pulses to test both motors independently. Catches dead haptics in seconds.

Polling rate

Measured Hz from the actual input stream. Compare against the manufacturer's spec.

Latency

Press-to-event roundtrip time. Useful for esports players checking competitive setups.

"Across years of hardware-diagnostic work on PC peripherals and game controllers, browser-based testing has caught roughly two-thirds of the faults that game-side settings would never have surfaced. The W3C Gamepad API reads what the controller is physically reporting, which is a different layer of truth than what any single game sees."

- Taimoor Bamazai, founder, Elites Algorithm Limited

Not working?

Which controllers does JoyCheck support?

JoyCheck supports every controller that exposes itself to the W3C Gamepad API. That covers PlayStation DualSense and DualShock 4, Xbox Series and Xbox One pads, Switch Pro and Joy-Con, and third-party Hall-effect controllers from 8BitDo and GuliKit. If your gamepad doesn't appear in the test, find your exact model below. We cover the pairing quirks, driver gotchas, and browser-permission steps for every major brand.

FAQs

Frequently asked questions about browser-based gamepad testing

The questions below come up most often after readers run their first JoyCheck pass. Each answer is short enough to scan, and every answer is based on the same W3C Gamepad API the test page itself uses. If your specific question is not covered here, the full controller-specific guides linked above go deeper on pairing, drivers, and platform-specific quirks.

Why does my gamepad need a button press to be detected?
Browsers don't expose connected gamepads until you press a button. This is a privacy and power-saving choice from the Gamepad API spec. Press any button on your controller after plugging it in.
Does this work over Bluetooth?
Yes. Most modern controllers (PS5 DualSense, Xbox Series X|S, Switch Pro, 8BitDo) work over Bluetooth in Chrome, Edge, and Firefox. Safari coverage is limited.
Is my controller data sent to your server?
No. Every input is processed entirely in your browser via the W3C Gamepad API. We don't run analytics or telemetry on inputs.
Why is the polling rate lower than the manufacturer claims?
Browser-reported polling is sampled at the requestAnimationFrame cadence (typically 60 to 144 Hz, depending on display). The hardware may poll higher, but the browser cannot expose more than that to the JavaScript layer.
Can I test on mobile?
Yes. Both iOS Safari 16+ and Android Chrome support the Gamepad API. Pair your controller in system settings, then return to this page.
What is the fastest way to confirm stick drift?
Open JoyCheck, set the controller flat on a table, hands off the sticks, and watch the X/Y axis readings for 30 seconds. Healthy sticks at rest read 0.00 ±0.02. A steady offset above ±0.05 confirms drift. Full diagnostic walkthrough in the stick drift explained guide.
Do I need to install anything to use JoyCheck?
No. JoyCheck runs entirely in your browser via the W3C Gamepad API. There is no installer, no driver download, and no account. Open the page, plug in your controller, press any button, and the live diagram appears within five seconds.

How it works · Privacy

How does JoyCheck read your controller, and is your data private?

You can test a game controller in the browser in under 30 seconds. No download, no installer, no account. Plug your controller in (or pair via Bluetooth), open this page, and press any button to wake it up. JoyCheck reads every press, stick position, trigger curve, touchpad swipe, gyroscope reading, and rumble motor on every animation frame via the W3C Gamepad API. Works on PS5 DualSense, PS4 DualShock 4, Xbox Series X|S, Xbox One, Switch Pro, Joy-Con, 8BitDo Pro 2, GuliKit KingKong 3, and generic XInput / DirectInput pads.