Mouse Test
A free test page for any USB, Bluetooth, or built-in mouse. Verifies every button fires, the scroll wheel works in both directions, and pointer movement is smooth. Useful when right-click goes dead after a driver update, the middle button stops paste-scrolling, or the wheel jitters mid-form.
Read the Mouse Test guide for help reading the verdict or fixing each failure mode.
Configuration
Takes about 30 seconds (most of it is you clicking buttons). All input stays in this browser tab; nothing is uploaded.
Diagnostic complete
Pointer Events API is available
Feature-detecting window.PointerEvent and the pointer media queries.
Every button registers correctly
Press each button on your mouse. Each region lights up green when recognized.
Click each button on your mouse. Left, middle (scroll-wheel click), right, plus back and forward if your mouse has them. Each region of the mouse silhouette lights up green when detected. The right-click menu is suppressed so the test can capture the event. Click Done when finished.
Scroll wheel and movement tracking work
Scroll the test area and move the pointer around to measure polling smoothness.
Scroll inside the area below. First scroll down, then scroll up. Each direction registers when at least 3 wheel events fire. After that, move the pointer over the movement pad for 3 seconds so we can estimate the polling rate.
Scroll inside this box with your mouse wheel.
This is filler content so that there is enough vertical room to register multiple wheel events. Scroll down first, then back up to the top.
Modern operating systems often have smooth-scroll enabled. The diagnostic counts raw wheel events regardless of how the OS animates the result, so smooth scrolling should not affect the result.
Some mice support horizontal scroll via a tilt wheel. If yours does, tilt the wheel to the side. The horizontal scroll counter sits below this area.
If the wheel feels rough or skips lines, you may have a worn encoder. Try a few full revolutions and watch the meter.
Once you have scrolled down enough to fill the down meter, scroll back to the top to fill the up meter.
End of test content.
Move the pointer here for 3 seconds. The pad below samples pointermove events to estimate the polling rate.
- Events captured
- 0
- Events per second
- - not yet