Gamepad Tester: Xbox, PS5, PS4 Buttons & Polling Rate
Test Xbox, PS5, PS4, Switch controllers: buttons, triggers, D-pad, polling rate, logs for stuck, double presses, and why your controller keeps disconnecting.
Updated 2026-09-01
Related Tools
Online Keyboard Test: Double Typing, NKRO, Chatter & Speed
Mouse Test Online: Double Click, Scroll, Polling Rate & CPS
Stick Drift Test: PS5, Xbox & Joy-Con Drift, Dead Zone
Vibration Test for Phone: Motor & Haptics Check Online
Mouse DPI Test: Measure Real DPI & Verify Sensitivity
FPS Mouse Sensitivity Converter — CS2, Valorant, Apex
Features
- Real-time button detection: all buttons light up instantly when pressed, with visual feedback for each button type
- Analog stick visualization: see X/Y axis values in real-time with a position indicator showing stick drift
- Trigger pressure display: analog trigger values shown as a bar (0-100%) for pressure-sensitive controllers
- D-pad detection: all four directions (up, down, left, right) tested with visual indicators
- Multi-controller support: test multiple gamepads simultaneously, each with its own display panel
- Event log with timing: every press and release is recorded with its hold duration, so double inputs and signal drops while holding are visible for you to diagnose
- Works with all controllers: PlayStation, Xbox, Nintendo Switch, Steam Controller, and generic USB/Bluetooth gamepads
- Dead zone visualization: shows the center dead zone area on the stick visualization, making it easy to spot when sticks drift outside the expected neutral range
- Live stick offset readout: real-time X/Y values and offset magnitude for both sticks, with a red drift alert the moment a stick rests outside the dead zone
- Button mapping diagnosis: every press shows which physical button the browser's standard mapping reports, exposing remapped, driver-bound, or stuck buttons
- Disconnect tracking: the connection status card plus stick and button freezes during use reveal intermittent signal loss, the first sign of a failing receiver or dying battery
- Connection status log: every connect and disconnect is recorded in the event log (green Connected / red Disconnected, with timestamps), so flickering drops show up as repeated disconnect-reconnect pairs you can count
How to Use
- 1Connect your gamepad via USB or Bluetooth to your device
- 2Press any button on the controller to activate the browser's Gamepad API
- 3The controller will appear in the tester with its name and button/axis count
- 4Press each button to see it light up and verify it works correctly
- 5Move the analog sticks to check X/Y axis values and detect any drift
- 6Squeeze the triggers to see pressure-sensitive values (if supported)
- 7Check the D-pad by pressing each direction
- 8Compare behavior across multiple controllers if you have more than one connected
- 9Release both analog sticks and check if the X/Y values return to exactly 0.00. Any deviation indicates stick drift that may worsen over time
- 10Watch the trigger pressure bars while squeezing triggers: analog triggers should show a smooth 0-100% range, while digital triggers only show 0 or 1
- 11Observe the axis sensitivity bars for each stick direction: uneven response may indicate physical damage or wear on the potentiometer
Frequently Asked Questions
Why doesn't my gamepad show up?
You must first interact with the gamepad (press a button or move a stick) before the browser will detect it. This is a security feature to prevent fingerprinting. Also ensure your controller is properly connected via USB or Bluetooth, and try a different browser if the issue persists.
What is stick drift?
Stick drift occurs when an analog stick's X/Y values don't return to exactly 0.0 when released. This is a common wear issue with controller sticks. In the tester, you can see this by releasing the sticks and checking if the values hover around 0.0 or deviate significantly.
Why do my buttons or triggers show different values on different controllers?
The Gamepad API uses a standard mapping when available, but not all controllers map identically. Two differences are common. Buttons: some controllers expose buttons the browser does not report (Guide, share, paddle buttons), so the count differs between pads. Triggers: analog triggers report a 0-100% pressure range (Xbox and PlayStation pads), while digital triggers on budget controllers only report 0 or 1; the 'mapping' field in the Gamepad object tells you whether the browser has remapped controls to a standard layout.
How do I fix stick drift on my controller?
Stick drift can sometimes be improved by: 1) Calibrating in your operating system (Windows has a USB gamepad calibration tool, and most consoles have a calibration menu). 2) Cleaning around the stick base with compressed air or isopropyl alcohol to remove debris. 3) Increasing the dead zone in game settings; this ignores small stick movements near center. 4) For severe drift, replace the potentiometer module (requires soldering skills) or the entire controller. Professional repair shops offer stick replacement services for Xbox and PlayStation controllers.
Why does my controller show fewer buttons than expected?
The Gamepad API reports the number of buttons the controller exposes through the standardized mapping. Some controllers have extra buttons that are only accessible through proprietary drivers or software and are not visible to the browser API. Additionally, some button combinations (like the Guide button) may be intercepted by the OS or controller firmware. The tester shows all buttons that the browser can detect; if physical buttons don't appear, they may require special software to function.
Can I test a controller on a mobile device?
Yes. Modern mobile browsers support the Gamepad API. Connect your controller via Bluetooth (most common) or USB-OTG adapter. Press any button to activate it. The tester works the same way as on desktop. iOS support for Gamepad API was added in iOS 14.5 and works with MFi-certified, Xbox, and PlayStation controllers. Android supports most USB and Bluetooth controllers natively.
Can this tester show my gamepad's polling rate?
Yes, press 'Connect for precise Hz' (Chrome/Edge) and the page reads the pad's raw HID report stream via WebHID. Every report the device sends arrives as an inputreport event, so the measured interval is the device's real polling cycle: over USB, 125/250/500/1000 Hz are common, and high-speed pads (2025-2026 models like GameSir Uranus 8K) report up to 8000 Hz (Bluetooth BLE caps out around 133 Hz). The pad must be connected in a mode WebHID can open: on Windows, official Xbox pads over USB or the wireless adapter use XInput and cannot be read from a browser, while third-party Xbox-compatible pads usually expose standard HID and work fine.
My Xbox pad shows only ~67 Hz. Is that right?
It can be: the Bluetooth BLE HID report interval varies by pad model and firmware, and the theoretical ceiling is about 133 Hz, because the minimum BLE connection interval is 7.5 ms. Xbox One pads commonly report ~67 Hz (15 ms interval). Readings above 133 Hz cannot come from a pure BLE report stream: if you see values like 160 Hz, they are measurement jitter or split-report artifacts, not a faster polling rate. The same logic applies to wired pads: a value like 1429 or 1667 Hz (0.6-0.7 ms intervals) matches no standard polling tier and means the pad firmware emits multiple HID reports per USB transaction, not a faster real polling cycle. Trust the sustained reading over a longer session, not the momentary value. Note the WebHID direct connection only works in Bluetooth HID mode; USB-wired and Wireless Adapter modes use XInput, which WebHID cannot see.
Why can't I find my gamepad when I press 'Connect for precise Hz'?
First verify the pad works in a game. Xbox controllers on Windows are often XInput-exclusive and will not be listed; try Bluetooth mode if the pad supports it. Connect the pad before pressing the button, keep it powered on, and prefer a USB cable (Bluetooth may deliver lower readings).
Why does my controller keep disconnecting?
Short drops that auto-recover are most often wireless interference, with low battery the second common cause: 2.4 GHz Wi-Fi, USB 3.0 ports, and distance all cause Bluetooth or 2.4 GHz packet loss, and Windows reports each loss as a disconnect even when it reconnects in under a second. Hardware failure normally shows as longer drops or failure to recover, but a worn receiver or aging battery can start with short drops too, so treat short drops as interference first, then suspect the battery if they repeat. Every drop loses input for its duration: on a 60 Hz game, a 300 ms drop is about 19 frames of missed input. The tester's event log records every connect and disconnect (green Connected / red Disconnected) with timestamps, so a flickering pad shows up as repeated disconnect-reconnect pairs you can count. Drops longer than 3 seconds are usually you powering the pad off or unplugging it; if drops repeat without you touching the pad, they may point to battery, cable, receiver, or driver problems. The browser only sees disconnect events, so it cannot tell mechanical, environmental, and system causes apart: work through them in order, try a different cable or port first (wired), then battery and receiver, then update the Bluetooth or USB driver and disable USB selective suspend. A pad that connects then disconnects repeatedly, or drops and won't reconnect until you press a button, is the same symptom class. Wired controllers have no interference concept, so any drop on USB is a cable, port, or power problem. If drops happen every few seconds or mid-game, move the receiver closer and away from USB 3.0 ports and Wi-Fi routers first.
Why does my controller keep disconnecting during testing?
Watch the connection status card while it happens. Common causes: a loose or worn USB cable (wiggle it during a test; if the status flickers, replace the cable), low batteries, Bluetooth interference from nearby 2.4 GHz Wi-Fi, USB hubs that share bandwidth, or the device's power-saving mode that sleeps idle USB devices. Try a different USB port directly on the computer, disable USB power saving, and keep the controller within about 10 meters of the receiver.
Why is my controller not working in games but works in this tester?
The tester reads the browser's standard Gamepad API, which games often bypass. Common causes: 1) The game expects XInput and your controller is in DirectInput mode; toggle the pad's mode button, or use a compatibility layer like Steam Input. 2) The game applies its own button mapping; check its controller settings. 3) Another program (launcher, recorder, mapping software like DS4Windows) holds exclusive access to the pad. 4) The game was started before the controller was connected; restart it. If the pad works here, the hardware is fine: the issue is software binding, not the controller.
Why is one of my buttons or sticks not working / unresponsive?
First confirm the failure here. If the button lights up in the tester, the hardware and connection are fine; the problem is in the game or driver mapping. If it does not light up: 1) test the same button with a different controller to rule out the game; 2) check for debris under the button or a stuck switch (mechanical controllers); 3) on wireless pads, a low battery causes intermittent misses before a full disconnect; 4) a button that never registers usually means a broken switch; most controllers can be opened and the switch replaced. Note that some buttons (Guide, share) are intercepted by the OS or firmware and never reach the browser.
Can this tester measure controller input lag or latency?
No, browser events arrive after the OS and driver have processed them, so any timing here is total system latency, not the controller's. Measuring true controller latency requires a high-speed camera: record the button press and the on-screen reaction, then compare frames. What this page does measure: every button, stick range, trigger travel, polling rate, and connection stability; the faults that actually cause a 'feels laggy' experience (wireless interference, low polling rate, failing receiver) are all visible here.
Is there a difference between testing over Bluetooth and wired USB?
For button and stick detection there is no difference; both connections report the same values. Bluetooth adds roughly 2-10 ms of latency and can occasionally drop input or disconnect briefly, which this tester helps you diagnose: a low or fluctuating polling rate over Bluetooth (about 67 Hz for Xbox pads) is normal, while wired USB usually reports higher. For competitive play, wired is recommended for the lowest latency. If stick values jump unexpectedly during a test, check whether Bluetooth interference (nearby 2.4 GHz Wi-Fi, USB 3.0 ports) is the cause.
Why can't I test vibration or rumble with this gamepad tester?
The browser Gamepad API exposes only buttons, axes, and triggers; it has no interface to read or drive a controller's vibration motors, so no browser-based tester, including this one, can measure rumble. To test vibration, use the controller's own software (Xbox Accessories app, DS4Windows) or a game with a test setting. This tool covers what the browser can see: buttons, sticks, triggers, D-pad, polling rate, and connection stability.
Why does my controller double input or cut out when I hold a button?
Both are switch faults, the same family as mouse double-click and keyboard chatter. Double input: one press registers two signals, so your character attacks or jumps twice; caused by a worn or dirty microswitch. Break contact: a held button briefly loses signal, so your character stops mid-move; caused by a failing switch contact or, on wireless pads, a dying battery. To check: press the button slowly and watch the event log; one press should record one down and one up; a double input shows two down/up pairs within a few frames of each other. Hold the button and look for a release event appearing mid-hold, which is break contact. Note the Gamepad API samples at display refresh rate (~60 Hz), so faults shorter than about 16 ms may be missed. Fixes: clean the switch with contact cleaner, or replace the microswitch; many controllers open easily.
Why is one of my buttons stuck or slow to release?
Hold the button, then release and watch the log. A healthy button records one down and one up. If the up event never appears or the hold duration keeps growing after you let go, the button's contact is not returning; it is physically stuck. This is a hardware issue: cleaning the contact or replacing the microswitch is the only fix.
Why won't my PS5 controller connect to this gamepad tester online?
The DualSense connects over Bluetooth or USB, but it must be in HID mode: first pair it (hold the PS and Create buttons until the light bar pulses), wake it up if it was bound to a console, then press any button on the page; the browser only detects a gamepad after a physical interaction. The PS4 DualShock 4 connects the same way. If nothing appears, try Chrome or Edge (best Gamepad API support) and confirm the pad is not still bound to your console.