How to Reduce Keyboard Input Lag

Ordered by how much each change actually matters — which means starting with the parts of the chain that have nothing to do with your keyboard.

Measure before and after a change

Published 15 August 2026 · Last updated 15 August 2026

Most of the delay between pressing a key and seeing something happen is not created by the keyboard. On a typical desktop the switch, the firmware and the USB link together account for a few milliseconds; the display, the graphics pipeline and the application usually account for considerably more. Fix them in that order.

The list below is ordered by expected impact, not by how easy each item is to change. Change one thing at a time and re-measure in between, or you will never know which change did anything.

Before you start

Take a baseline: run the browser keyboard latency test for at least 30 valid samples, then repeat after each change and load both into session comparison.

1. Raise your display refresh rate

Usually the biggest number in the chain, and the one people skip because it is not a keyboard setting. A display draws frames at a fixed cadence; your keystroke lands at an arbitrary point in it and waits half a frame on average before the frame that could show it even begins.

Frame interval and the average wait for the next frame boundary.
Refresh rateFrame intervalAverage wait
60 Hz16.7 ms8.3 ms
120 Hz8.3 ms4.2 ms
144 Hz6.9 ms3.5 ms
240 Hz4.2 ms2.1 ms

Going from 60 Hz to 144 Hz removes roughly 5 ms of average waiting, and removes it again at every buffered stage, so the felt difference is larger than the table suggests. Plenty of people own a high-refresh panel running at 60 Hz because a cable, a driver default or a dock set it there — check your display settings, and if the high rate is not offered, suspect the cable or the port before the monitor.

2. Stop frames from queueing in games

VSync makes an application wait for the display's next refresh before presenting a frame, costing up to a full frame. Drivers and engines may also prepare several frames ahead, adding one frame interval each. At 60 Hz that combination can reach 30–50 ms, dwarfing anything the keyboard does.

Cap your frame rate slightly below your refresh rate instead of running into the VSync wall, enable the driver's low-latency or anti-lag option to limit how many frames are queued ahead, and prefer variable refresh rate over plain VSync. A browser cannot see a game's render queue, so verify this one with the game's own latency readout or a driver overlay.

3. Choose the connection type deliberately

Wired is the most predictable rather than automatically the fastest. What matters is how often the device is allowed to report, and how much power saving it does between reports.

Ranges depend heavily on the specific device and host.
ConnectionRealistic costNotes
Wired USB About the report interval Predictable: 0.5 ms average at 1000 Hz.
Proprietary 2.4 GHz Close to wired on good receivers Power-saving and budget receivers sleep between reports, so they are slower and more variable.
Bluetooth Usually highest and most variable Host and device negotiate a connection interval often far longer than 1 ms, and power saving can let the device skip intervals.

If your board has a wired mode, plugging it in is the cheapest experiment on this page. With Bluetooth, the variability is often what you feel — the occasional slow keystroke rather than a uniform delay.

4. Set polling rate once, then stop thinking about it

Polling rate is how often the host asks the keyboard for a report. The interval is 1000 / rate milliseconds, and a keystroke landing at a random point inside it waits half of it on average.

At 125 Hz the interval is 8 ms, so a keystroke waits 4 ms on average and 8 ms at worst. At 1000 Hz those figures become 1 ms, 0.5 ms and 1 ms; at 8000 Hz, 0.125 ms and about 0.06 ms.

So 125 Hz to 1000 Hz saves about 3.5 ms on average and is worth doing. 1000 Hz to 8000 Hz saves at most about 0.44 ms — roughly one twentieth of a 60 Hz frame — while measurably raising CPU interrupt load. The polling rate calculator works this out for any rate.

One caution: the event cadence test reports how often your browser receives keyboard events. That is not a USB polling rate and cannot confirm one — see polling rate vs browser event cadence.

5. Take hubs, KVMs and docks out of the path

A plain powered hub normally costs little. Be suspicious of anything that does not simply pass reports along: KVM switches, some laptop docks and monitors with built-in USB switching often emulate a keyboard on the host side and re-package the reports. That adds delay, and more importantly it adds delay that varies. Test by plugging the keyboard straight into the computer — a rear motherboard port on a desktop — and re-running your baseline.

6. Cut background CPU load and fix power profiles

This is what the tests here measure most directly: the flagship measurement is the gap between the browser creating a keyboard event and your page's JavaScript receiving it, and anything competing for the CPU stretches that gap.

  • Pause antivirus scans, search indexing, sync clients and build jobs while you test, and look for a single runaway browser tab.
  • On a laptop, check whether you are on battery. Power saving lowers clocks and raises scheduling latency, and USB selective suspend delays the first press after an idle period.
  • Thermal throttling produces bursty lag rather than constant lag.

Verify: measure under load and again idle, watching the 95th percentile and jitter rather than the median. Contention shows in the tail long before it moves the middle.

7. Turn off Filter Keys, Sticky Keys and Slow Keys

These accessibility features deliberately change key timing, and they are easy to enable by accident — Windows offers Filter Keys after holding right Shift for several seconds, and Sticky Keys after five presses of Shift. Filter Keys ignores brief or rapidly repeated keystrokes and can require a key to be held before it is accepted; macOS Slow Keys does the same. If keys need a deliberate, firm press, check these first, and use the event tester to see whether a press produces an event at all.

8. Audit remapping, macro and vendor software

On Windows, low-level keyboard hooks are delivered synchronously: the system passes the keystroke to each installed hook and waits for it to return, up to a timeout. A hook that is slow to return delays that keystroke for everything downstream. Common occupants are remappers and AutoHotkey scripts, vendor and RGB suites, overlays, game launchers, screen recorders and some security software; on macOS, utilities granted Accessibility permissions. Close them one at a time, measure after each, and note which removal actually moved the number.

9. Browser extensions and page scripts

If typing feels slow only in a browser, extensions are the first suspects: grammar checkers, password managers, clippers, translators and heavily configured content blockers all attach handlers that run on your keystrokes. Open a private window with extensions disabled and re-run the latency test; if the median drops, re-enable them one at a time. A badly written script on the page you are typing into produces the same symptom — browser keyboard event timing explains why.

10. Remote desktop, virtual machines and cloud gaming

A different category of problem: your keystroke crosses a network, the remote machine renders, and the pixels come back encoded. You pay a full round trip plus encode and decode buffering, typically tens to hundreds of milliseconds. A wired network connection, a lower resolution and a closer server help. A faster keyboard does not.

11. Wireless interference and receiver placement

The 2.4 GHz band is shared with Wi-Fi, Bluetooth and wireless headsets, and USB 3 ports, cables and drive enclosures are well documented sources of broadband noise around 2.4 GHz — which is why a receiver plugged in beside one can behave badly.

Move the receiver to a front port, or onto a short extension cable that puts it on the desk with line of sight to the keyboard, and keep it away from USB 3 ports, external drives and the back of the monitor. The tell-tale symptom is lag that is intermittent and position-dependent: fine at one spot on the desk, poor at another.

12. Firmware and debounce, on boards that expose them

Mechanical contacts bounce briefly when they close, so firmware waits out a debounce window before declaring a press. That window is genuinely part of the keyboard's own delay, and boards running open firmware or a capable vendor tool let you shorten it — around 5 ms down to 2–3 ms is a small but real saving.

The trade-off is direct: set it too low and one press starts producing two events. After any debounce change, run the chatter test; if duplicate events appear, raise the value back. Hall-effect and optical boards instead expose actuation point and rapid trigger, which change how far your finger travels rather than the electronics.

Things that do not help

This is where most keyboard lag advice goes wrong. None of the following measurably reduces input lag on a working system.

Frequently repeated advice, and why it does nothing.
The claimWhy it does not work
A shorter or thicker USB cablePropagation is nanoseconds per metre. Cable quality affects reliability, not timing.
Gold-plated connectorsCorrosion resistance. No bearing on timing.
Maxing out the Windows repeat rateThose sliders only affect a key that is held. Confirm with the repeat rate test.
Disabling "keyboard buffering"No such setting exists in Windows or macOS.
Registry cleaners and optimisersNo mechanism links them to input timing; several add background load.
Reinstalling the keyboard driverStandard keyboards use the built-in HID driver. Only relevant for a vendor filter driver.
Swapping linear for tactile switchesChanges feel and travel. The electrical path is identical.
A keyboard "game mode" buttonUsually just disables the Windows key. It does not change reporting.
Jumping to 8000 HzA delay you can see is at least 30 ms; this recovers a fraction of a millisecond.

Which of these changes can this site verify?

The tests here run in a browser and only see keyboard events after the operating system has delivered them. They measure the browser input pipeline, not keyboard hardware, so some fixes above are confirmable here and some are not.

What a browser-based test can and cannot confirm.
ChangeVisible here?Where to look
Background CPU loadYes, clearlyMedian, P95 and jitter on the latency test
Browser extensionsYesSame test, private window vs normal
Input-path softwareOftenSame test, closing suspects one by one
Display refresh ratePartlyInput-to-frame, not event latency
Filter Keys / Slow KeysYesEvent tester
Debounce changesIndirectlyChatter test
Polling rate, cable, connectionNot reliablyBelow timer resolution and scheduling noise

The honest limit

No browser test can isolate switch actuation, matrix scanning, firmware, USB or Bluetooth transmission, or display response. If a change lives entirely in that part of the chain, a browser measurement will not confirm it. Read the methodology, or model the parts you cannot measure with the latency calculator.

If you still cannot tell what is wrong, work through why your keyboard feels slow or laggy, which is organised by symptom rather than by fix, or run the combined keyboard performance test.

Related tools and guides

Frequently asked questions

What is the single biggest cause of keyboard input lag?

For most people it is the display and the frame pipeline, not the keyboard. A 60 Hz screen draws a new frame every 16.7 ms, and a keystroke that arrives at a random point in that cycle waits about half a frame on average before the next frame even starts. Frame queueing in games can add one to three more frames on top. Together that is usually larger than everything the keyboard itself contributes.

Does raising polling rate from 1000 Hz to 8000 Hz reduce input lag?

Barely. A 1000 Hz report interval is 1 ms, so a keystroke waits 0.5 ms on average and 1 ms at worst. At 8000 Hz the interval is 0.125 ms, so the average wait falls to about 0.06 ms. The most you can save is roughly 0.44 ms on average, which is a small fraction of a single display frame, and higher report rates raise CPU interrupt load. Going from 125 Hz to 1000 Hz is worth doing; going beyond 1000 Hz rarely is.

Is a wired keyboard always faster than wireless?

Not always, but it is the most predictable. A modern proprietary 2.4 GHz receiver reporting at 1000 Hz is usually close enough to wired that you would struggle to feel the difference. Bluetooth is the one to be careful with: the host and device negotiate a connection interval that is often much longer than 1 ms, and power-saving features can let the device skip intervals, so both the average delay and its variability tend to be higher.

Can this website measure whether my fix worked?

Partly, and it is important to know which part. The tests here measure the browser-side input pipeline: the time from the browser creating a keyboard event to your page's JavaScript handling it, and optionally to the next frame. Changes to background CPU load, software sitting in the OS input path, browser extensions and display refresh rate show up. Changes to polling rate, cable type or switch debounce are mostly too small or too far upstream to separate from normal scheduling noise.