Input Lag Test
Press a key, click or tap the test pad again and again. Each input is timestamped by your browser and matched to the screen frame that shows the change, so you get the real input-to-display delay in milliseconds with average, best, worst and jitter after many trials.
Last updated:
Each trial will appear here as a bar.
All trials
| # | Input | Event delay | Input → display | Frames |
|---|
Move your mouse, pen or finger quickly in circles over the area. The green ring is drawn at the latest position the browser knows on each frame. The distance between your real pointer and the ring is the motion lag you see on screen.
How to use the Input Lag Test
- Close heavy tabs and apps and keep this window on the monitor you want to test.
- Choose the number of trials (20 is a good default) and press Start test.
- Press Space or any key, click or tap the test pad at an irregular pace, about twice per second. Every input flips the pad color and records one trial.
- Read the results: average and median latency, best and worst trial, jitter, and the same values in frames.
- Compare setups: change refresh rate, Game Mode, V-Sync, a wired versus wireless mouse or another browser, then run the test again.
How the input lag is measured
Every keyboard, mouse, pen or touch event carries a high-resolution timestamp from the moment the browser received it. When you press, the test flips the color of the pad and asks the browser for the next animation frames. The change is drawn in the first frame and handed to the display at the start of the following frame, so the test records:
input lag = time of the frame that shows the change − event timestamp
The event delay part (event timestamp to the moment the page could react) shows how long the input waited because the browser was busy. The rest is waiting for the next refresh and rendering. Because your presses land at random points within a frame, the average sits between one and two frame times on a responsive system, and the spread between trials (jitter) is normally a fraction of a frame.
Best possible browser input lag by refresh rate
| Refresh rate | Frame time | Ideal range (1 to 2 frames) |
|---|---|---|
| 60 Hz | 16.7 ms | 16.7 to 33.3 ms |
| 75 Hz | 13.3 ms | 13.3 to 26.7 ms |
| 120 Hz | 8.3 ms | 8.3 to 16.7 ms |
| 144 Hz | 6.9 ms | 6.9 to 13.9 ms |
| 165 Hz | 6.1 ms | 6.1 to 12.1 ms |
| 240 Hz | 4.2 ms | 4.2 to 8.3 ms |
| 360 Hz | 2.8 ms | 2.8 to 5.6 ms |
Frame time = 1000 ÷ refresh rate. Browsers usually keep one extra frame of buffering in the compositor, so 2 to 3 frames is also common and still healthy.
What adds to the total lag you feel
- Input device: USB polling (8 ms at 125 Hz, 1 ms at 1000 Hz), wireless transmission and debounce time happen before the browser sees the event.
- Software: event queueing, V-Sync, triple buffering and frame rate limits add whole frames.
- Display: the monitor's signal processing (low in Game Mode, often high in TV picture modes) and the pixel response time come after the frame is sent.
This test covers the software part reliably. To compare monitors or TVs end to end, use a camera recording at 240 frames per second or more and count frames between a click and the change on screen.
Frequently asked questions
What exactly does this input lag test measure?
It measures the time from the moment your browser received the input event (the event timestamp set by the operating system and browser) until the screen frame that contains the color change is handed to the display. That covers input queueing in the browser, waiting for the next frame and rendering. It cannot see the USB polling delay before the event arrives or the monitor's own processing and pixel response after the frame is sent, so the real end-to-end lag is somewhat higher.
What is a good input lag result?
Because a change can only appear on the next refreshed frame, the best possible result is about one to two frame times: roughly 17 to 33 ms at 60 Hz, 7 to 14 ms at 144 Hz and 4 to 8 ms at 240 Hz. Results close to that range mean the browser is not adding delay. Results of four frames or more point to a busy computer, V-Sync style buffering or power saving.
Why is my result higher on a 60 Hz screen than on a 144 Hz screen?
Each frame on a 60 Hz screen lasts 16.7 ms, so waiting for the next frame and showing it takes longer than on a 144 Hz screen where each frame lasts 6.9 ms. Higher refresh rates cut input lag roughly in proportion to the frame time, which is one reason gamers prefer them.
What is jitter in the results?
Jitter is the standard deviation of all trials. Since inputs arrive at random points within a frame, some jitter of about a quarter to a third of a frame time is normal. Large jitter means the delay is unpredictable, often caused by background work, a wireless device with an unstable connection or power saving modes.
Can I test wireless versus wired mouse latency with this?
Partly. The test starts the clock when the browser receives the click, so differences in USB polling or wireless transmission before that are not included. You can still compare jitter and event delay. For true click-to-photon measurements you need a high-speed camera or a dedicated latency tester.
Why is the event delay sometimes high?
Event delay is the time between the input timestamp and the moment the page could run its handler. When the browser's main thread is busy (heavy tabs, extensions, a slow computer or battery saver), events wait in a queue. Values under 2 ms are normal; consistently higher values add directly to your input lag.
How can I reduce input lag?
Use the monitor's native refresh rate and enable its Game Mode, turn off motion smoothing on TVs, disable V-Sync or use a variable refresh rate (G-Sync or FreeSync) in games, use a wired or low-latency wireless mouse and keyboard with a high polling rate, close background apps and plug a laptop into power.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.