Tools/Mouse Tests

Mouse Scroll Wheel Test

Is your scroll wheel skipping, jumping or scrolling the wrong way? Count notches, catch reverse jumps, test fast spins, tilt and middle click. Free and runs in your browser.

Test
0/20
Notches
0
Reverse jumps
0.0%
Reverse %
0
Events
Middle clicks: 0
Scroll down slowly, one notch at a timeThe page will not scroll while the pointer is in this box. Shift and Ctrl scrolling are ignored.
Direction lognotch size: not detected yet
Arrows appear here as you scroll. On a notched wheel, opposite events show in red.

Point at the box and scroll down slowly, one notch at a time, until the counter reaches 20. Negative deltaY is up and positive deltaY is down.

Needs a mouse with a wheel. Touchscreens do not send wheel events. Browsers may merge fast events, so event rates are a lower bound. This page cannot tell a trackpad from a wheel. A trackpad swipe is not a broken wheel.

How this scroll wheel test works

Notches, deltas and reverse jumps

Every wheel event has a horizontal delta, a vertical delta, and a deltaMode. Mode 0 is pixels. Mode 1 is lines, converted at 40 px per line. Mode 2 is pages, converted at 800 px per page. Negative deltaY is up and positive deltaY is down. Negative deltaX is left and positive deltaX is right. Tilt is used only when the horizontal amount is strictly larger than the vertical amount.

Scroll down and Scroll up ask for 20 notches in that direction. Notches advance only when the vertical sign matches. An event the other way adds one reverse jump. There is no pixel cutoff and no time window. The verdict calls that a skip only when the samples look notched, and only then is the arrow red. Shift and Ctrl wheel events are ignored, and a delta of zero on both axes is ignored. One event can carry the total past 20. Clicks the browser never sent are not counted, so compare the number with the clicks you feel.

Notch size comes from the last 200 vertical samples. A sample of 20 px or more is large. If fewer than half of the samples are large, or if at least 6 samples are in and fewer than 70 percent fit one step, the test calls the input smooth and uses 100 px as one notch. Otherwise the notch is the smallest large value, rounded to the nearest pixel, seen at least twice, or the smallest large value if none repeats. A sample fits when its size divided by the notch is at least 0.9 and within 0.1 of a whole number. A notched event counts as at least one notch, rounded to the nearest multiple of that step.

Why scroll wheels skip or jump

Most wheels use a small mechanical encoder: two contacts that open and close in sequence as the wheel turns. Dust, hair and skin oil get between those contacts, and the metal wears over time. The encoder can read a bounce as a step backwards, so an up event appears while you scroll down. The fast spin watches for that for 5 seconds. A reverse jump there is still one opposite-direction event, with no pixel cutoff and no time window. A wheel that does this while it is new is a defect, not a quirk.

Fixes that work

  • Blow compressed air into the gaps around the wheel while spinning it in both directions.
  • Open the mouse and clean the encoder with isopropyl alcohol, or gently tighten its metal clamp.
  • Under warranty, file an RMA. Encoders are cheap parts and most makers replace the mouse.

Smooth wheels, trackpads and OS settings

This page cannot tell a trackpad from a wheel. A trackpad swipe is not a broken wheel. Free-spin wheels, high-resolution wheels, accelerated scrolling, and trackpads can all send small or uneven deltas, and the smooth rule above treats them the same way. In that mode, notch counts are estimates and opposite events are not labeled as a skip. A steady large step can still be a trackpad, so a skip verdict means the events reversed, not that a mouse wheel is certainly broken. The lines-per-notch setting changes delta size. Natural scrolling swaps which physical roll the browser reports as up or down for every event, so it does not by itself add reverse jumps. The test follows the browser: negative deltaY is up and positive deltaY is down.

Related tools

Check every button with the mouse tester, catch chattering switches with the double click test, test held clicks with the mouse drag test, and see if the cursor wanders with the mouse drift test.

FAQ

Frequently asked questions

What counts as a reverse jump or a skip?

Scroll down and Scroll up each run until 20 notches in that direction. Negative deltaY is up and positive deltaY is down. An event the other way adds one reverse jump and does not add a notch. The verdict calls those reverse jumps a skip only when the samples look like a notched wheel. There is no pixel cutoff and no time window: one opposite event counts as one reverse jump, however small it is. A sideways event, where the horizontal delta is larger than the vertical delta, is not a reverse jump. Shift and Ctrl wheel events are ignored, and an event with both deltas at 0 is ignored. Reverse % is reverse jumps divided by vertical events in that run, to one decimal place. The fast spin uses the same opposite-event rule for 5 seconds, against the direction of its first vertical event.

Which way is up, down, and tilt?

Negative deltaY is up and positive deltaY is down. Negative deltaX is left and positive deltaX is right. Tilt is counted only when the horizontal amount is strictly larger than the vertical amount. If the two amounts are equal, the event is up or down. Before that comparison, line mode (deltaMode 1) is converted at 40 px per line and page mode (deltaMode 2) at 800 px per page. Pixel mode is used as reported.

Can this tell a trackpad from a mouse wheel?

No. This page cannot tell a trackpad from a wheel. A trackpad swipe is not a broken wheel. Scrolling is called smooth when fewer than half of the vertical samples are 20 px or larger, or when at least 6 samples are stored and fewer than 70 percent of them fit one notch. A sample fits when its size divided by the notch is at least 0.9 and within 0.1 of a whole number. Smooth mode estimates one notch as 100 px and does not label opposite events as a skip. A trackpad that sends steady large steps can still look notched, so a skip verdict means the events reversed. It does not prove a mouse wheel is at fault.

How is one notch measured?

The test keeps the last 200 vertical pixel amounts. Samples of 20 px or more are large. When at least half are large, the notch is the smallest of those large values, rounded to the nearest pixel, that appears at least twice. If none repeats, it is the smallest large value rounded to the nearest pixel. Each notched event then counts as at least 1 notch, rounded to the nearest multiple of that size. In smooth mode, the event's pixels are divided by 100. The number on screen is the whole part of that sum. Clicks the browser never sent are not added, so compare the counter with the clicks you feel. Counting for that direction stops once the sum reaches 20, and one event can carry the total past 20.

What does the fast spin test measure?

The 5 second window starts on the first vertical wheel event. Each vertical event in that window, including the first, adds notches when it matches that first direction, or one reverse jump when it does not. There is no pixel cutoff and no time window on the reverse jump. Events after 5 seconds are not added. The finished events-per-second figure is the vertical event count divided by 5, rounded to a whole number. While the spin is still running, the live rate is that count divided by the seconds since the first event, and it stays at 0 until more than 0.2 seconds have passed. Peak in 1 s is the most vertical events inside a span of under 1000 ms. Browsers may merge fast events, so these rates are a lower bound. A trackpad swipe is not a broken wheel.

Does the rest of the page still scroll?

Yes. preventDefault runs only on the dashed test pad, and that wheel listener is removed when you leave the page. Scrolling outside the pad still moves the page. Middle click is handled only on the pad: mouse button 1 is counted once on press, and the browser autoscroll is cancelled there. Touchscreens do not send wheel events.

What do tilt and middle click show?

Tilt left and tilt right count events whose horizontal delta is larger than the vertical delta. Many mice have no tilt wheel. A sideways trackpad swipe is counted here too, and it is not a broken wheel. Middle clicks is how many times button 1 went down on the pad. Restart this test clears the log and the active mode counts only. It does not clear middle clicks or the learned notch samples. Reset all clears every count, the log, and those samples, and keeps the mode you are on.