Touch device detected. These tools are built for a physical mouse, so open lmb.gg on a computer for meaningful results.
CPS Test
Choose a duration, then click as fast as you can with the left button. The timer starts on your first click.
Only left-button presses count. Average CPS is total clicks ÷ test length; Live CPS is the rate over the last second. Your best scores are kept for this visit only.
Polling Rate Tester
Move your cursor fast and continuously inside the pad (big circles work well). Many mouse sensors only report when they are moving, so slow movement under-reads. For the most hardware-accurate result, use Raw Input Mode.
Move your mouse inside the pad to begin.
as fast as you can
This is an estimate measured from inside a web browser. It reflects how often your system delivers position updates to the page, which can be lower than the rate your mouse is set to if the browser, OS or USB hub caps it.
Scroll Wheel Tester
Scroll inside the box. Green = up, blue = down. Roll steadily in one direction: a single reversed event in the middle of a steady scroll points to a dirty or failing encoder.
- Scroll events will appear here.
Browsers report scrolling as events, not physical wheel notches, and distance depends on your OS scroll settings. Use the counts to compare directions and spot glitches, not to count clicks of the wheel.
Double-Click Detector
Click inside the zone with any button. Two presses of the same button less than 80 ms apart are flagged as possible switch chatter.
Double-Click Warning Log No flags
- No chatter detected yet. Start clicking.
A flag means the browser received two presses of one button under 80 ms apart, which is faster than a finger can deliberately double-tap. Real chatter is usually repeatable on the same button. Macros, auto-clickers, or mouse-software settings can cause similar results, so test several times before drawing conclusions.
How these tests work & their limits
CPS test
The timer starts on your first left click and runs for the length you chose. Clicks are timed with the same event timestamps, and any click that arrives after the time is up is not counted. Average CPS is total clicks ÷ test length; Live CPS is the rate over the last second.
Polling rate
We collect the timestamp of every raw pointer sample the browser exposes (via coalesced events) in a rolling 0.5 s window and compute Hz = (samples − 1) ÷ elapsed time. Counting samples, rather than averaging gaps, stays accurate even when the browser rounds timestamps. Raw Input Mode uses Pointer Lock with unadjusted movement (Chromium browsers) to bypass OS cursor processing and sit closest to the hardware rate. We also measure your display's refresh rate and warn when a reading looks like that instead of your mouse. For a definitive check, change your mouse's rate in its own software (e.g. 125, 500, 1000 Hz) and confirm the reading follows.
Scroll wheel
A direction glitch is logged when one event in the opposite direction appears inside an otherwise steady scroll (up-up-down-up within half a second). Free-spinning wheels, trackpads and smooth-scrolling drivers can behave differently from notched wheels.
Double-click detector
Timing uses the browser's high-resolution event timestamps (the same clock as performance.now()), stamped when the click is received rather than when our code runs, so a busy page can't fake a double-click. The 80 ms threshold and the release-to-press timing are indicators, not proof of a faulty switch.