Latency test
Measure how fast and how consistently your controller actually reports (its real rate, its jitter, and any dropped inputs), right in your browser. No install, no signup, and no limit on how much you test.
This measures how often your controller actually sends its state, and how stable that stream is. No reaction time involved: this is pure hardware and link quality. WebHID gives an exact reading; without it we fall back to the Gamepad API, which is capped by the browser's own sampling rate.
Press the button the instant the box turns green. Your absolute number is mostly your own reaction time, not your controller's latency. What is meaningful is the difference between two setups: run it wired, save the result, run it wireless, and compare. Aim for 30+ trials per setup before trusting a gap.
How does the test work?
There are two modes, and they measure genuinely different things. It's worth knowing which is which, because most "controller latency" tools online quietly conflate them.
1. Report rate & link health: a real measurement
This times the gap between successive reports coming out of your controller. No human is involved, so there's no reaction time to subtract: it's pure hardware and link quality. You get the actual reporting rate in Hz, the jitter (how much that interval wobbles), and a count of likely dropped reports.
If you grant access via WebHID, this is exact. WebHID is event-driven, delivering one event per real HID report. Without it we fall back to the Gamepad API, which the browser re-samples on its own schedule; that reading is capped by the browser's rate rather than your controller's, and the tool labels it as approximate rather than pretending otherwise.
Hold a button or move a stick. Many pads stop sending reports entirely when nothing changes. With an idle controller there is simply nothing to time.
2. Reaction comparison: a comparison, not a measurement
Press the button when the box turns green. Your absolute number here is mostly your own reaction time (150–250 ms is normal), not your controller's latency. We're explicit about this because it's the honest limit of any browser-based test: the page has no way to know when your finger physically moved, so it cannot separate you from the hardware.
What it is good for is a paired comparison. Run it wired, save the result, switch to wireless, run it again. Your reaction time is roughly a constant offset across both, so the difference carries real signal. The tool only flags a gap as meaningful once it exceeds the combined statistical noise of both runs. Otherwise it says "within noise" instead of handing you a number that looks authoritative but isn't.
How do I read my results?
Report rates have moved a lot. 1000 Hz is the normal baseline for a modern controller, not a premium figure. With overclocking (or natively, on a few pads) you can reach 8000 Hz.
| Report rate | What it usually means |
|---|---|
| 125 Hz | Older Bluetooth. Low by current standards. |
| 250–500 Hz | Older wired pad, or a conservative default. |
| 1000 Hz | The current baseline. Most modern controllers land here. |
| 2000–4000 Hz | High-rate territory: overclocked, or high-end native. |
| 8000 Hz | Top of the range. Overclocked, or one of the few pads doing it natively. |
- Jitter under 1 ms: a healthy, stable link. Above 5 ms: something is interfering.
- Any dropped reports on a cable: suspect the cable, the port, or a USB hub. On wireless, suspect distance or 2.4 GHz congestion.
- Reaction median 150–220 ms: normal, and dominated by you rather than the controller. Don't read it as hardware latency.
- A big reaction spread (±40 ms or more): usually you, not the pad: fatigue or distraction. Collect more trials before comparing setups.
Chasing a higher rate can make things worse
Above roughly 1000–2000 Hz, the limiting factor stops being the controller and becomes your PC: the USB controller, the driver, and how busy the CPU is. Pushing a pad to 8000 Hz on a host that can't sustain it produces dropped reports and jitter, and those are what actually make an overlay look choppy. Raw rate is not.
If the test reports a high rate together with dropped reports or high jitter, step the polling rate back down in your overclock tool (8000, then 4000, then 2000) and re-test until the drops disappear. The tool tells you this directly in its verdict when it sees that pattern.
One measurement caveat worth knowing: at very high rates the browser clock itself becomes the limit. performance.now() resolves to about 0.1 ms, while 8000 Hz means one report every 0.125 ms. At that point the tool switches to computing the rate over the whole run instead of per-interval, and reports jitter as n/a rather than printing rounding noise as if it were a measurement. The device-clock analysis below has no such limit. A DualSense timestamp resolves to about a third of a microsecond.
What can't a browser measure?
No browser tool can give you a true absolute controller latency figure, and it's worth being clear why: measuring it requires knowing when the button was physically pressed, and a web page has no access to that. It only knows when it observed the change.
That's why lab measurements use external hardware: a microcontroller that electrically shorts the button contacts and timestamps the moment, or a 1000 fps camera filming the pad and the screen together. They're buying a physical time reference that the browser fundamentally cannot have. Anything claiming a precise absolute hardware latency from a web page alone is measuring your reflexes and calling it hardware.
How do I lower my latency?
- Use a wired USB connection instead of Bluetooth/wireless when precision matters.
- Plug directly into the motherboard/console, not through a USB hub.
- Close background apps and browser tabs before testing or playing competitively.
- If you're troubleshooting an overlay specifically (not the raw controller), see our guide on fixing controller overlay lag. Overlay delay is usually a Browser Source setting, not the controller itself.
Turn your controller into a live, transparent input overlay for OBS or Streamlabs in a couple of minutes.
Build your overlayWhat affects controller latency?
- Wired or wireless: USB is consistently the fastest link. Bluetooth and 2.4 GHz wireless add a small, measurable delay.
- USB hubs: a cheap or unpowered hub can add polling delay compared with a direct port.
- Report rate: around 125 Hz over Bluetooth, 250 to 500 Hz over USB, and 1000 Hz on competitive controllers. A lower rate means more time between updates.
- Jitter: under 1 ms is a stable link, above 5 ms something interferes. Jitter, more than raw latency, is what makes an overlay look like it stutters.
- Background load: a busy CPU or a throttled browser tab can skew results regardless of the controller.
- The game itself: input buffering and frame pacing in the game often matter more to the feel than the controller does.
Is it controller lag or overlay lag?
If it is your stream overlay that looks late rather than the game, the fix is different and usually easier. It almost always comes from a Browser Source setting in OBS or Streamlabs, not from your controller.
What numbers should I expect?
| Report rate | Time between two reports | What it means |
|---|---|---|
| 125 Hz | 8 ms | A common default. Fine for most games. |
| 250 Hz | 4 ms | Noticeably tighter, especially in fast shooters. |
| 500 Hz | 2 ms | Typical of controllers built for competitive play. |
| 1000 Hz | 1 ms | The top end. Gains past this point are hard to feel. |
Jitter, the variation between reports, matters as much as the average. A few milliseconds is normal over wireless; regular spikes above 20 milliseconds point to interference or a weak battery.
Is a cable always faster?
A cable usually gives the steadiest timing. A 2.4 GHz adapter comes close, and Bluetooth tends to vary more. The honest answer depends on your controller: run the latency test once wired and once wireless, a few minutes each, and compare the average and the jitter. If wireless is close, keep it; if the jitter jumps, use the cable for ranked sessions.
How fast do common controllers report?
Figures vary with firmware, drivers and connection, so treat these as orders of magnitude and measure your own controller:
- Xbox controllers on the standard Windows driver are commonly measured around 125 Hz, whether wired or over Bluetooth.
- PlayStation controllers usually report faster over USB than over Bluetooth, with the DualShock 4 often measured around 250 Hz wired.
- Controllers sold for competitive play advertise 500 to 1000 Hz, generally over a cable or their own adapter.
A web page normally reads a controller once per displayed frame, which would hide anything faster than your screen. The latency test samples the controller in a separate loop, far more often than the display refreshes, so it can see report intervals that a normal page would miss.