Polling Rate Test

Browser-measured update rate. A floor, not a lab number
No controller detected
Run the test to get a reading

Connect a controller by USB or Bluetooth, then press any button to wake it.

Median interval
Mean interval
Jitter (½ IQR)
Updates captured
Movement gaps
Sampler speed

What this number is: how often your browser received a fresh state from the controller, from gamepad.timestamp deltas. It is a floor: the true hardware rate can be higher than the browser is allowed to see. It is not a certified hardware measurement.

Update rate · Median interval · Jitter · Wired vs Bluetooth

Test your controller's polling rate. Right in the browser.

A controller polling rate test times the gaps between your pad's state updates and reports the observed rate in Hz. JoyCheck reads the W3C Gamepad API's own timestamps for six seconds, so the number is measured, never guessed, and framed honestly as a floor. No install, no account, no telemetry.

  • browser-side
  • no install
  • W3C Gamepad API

Rotate a stick during the whole test. The pad only reports when its state changes.

HOW IT WORKS

How do you test controller polling rate in 60 seconds?

  1. Connect and wake it

    Plug in or pair the pad and press any button. The Gamepad API stays silent until a button or axis moves, so a single press wakes it and lets the test see the controller.

  2. Start, then keep moving

    Press Start and rotate one analog stick in slow circles. A controller only reports when its state changes, so continuous movement is what feeds the measurement for the full six seconds.

  3. Compare both connections

    Run the test wired, then again over Bluetooth on the same pad. Both runs face the same browser ceiling, so the gap between the two numbers is your connection's real cost.

READING THE RESULT

What does the polling rate test tell you?

The test reports the median rate at which your browser received fresh controller states, plus the jitter around it. These are working bands from our own diagnostic testing, not a manufacturer specification: the observed number is a floor, and the comparison between two runs on your own machine is where it gets decisive.

  • 850 Hz and above

    A high-rate pad on a clean wired link. That is top-tier timing, and nothing in the chain is holding your inputs back. Check the jitter stays low and enjoy it.

  • 100 to 500 Hz

    The healthy mainstream band. Around 125 Hz is the common wired USB class and is fine for most play; 250 Hz and up is comfortably quick for competitive sessions.

  • 45 to 100 Hz

    Typical of many Bluetooth links or browser pacing. Not broken, but retest wired: if the number jumps, the wireless link or the browser was the limiter, not the pad.

  • Below 45 Hz or irregular

    A struggling or unstable link. Re-pair the pad, move closer to the receiver, or go wired. A smeared histogram here matters more than the average number.

The JoyCheck controller tester family includes a controller polling rate test: connect a pad, rotate a stick for six seconds, and read how often your browser actually received a fresh state, timed straight from the W3C Gamepad API with nothing sent to a server.

Update rate in Hz · Median interval · Jitter · 6-second run · 6 min read

A controller polling rate test measures how often your pad reports its state, and a browser can time that directly. Every update the browser receives carries a timestamp[1], so the gaps between timestamps are the controller’s real update intervals as the page sees them. JoyCheck collects those gaps for six seconds and reports the median as an observed rate in Hz.

◆ VERIFIED

The W3C Gamepad specification defines a timestamp attribute on every gamepad object, recording the last time that pad’s data changed[1]. JoyCheck reads consecutive timestamps and measures the intervals between them, so every number on this page is an interval the browser genuinely observed. What no web page can do is see past the browser: if the browser itself receives updates less often than the hardware sends them, the page reads lower. That is why the result is a floor, never an inflated claim.

Source: W3C Gamepad specification

Updated on 2026-07-17 by Taimoor Bamazai, founder of Elites Algorithm Limited (a registered tech company in Dublin, Ireland) and the builder behind JoyCheck.

Key takeaways

  • Polling rate is how often a controller reports its state, in Hz; higher means the game sees your inputs sooner.
  • A browser times the real gaps between updates, so the result is an observed floor, not a guess and not a lab certification.
  • The most useful run is a comparison: the same pad wired and over Bluetooth, on your own machine.
  • Jitter matters as much as the headline number; a steady link beats a fast but unstable one.
  • You must keep a stick moving during the test, because a controller only sends updates when its state changes.

A game controller beside the JoyCheck readout during a controller polling rate test

How do you test controller polling rate in the browser?

You test polling rate by letting the page time the gaps between controller state updates while you keep the pad talking. Connect the controller, start the 6-second run, and rotate one analog stick in slow circles the whole time. The tool waits until movement is flowing, measures, then reports the observed Hz with the interval statistics behind it.

Run it as a routine, because the setup steps decide whether the measurement is valid.

  1. Connect and wake the pad. Plug in or pair the controller and press any button, since the Gamepad API stays silent until a button or axis moves.
  2. Start the test, then move. Press Start and rotate a stick continuously. The tool arms itself and only begins timing once updates are flowing.
  3. Keep the stick moving. A controller reports when its state changes, so a still pad sends nothing and the tool will warn you that the signal paused.
  4. Rerun on the other connection. Test once wired and once over Bluetooth, and compare the two results. That difference is your connection’s real cost.

The browser gamepad tester covers the rest of the pad, so the polling test slots into the same no-install checkup as buttons, sticks, and rumble.

What does the polling rate test actually tell you?

The test tells you how often your browser received a fresh state from the controller, as a median rate in Hz plus the spread around it. That is the number that matters for how quickly a browser game, an emulator, or remote play sees your inputs, and it is a floor for what the hardware itself is doing.

These are working bands from our own diagnostic testing, not a manufacturer specification, so treat them as a guide rather than a hard line.

Observed rateWhat it usually meansWhat to do
850 Hz and aboveA high-rate pad on a clean wired linkNothing, that is top-tier
190 to 500 HzA fast pad or a good low-latency linkNothing, comfortably quick
100 to 190 HzThe common wired USB class around 125 HzFine for most play
45 to 100 HzTypical of many Bluetooth links or browser pacingRetest wired and compare
Below 45 Hz or irregularA struggling link or heavy interferenceRewire, re-pair, or move closer

The histogram under the stats is the part worth reading twice. One tight peak means clean, regular timing. Two peaks or a smear means the link is delivering updates unevenly, and that inconsistency is what actually feels laggy in play, even when the average looks fine.

What is a good polling rate for gaming?

For most players, the common wired class around 125 Hz is genuinely fine, because at 8 milliseconds per update the controller is rarely the slowest link in the chain. Competitive players chase 250 to 1000 Hz pads for the last few milliseconds, and those gains are real but small: moving from 125 Hz to 1000 Hz saves at most about 7 milliseconds of worst-case wait.

Consistency is the number people underrate. A pad that holds a steady interval with low jitter feels more predictable than one that nominally polls faster but stutters, which is why the test reports jitter next to the rate instead of a lone headline figure.

Why does my controller show 60 Hz?

A 60 Hz reading almost always means something between the pad and the page is pacing the updates, not that the controller is faulty. The three usual suspects are a Bluetooth link running at a slow connection interval, a browser that refreshes gamepad state once per display frame, and deliberate timer rounding that some browsers apply for privacy.

Split them apart the practical way: retest wired in Chrome or Edge. If the number jumps, the pacing came from the wireless link or the browser, not the hardware. If a wired retest stays low and the pad also feels sluggish in games, the Bluetooth disconnect guide covers the wireless side, and a different cable or port is the next cheap experiment.

Can a browser really measure polling rate?

A browser can measure the update rate it actually receives, and it does so honestly if the tool frames it right. The Gamepad API updates each pad’s timestamp whenever fresh data arrives[2], and JoyCheck samples far faster than any pad reports, so the intervals it times are the API’s own, not an artifact of a slow loop.

What a page cannot see is the raw USB or Bluetooth traffic. A wired pad negotiates its report interval at the USB level[3], and the browser sits above that, free to consume updates at its own pace. So when the observed number is lower than a pad’s advertised rate, the honest reading is that the browser ceiling was reached, not that the pad failed. That is also why this test’s superpower is comparison on one machine: both runs face the same ceiling, so the wired versus Bluetooth gap is real.

What a browser polling test can and cannot do

A browser polling test can time real update intervals, expose a slow or unstable link, and put a measured number on the wired versus Bluetooth difference on your own setup. What it cannot do is certify a manufacturer’s Hz claim, see through the browser’s own input pipeline, or measure end-to-end input lag to your display, because those need hardware instruments.

Used inside those lines, it answers the question people actually have, which is whether this pad, on this connection, on this machine, is updating fast and steadily enough.

For the rest of the pad’s health, the stick drift test reads the analog sticks at rest, the deadzone tester shows the resting and edge band, the controller calibration tester checks center, range, and triggers, and the controller vibration test fires the rumble motors, so polling rate completes the full browser checkup.

Sources and references

  1. W3C Gamepad specification. The W3C standard defining the gamepad object, its timestamp attribute recording the last time the pad’s data was updated, and the user-gesture requirement browsers apply before exposing a connected gamepad to a page.

  2. MDN Web Docs: Gamepad.timestamp. Mozilla’s developer reference for the timestamp property, a high-resolution time value that increments when the gamepad’s state changes, which is the primitive this test measures intervals from.

  3. USB-IF Human Interface Device specifications. The USB HID specifications, under which an interrupt endpoint declares its polling interval, the mechanism that sets a wired controller’s report rate beneath everything the browser sees.

Frequently asked questions about controller polling rate

What is controller polling rate?

Polling rate is how often a controller reports its state, measured in Hz. A 125 Hz pad reports about every 8 milliseconds, and a 1000 Hz pad about every millisecond. A higher rate means the game sees your inputs sooner, which trims a few milliseconds of input lag.

How do I check my controller's polling rate?

Open a browser polling rate test, connect the controller, press a button to wake it, and rotate a stick continuously during the measurement. The tool times the gaps between state updates and reports the observed rate in Hz. For a certified hardware number you need a USB analyzer, but the browser test is enough to compare connections and spot a slow link.

Can a browser measure polling rate accurately?

A browser measures the rate at which it receives fresh controller states, which is a floor for the true hardware rate. The browser's own input pipeline and timer rounding can cap what a page observes, so a 1000 Hz pad can read lower. The number is real and repeatable on your machine, and it is ideal for comparing wired against Bluetooth, but it is not a lab certification.

What polling rate is good for gaming?

For most players 125 Hz, the common wired USB default, is fine: it adds at most about 8 milliseconds between updates. Competitive players chase 250 to 1000 Hz because every few milliseconds matter in fast shooters and fighters. Past 250 Hz the gains shrink quickly, and a stable link matters more than a peak number.

Does Bluetooth lower polling rate?

Often yes. A wireless link schedules transmissions in fixed windows, so many pads report less often or less regularly over Bluetooth than wired. The clean way to see the cost on your own setup is to run the same browser test twice, once wired and once over Bluetooth, and compare the observed Hz and jitter.

Why does my test show only 60 Hz?

A 60 Hz reading usually means something between the pad and the page is pacing updates, not that the controller is broken. Common causes are a Bluetooth link running at a slow interval, a browser that refreshes gamepad state once per display frame, or timer rounding. Retest wired in Chrome or Edge; if the number jumps, the pacing came from the connection or browser.

Is a higher polling rate always better?

No. Higher rates only help if the whole chain keeps up, and past 250 Hz the latency saved shrinks to a millisecond or two. Consistency usually matters more: a steady 125 Hz with low jitter feels better than a nominal 1000 Hz that stutters. Check the jitter and the interval histogram, not just the headline Hz.

Measure your controller's update rate in the browser

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