An input lag test for mouse, keyboard and controller
Input lag is the delay between pressing something and seeing the result. This input lag test changes the colour of a box the instant your click, key press or controller button reaches the browser, and times how long it takes until that change is on its way to the screen. Repeat it a few times and it reports the median, the spread and the refresh interval of your display.
It is upfront about what a browser can and cannot see. It measures from the moment the operating system hands your input to the browser, through the browser’s rendering, plus one refresh of your monitor. It cannot see inside your mouse or your display, so for a true click-to-photon number there is a step-by-step slow-motion video method with its own calculator.
How to test input lag
- Click or tap the box, press any key while it is focused, or press any button on a connected controller.
- Wait for the colour to change, then press again — ten or more tries give a steady median.
- Read the median estimated delay, the browser part and the frame interval of your display.
- Compare inputs: try the mouse, then the keyboard, then a controller, and look at the Input column.
- For the full chain, open the slow-motion section, film a few presses and enter the frames you counted.
Input Lag Test features
Three input types
Mouse and touch, keyboard, and controllers through the Gamepad API — each try is labelled.
Frame-accurate timing
Uses the input’s own timestamp and the start time of the frame that draws the change, on the same high-resolution clock.
Refresh measurement
Measures your display’s frame interval while you test and adds one refresh to the estimate.
Statistics and CSV
Median, average, fastest and slowest, standard deviation, and a CSV of every try.
Slow-motion calculator
Turns counted video frames into milliseconds, with the camera’s ± one-frame uncertainty.
What makes up input lag
Every press travels through a chain, and each link adds delay:
- The device: switch debounce and the polling interval — on average half of it (0.5 ms at 1,000 Hz, 4 ms at 125 Hz).
- The computer: the USB or Bluetooth stack, the operating system and the browser or game picking the input up.
- Rendering: the frame that reacts must be produced and queued — see the frame time calculator for how long a frame takes at your frame rate.
- The display: waiting for the next refresh, the monitor’s or TV’s own processing (often much higher in TV picture modes than in game mode), and the pixels’ response time.
What the browser measurement includes
The browser stamps each input with the time it received it. The tool changes the box immediately and reads the start time of the next animation frame — the frame that contains the change. That gap is the browser part. Because a frame is shown at the next refresh at the earliest, one frame interval is added for the estimate to screen. For controllers, the start is the time the browser last received data from the controller, and the press is noticed on the next frame.
Not included: the device’s own latency, the display’s processing and pixel response, and any extra frames the operating system’s compositor holds. Real end-to-end lag is therefore higher. The result is still useful for comparisons on the same machine — wired against wireless, browser against browser, or game mode on against off when the TV’s own processing changes.
The slow-motion method: full click-to-screen lag
A phone filming at 240 fps captures a frame every 4.2 ms. Film the mouse button and the screen together, then count frames from the press to the first visible change: lag = frames ÷ camera fps × 1000. Nine frames at 240 fps is 37.5 ms. The answer is accurate to about one camera frame, so average several presses. This covers everything, including the display. To check how fast you can react rather than how fast your setup responds, try the reaction time test.
Input Lag Test FAQ
How do I test input lag online?
Click, tap or press a key in the box of this input lag test several times. It shows the median delay to the next frame plus one refresh, and the variation between tries.
Can I test controller input lag?
Yes. Connect the controller, press a button so the browser detects it, then press any button for each try. Controller tries are labelled in the table.
Can this test my monitor’s input lag?
Only partly: it includes waiting for the refresh but not the monitor’s internal processing or pixel response. Use the slow-motion method for the monitor’s full contribution.
What is a good input lag?
Lower is better. In-browser results here are usually under one or two frame intervals; full click-to-screen lag measured on video is commonly a few tens of milliseconds, depending on the device, frame rate and display.
Why do my results vary between tries?
Your press lands at a random point within the refresh cycle, so delays naturally spread over about one frame interval. That is why the median of many tries is shown.
Does a higher refresh rate reduce input lag?
Yes. A shorter refresh interval means less waiting for the next frame — 16.7 ms at 60 Hz, 6.9 ms at 144 Hz, 4.2 ms at 240 Hz.