Input Analysis Console

Skip to content
Waiting for input
No gamepad detected.
0FPS
0Inputs
00:00Uptime
JOYCHECK · LIVE
Left stick
D-Pad
Poll rate
Latency
Calibration
Drift
Press any button on your controller to wake it up.
Controller Health No gamepad detected.
Drift not verified yet
API
Rumble
Mapping
Status
Face buttons
Right stick

Axis monitor

LX0.000
LY0.000
RX0.000
RY0.000

Trigger test

L2 0%
R2 0%

Vibration test

Device info

Name
Vendor ID
Product ID
Type
Mapping
Buttons · Axes

Browser support

  • ChromeSupported
  • EdgeSupported
  • FirefoxSupported
  • SafariLimited

Advanced diagnostics

Buttons

Controller diagram

Deadzone & response curve

0.10
0.10
0.10
0.10

Latency tester

Avg
Min
Max
Press A when prompted

Event log

    Input heatmap

    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0

    Keyboard

    Keyboard fallback active. WASD/Arrows for sticks, 1-4 face buttons, Q/E bumpers, Z/C triggers.

    WASD Left stick ↑↓←→ Right stick 1 2 3 4 Face buttons Q E Bumpers Z C Triggers Enter Start

    Gamepad · Controller · Joystick · Wheel

    The 30-second gamepad tester.

    Connect a controller. Every button, stick, trigger, and vibration motor is read in real-time. No download, no account, and your input never leaves the browser.

    • browser-side
    • no install
    • W3C Gamepad API

    Works best on desktop. Plug in a controller there.

    HOW IT WORKS

    How do you test a controller in 30 seconds?

    1. Plug in or pair

      Connect your controller by USB, or pair it over Bluetooth. Works the same on Windows, macOS and Linux.

    2. Press any button

      That wakes the browser's Gamepad API so JoyCheck can detect your pad.

    3. Read live values

      Watch every button, stick, trigger, and motor respond in real time.

    WHAT WE TEST

    What does JoyCheck test?

    JoyCheck is a browser-based gamepad tester and controller tester that reads six hardware areas in a single pass. 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.

    • 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 to 1.00 in real time.

    • Vibration

      Send rumble pulses to test both motors independently. Catches dead haptics, and confirms a firmware update actually restored them.

    • Polling rate

      Measured Hz from the actual input stream, covering the 125 Hz standard through the 1000 Hz and 8000 Hz modes on competitive pads. Compare against the manufacturer's spec.

    • Latency

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

    A note from the builder

    • 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 BamazaiFounder, Elites Algorithm

    NOT WORKING?

    Which controllers does JoyCheck support?

    JoyCheck supports every controller that exposes itself to the W3C Gamepad API, in Chrome, Edge, Firefox and Safari on Windows, macOS, Linux, Android and ChromeOS. That covers PlayStation DualSense and DualShock 4, Xbox Series and Xbox One pads, Nintendo Switch Pro and Joy-Con, and third-party Hall-effect and TMR 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, firmware-update checks and browser-permission steps for every major brand.

    BY CONSOLE

    Which controller are you testing?

    The all-in-one tester above reads every pad the browser can see. These four pages set the same engine up for one controller family each, with that family's own drift thresholds, its own connection quirks, and the repair path that actually applies to it. A resting value that is fine on an Xbox pad is close to failing on a Joy-Con, which is why the thresholds are not shared.

    DIAGNOSE & FIX

    How do you fix a drifting or broken controller?

    Once the tester shows you the numbers, these guides take you from diagnosis to repair: how stick drift actually works, which sensor upgrade ends it for good, and the platform-specific repair walkthroughs.

    CALIBRATE & SET UP

    How do you calibrate your controller?

    Each platform calibrates differently. These walkthroughs cover the PlayStation, Xbox, and PC paths, from Sony's re-zero menu to dead-zone tuning on the desktop.

    Frequently asked questions about browser-based gamepad testing

    What is a gamepad tester?

    A gamepad tester is a tool that reads the live input from your controller and shows every button, trigger, and analog stick reacting in real time, so you can confirm the hardware works and catch faults like stick drift or dead zones. JoyCheck is a free browser-based gamepad tester built on the W3C Gamepad API: plug in any controller, press a button, and your inputs appear instantly, with no install, no account, and no data leaving your device.

    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 / 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?

    Two different things are being measured. The live tester on this page samples once per animation frame, so its rate follows your display, usually 60 to 144 Hz. To read the controller's true update rate, use the dedicated controller polling rate test, which samples far faster and reports the real Hz, up to about 1000 Hz. Even then the figure is a floor, because the browser's input pipeline can cap what a page is allowed to observe.

    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 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.

    JoyCheck reads inputs through the W3C Gamepad API, the same browser-native interface every modern game, tool, and remapper sees. No install, no driver, no account. The controller’s input never leaves your machine.

    Source: W3C Gamepad API specification

    Test your controller in the browser

    No install, no account. Your inputs never leave your device.