Polling Rate Test — measure controller Hz online
A polling rate test measures how often your controller reports state to your computer, expressed in Hz. Our free browser-based tester reads the Gamepad API’s pad.timestamp values during 10 seconds of continuous stick movement, then computes median report intervals to derive Hz. Verdict is benchmarked against your controller’s expected spec — 125Hz for Xbox, 250Hz for DualSense USB, 1000Hz for premium pads like 8BitDo Ultimate 2 and GuliKit KK3 Max.
How the polling rate test works
Connect your controller
Plug in via USB or pair over Bluetooth, then press any button. The test detects the controller’s id string to determine its expected polling rate.
Rotate the left stick continuously
The Gamepad API exposes pad.timestamp — a high-resolution timestamp that updates each time the controller pushes a new HID report. Movement is required because most browsers only forward state-change updates, not idle reports.
Capture 10 seconds of samples
During the sampling window the tester records every distinct timestamp value. A 1000Hz controller produces up to 10,000 samples; a 60Hz controller produces 600. Continuous motion keeps the stream flowing.
Compute median interval
Inter-sample deltas are sorted, the median taken, then Hz = 1000 / median_ms. Median is used instead of mean because USB and Bluetooth subsystems produce occasional gaps that would skew an arithmetic average.
Compare against spec
If your controller is recognized — DualSense, Xbox, Switch Pro, 8BitDo, GuliKit, Razer, Flydigi — the verdict compares the measured rate against the manufacturer’s spec. Unknown controllers use absolute thresholds (≥250Hz healthy, ≥125Hz acceptable, ≥60Hz warning).
What the verdict means
Verdicts are relative to your controller’s expected polling rate when detectable. Stability is reported separately and measures inter-sample jitter as IQR over median.
| Verdict | Trigger | What It Means |
|---|---|---|
| At Spec | Measured ≥ 90% of expected | Polling subsystem is healthy. Controller reports at or near its rated Hz with consistent timing. |
| Below Spec | 70–90% of expected | Mildly below rated rate. Usually caused by Bluetooth interference, USB cable issues, or background driver activity. Try a different USB port or 2.4GHz dongle if available. |
| Significantly Below | 40–70% of expected | Polling is reduced enough to be felt in competitive play. Check for driver issues, USB hub contention, or wireless distance. Premium pads sometimes throttle on low battery. |
| Severely Throttled | Below 40% of expected | Polling is broken — typically a driver fault, OS-level throttling, or browser-imposed cap (your monitor refresh rate). See the browser frame rate disclosure to distinguish a hardware issue from a browser limitation. |
Compatible devices
The polling rate test works with any controller exposed via the Gamepad API. Controllers below are recognized for spec-relative verdicts:
Common troubleshooting guides
Related diagnostics
Polling Rate questions
Polling rate is how often your controller sends a state update to your computer, measured in Hz. A 125Hz controller sends 125 reports per second — roughly one every 8ms. A 1000Hz controller sends 1000 reports per second — roughly one every 1ms. Higher polling rate means lower input latency and finer-grained motion tracking, which matters for competitive gaming and racing simulators.
Standard rates depend on the controller and connection. Xbox controllers poll at 125Hz over USB and Bluetooth. PS5 DualSense polls at 250Hz over USB and 125Hz over Bluetooth. Nintendo Switch Pro polls at 125Hz over USB and 60Hz over Bluetooth. Premium gaming pads — 8BitDo Ultimate 2, GuliKit KK3 Max, Razer Wolverine V3 Pro, Flydigi Apex 4 — advertise 1000Hz over their proprietary 2.4GHz dongles.
This is a browser limitation, not a hardware fault. Browsers expose the Gamepad API on a per-frame basis tied to your monitor refresh rate. On a 60Hz monitor, the browser will only forward state changes 60 times per second, capping observable polling at 60Hz even if the controller is reporting at 1000Hz internally. The browser frame rate disclosure in the result distinguishes browser caps from hardware throttling.
In competitive shooters and racing sims, the difference between 125Hz and 1000Hz is detectable but small — roughly 7ms of latency reduction in the best case. For casual play, 125Hz is more than sufficient. The bigger gains come from reducing radio latency on wireless connections, which is why premium pads pair 1000Hz polling with low-latency 2.4GHz dongles rather than relying on Bluetooth.
Bluetooth uses time-division multiplexing and shares spectrum with WiFi, mice, keyboards, and other peripherals. The protocol enforces minimum connection intervals (typically 7.5ms, which caps at ~133Hz) and packets can be delayed by interference. Wireless 2.4GHz dongles bypass this by using dedicated radio protocols, which is how premium pads achieve 1000Hz wirelessly.
For most users, yes. A controller polling at a consistent 250Hz feels smoother than one polling at an average 500Hz with high jitter. Our test reports stability as the interquartile range divided by the median — values below 15% are consistent, above 35% are noticeably jittery. Jitter is often caused by USB hub contention, bluetooth interference, or driver issues.
Browsers only forward gamepad state when something changes. A perfectly still controller produces no state updates, so there’s nothing to measure intervals from. Continuous stick rotation guarantees a steady stream of state changes that the Gamepad API will surface as timestamp updates, letting us derive accurate inter-poll intervals.
Hardware polling rate is fixed by the controller’s firmware and cannot be increased on most pads. Some premium controllers ship with companion software that exposes a polling rate setting — 8BitDo Ultimate Software and GuliKit Studio both expose 125/500/1000Hz toggles. For other controllers, the only way to increase polling rate is to upgrade to a higher-spec model.
How we measure polling rate
Built on the Gamepad API specification. Uses pad.timestamp deltas with median + IQR statistics. Browser frame rate disclosed alongside results to distinguish hardware throttling from browser caps. Methodology published by GPADLAB Engineering.
Run the full Controller Health Score
This test is one of six diagnostics in the composite score. See how your controller stacks up overall.
Run the Benchmark