Gamepad Latency Test

The Gamepad Latency Test measures how fast your controller reacts when you move a stick or push a button. The time lag between your action and what appears on screen is known as latency. Games may feel sluggish or unresponsive if the delay is excessive. This test allows you to see your controller’s response time in real time, which can help you determine whether it’s operating smoothly or if there is a lag issue. No downloads are required; simply connect your gamepad and begin testing.

Test Controls

Lower = more accurate but higher CPU usage. 16 ms ≈ 60Hz.
Ignore repeated presses within this window to avoid double-counting single physical presses.

Live Readouts & Stats

Last Latency
— ms
Poll Interval
— ms
Samples:
0
Min (ms):
Avg (ms):
Max (ms):
Last ts: —
Note: Uses browser-reported timestamps (if available).

This Gamepad Latency Test provides an estimate only. You can also try our Gamepad Tester to check overall controller responsiveness. It runs inside your web browser and uses the Gamepad API along with the browser-supplied gamepad. Timestamp (when available) and sampling logic to estimate how quickly controller input reaches the page. It does not measure total input-to-screen latency. Measuring true end-to-end latency requires external hardware like high-speed cameras or photodiodes. Results can vary based on:

  • Controller model
  • Operating system
  • Browser
  • CPU load
  • USB vs Bluetooth connection
  • Power-saving settings

Use these results to compare setups (for example: wired vs wireless, different browsers, or different controllers), not as an absolute hardware benchmark. Input latency is critical for competitive gaming and any experience where timing and precision matter. This guide explains what latency is, where it comes from, how this tool measures it, how to test properly, and how to reduce delays. Each section is designed to be easy to read and practical to use.

Input latency (also called input lag) is the time delay between pressing a button or moving a stick and the moment the system reacts. It is measured in milliseconds (ms). For game controllers, this delay includes:

  • The controller is detecting the input.
  • Sending data via USB or Bluetooth.
  • OS and browser processing.
  • The application updating behavior or visuals.
  • Competitive gaming: Faster response improves accuracy and reaction time
  • Rhythm games: Timing must be precise for correct scoring
  • VR & motion-based apps: High latency breaks immersion and can cause discomfort
  • Sampling Rate: How often the controller reads the button and stick states.
  • Wireless Radios: Bluetooth adds encoding and transmission delays.
  • Power Saving: Wireless controllers may slow updates to save battery.
  • USB polling Interval: Faster polling means lower latency.
  • Bluetooth Stack: The OS may buffer or batch Bluetooth events.
  • Drivers: Input filtering or drivers can add small delays.
  • Gamepad API Polling: Browsers read controller data at set intervals
  • Event Loop Scheduling: JavaScript runs on the main thread; heavy tasks can delay input processing
  • Frame Rendering: Visual updates depend on requestAnimationFrame and screen refresh rate (e.g. 60Hz ≈ 16.67ms per frame)

When supported, gamepad.timestamp represents the moment the browser detected a controller state change. The tool calculates:

performance.now() − gamepad.timestamp

This estimates the delay between browser input detection and page processing. This method is widely used to estimate controller-to-browser latency.

The Gamepad API works by polling. This tool also tracks:

  • Poll interval: How often input is checked
  • Jitter: Variations in timing between polls

High jitter increases measurement noise, so the poll interval is shown to help interpret results.

  • If gamepad.timestamp is missing, the tool uses a fallback detection method, which is less accurate
  • Display latency (screen response time) cannot be measured
  • The earliest internal hardware sensing inside the controller is not visible
  • Use a wired USB connection for baseline testing.
  • Close heavy background apps.
  • Set sampleInterval to 8–16ms (16ms works well for 60Hz systems).
  1. Click Detect Controller
  2. Confirm your controller name appears
  3. Choose a test button (A / Cross is common)
  4. Click Start Test
  5. Press the button slowly and consistently (1–2 presses per second)
  6. Collect 30–100 samples
  7. Click Stop Test
  8. Review Min / Avg / Max latency
  • Below 16ms: Excellent, usually wired USB with high polling
  • 16 – 40ms: Normal for most systems
  • 40 – 100ms+: Bluetooth delays, driver buffering, or CPU load issues
  • Wired Xbox controllers perform best
  • Disable USB power saving on hubs
  • Test multiple browsers for best results
  • Some browsers show higher latency
  • Bluetooth latency varies widely
  • USB OTG usually improves response
  • Kernel and udev rules matter
  • Chromium-based browsers often perform best
  • Switch to wired USB
  • Close background apps
  • Try Chrome or Edge
  • Increase sampleInterval slightly
  • Disable CPU power-saving modes
  • Compare median instead of average
  • Use wired mode
  • Compare browsers
  • Results are still useful for comparisons
  • When using the Latency Test, it is recommended to use wired connections and modern browsers to minimize latency and enhance consistency.
  • Prefer Chrome or Edge
  • Close heavy apps
  • Disable USB and Bluetooth power saving
  • Run repeated tests
  • Use medians and percentiles (50th / 95th)
  • Log environment details with CSV exports
  • Avoid blocking the JavaScript main thread
  • Avoid extremely tight polling on low-power devices
  • Reboot and retest if the results look unstable
  • Let the system warm up before final testing

Get quick responses to frequently asked questions regarding the Gamepad Latency Test.

Gamepad input latency is the delay between pressing a button or moving a stick and the moment your system responds. It is measured in milliseconds (ms). Lower latency means faster and more accurate control.

No. This test provides a browser-based estimate, not a hardware-level measurement. It’s best used to compare setups (wired vs wireless, different browsers, or different controllers).

No. This tool measures controller-to-browser input delay only. Measuring full input-to-screen latency requires external hardware such as high-speed cameras or photodiodes.

Latency can vary for several reasons, including whether you are using a USB or Bluetooth connection, differences between browsers, high CPU load or background applications running on your device, power-saving settings that limit performance, and the controller’s firmware version or battery level. Because of these factors, small variations in latency are completely normal and usually not a cause for concern.

Under 16 ms is considered excellent performance, while 16-40 ms is normal for most setups and generally feels responsive during regular use. Values between 40-100 ms or higher can introduce a noticeable delay, which is often caused by Bluetooth connections or heavy system load. For competitive gaming or precision tasks, users usually aim for the lowest latency possible to ensure the quickest response time.

Some browsers or platforms do not fully support gamepad.timestamp. When this happens, the tool uses a fallback detection method, which is slightly less accurate but still useful for comparisons.

Yes, in most cases. Wired USB connections usually have lower and more stable latency compared to Bluetooth, which adds wireless transmission delays.

Chromium-based browsers like Google Chrome and Microsoft Edge generally provide the most consistent Gamepad API behavior. Firefox also works well, depending on the system.

Yes, Bluetooth latency can often be reduced by keeping the controller physically close to the device to maintain a stronger signal, disabling Bluetooth power-saving features that may slow communication, closing unnecessary background applications that consume system resources, and making sure both the controller firmware and the operating system drivers are fully updated. These small adjustments can noticeably improve responsiveness.

For the most accurate results, it is recommended to use a wired USB connection instead of Bluetooth, close any heavy background applications that might affect system performance, and press buttons at a steady and consistent pace of about one to two presses per second. It is also helpful to collect a sufficient number of sample typically between 30 & 100, and compare median values rather than relying on a single reading, as this provides a more reliable measurement.