Mouse Test
Click each button, scroll the wheel and move the pointer to check a mouse or touchpad.
Move your mouse in quick circles over the test area to estimate its polling rate. The page counts the reports your browser receives each second, which can be fewer than the mouse sends, and shows the rate it looks like, such as 1000 Hz.
Estimated median rate—Hz
Not measured yet
| Interval | Rate | Share |
|---|---|---|
| about 0.125 ms | 8000 Hz | — |
| about 0.25 ms | 4000 Hz | — |
| about 0.5 ms | 2000 Hz | — |
| about 1 ms | 1000 Hz | — |
| about 2 ms | 500 Hz | — |
| about 4 ms | 250 Hz | — |
| about 8 ms | 125 Hz | — |
| 11.3 to 50 ms | 20 to 88 Hz | — |
An estimate of the reports your browser receives, not the mouse's USB polling rate, and not latency. Grouping by the system or browser and CPU load can make it read low, especially at 4000 and 8000 Hz. Timer precision only blurs Report intervals. The rates are counted over 100 ms stretches of movement, so rounding event times to 1 ms changes them by about 1% at most.
Runs entirely in your browser. Test results, audio and video never leave your device.
Mouse polling rate is how often a mouse reports its movement and button presses to the computer, measured in hertz (Hz). A 1000 Hz mouse can send a report every 1 ms, and a 125 Hz mouse every 8 ms. Many mice let you choose the rate in the maker's app. A mouse sends reports only when it moves, scrolls or a button changes.
The reading counts the reports that reach the browser, so anything that drops, groups or delays them can make it read low. A 1000 Hz mouse that reads 500 Hz may still be set correctly. Check these, then press Measure again.
The time between reports is 1000 ms divided by the polling rate. Report intervals on this page has a row for each of these. Most reports should land in the row for your mouse's setting, unless the browser rounds event times too coarsely for that rate.
| Polling rate | Time between reports |
|---|---|
| 125 Hz | 8 ms |
| 250 Hz | 4 ms |
| 500 Hz | 2 ms |
| 1000 Hz | 1 ms |
| 2000 Hz | 0.5 ms |
| 4000 Hz | 0.25 ms |
| 8000 Hz | 0.125 ms |
The page counts the mouse reports over the test area: pointerrawupdate events where the browser has them, otherwise the reports grouped into each pointer event, listed by getCoalescedEvents(). Gaps over 50 ms are pauses, and a run ends after 5 s of movement.
Current is the rate in the latest 100 ms of movement, Average is all reports over the moving time, and Median is the middle of the 100 ms rates. A median within 20% of a common rate from 125 to 8000 Hz reads Looks like that rate; any other reads Between, Below or Above, with the nearest common rates.
In the mouse maker's app or web configurator, or with a button or switch on some mice; the mouse settings in Windows and macOS do not usually offer it. Choose the rate, save it to the mouse if the app asks, then press Measure again to check that the change reached the browser.
Up to a point. A higher rate shortens the time between reports, from 8 ms at 125 Hz to 1 ms at 1000 Hz, which can make the pointer move more smoothly. At 4000 and 8000 Hz the computer handles many more reports, which can raise CPU load, and some games and systems may not keep up.
No. The page times the gaps between reports, not how long a movement or click takes to reach the screen. Input lag depends on the mouse, the system, the game and the display together, and measuring it needs a high-speed camera or other external equipment.
Yes, in current Safari, Chrome, Edge and Firefox on a Mac. Safari has no pointerrawupdate, so the page counts the reports grouped into each event with getCoalescedEvents(). Older Safari versions have neither, so the page says it cannot estimate the rate instead of showing a misleading number.