macOS menu-bar scroll fixer

Wheel like Windows. Trackpad untouched.

macOS has exactly one scroll-direction switch, and it points at everything you own. Turn Natural Scrolling off so your mouse wheel behaves, and your trackpad starts fighting you. MouseScroll flips the wheel alone and leaves the trackpad exactly as Apple built it.

Coming soonin testing See how it works
One switch in the menu bar Starts at login Free
One switch, two devices

It reads the scroll, not the device.

Most tools that fix this ask which mouse you're using, then watch for it to connect and disconnect. MouseScroll never has to: every scroll event on macOS already says where it came from.

1

A wheel click is a step

A mouse wheel moves in notches, so macOS sends one discrete step per notch. A trackpad sends a continuous stream of tiny movements instead, because your fingers glide. The two are already labelled differently before any app sees them.

2

Only the steps get flipped

MouseScroll watches scroll events as they pass and reverses the discrete ones — both axes, so a tilt wheel behaves too. Everything continuous goes through exactly as it arrived, byte for byte.

3

Nothing else changes

MouseScroll leaves your system setting alone and works from the way macOS ships — Natural Scrolling switched on — so your trackpad, Magic Mouse and momentum keep gliding as they always have. Quit the app and your Mac is exactly as it was.

What's on board

One annoyance, fixed properly.

Any mouse, no setup

USB, Bluetooth, gaming mouse, the cheap one from the drawer — there's no device list and nothing to pair. Plug in a mouse you've never used before and it scrolls correctly on the first notch.

Your trackpad stays natural

The setting Apple ships stays exactly as it is. Two-finger scrolling, momentum, rubber-banding at the end of a page — all untouched, because those events are never modified.

Both axes

Vertical and horizontal. If your mouse has a tilt wheel or a side scroll, it flips with the rest instead of being left half-corrected.

Turn it off in one click

The menu-bar icon holds a single switch. Flip it and scrolling returns to the system behaviour instantly — no restart, no logout, nothing left running in the background.

Starts with your Mac

Launch at login is a checkbox in the same menu, using Apple's modern API — so it shows up properly in System Settings → Login Items instead of hiding somewhere.

Half a megabyte, no Dock icon

Native Swift with zero third-party dependencies, universal on Apple silicon and Intel. It lives in the menu bar, uses almost no memory, and does nothing when you aren't scrolling.

Straight about the permission

It needs Accessibility. Here's exactly why.

To change a scroll event, an app has to sit in the stream of input events — and macOS guards that with the Accessibility permission. There is no smaller permission that allows it. Inversion is on the moment you install, so macOS shows you the prompt on the very first launch; decline it and nothing breaks, the app just says so in its menu and waits.

That permission is powerful, which is why what the app does with it is deliberately tiny: it looks at whether a scroll was a wheel notch or a glide, and reverses the numbers if it was a notch. It reads no keystrokes, stores nothing, and contains no networking code at all — there is no server for it to talk to. The whole app is a few hundred lines of Swift with no third-party dependencies, so there's no SDK in there doing something else on the side.

No network requests, at all
Reads scroll direction only
No account, no analytics
Zero third-party code
Status — July 2026

Built and working. Not downloadable yet.

MouseScroll runs on my own Mac all day, but it isn't signed with an Apple Developer certificate yet — and macOS refuses to open an unsigned app without a detour through System Settings. For an app that asks for Accessibility, that is precisely the wrong first impression, so this page waits until there's a notarized build worth installing.

  • Wheel inverted on both axes, trackpad and momentum untouched
  • Works with any mouse, with nothing to pair or configure
  • Menu-bar switch, launch at login, universal binary
  • Apple Developer certificate → signed, notarized build
  • A download that opens with a double-click, like it should
Questions

The things you'd ask.

Why not just turn off Natural Scrolling in System Settings?

Because that switch is global. Turning it off does fix the mouse wheel, but it also reverses your trackpad, where natural scrolling is the whole point — two fingers up should push the page up, the way it works on every phone. macOS offers no per-device setting, which is the entire reason this app exists.

Does it need Accessibility access?

Yes, and there's no way around it: modifying an input event on macOS requires that permission, full stop. Inversion is switched on out of the box, so the prompt appears the first time you launch the app. If you decline, nothing breaks — MouseScroll keeps running, shows a warning in its menu with a direct link to the right settings page, and starts working the moment you grant it, without needing a restart.

What about a Magic Mouse?

A Magic Mouse keeps its natural scrolling, on purpose. Its surface is a touch surface, not a notched wheel, so it sends the same continuous events a trackpad does — and the same gesture should feel the same on both. If you want a Windows-style wheel, this app is for a mouse that actually has one.

Does it change any of my system settings?

No scroll settings, no. It leaves Natural Scrolling exactly where Apple put it and changes events in flight, one at a time, which is why quitting restores the normal behaviour instantly. The only thing it ever registers with the system is a Login Item, and only if you tick Launch at Login — unticking it takes the entry straight back out.

I already turned Natural Scrolling off to fix my mouse. What now?

Turn it back on. MouseScroll starts from the setting macOS ships with — Natural Scrolling on — and flips the wheel from there. If the global switch is already reversed, the two corrections cancel each other out and you'll get the opposite of what you want on both devices. Switch Natural Scrolling back on in System Settings, and let MouseScroll handle the wheel on its own.

Will it slow my scrolling down?

No. It runs on a thread of its own so events never queue behind anything else, and the work per event is flipping a few numbers. Scrolling stays as smooth as it was, and the app sits idle whenever you aren't touching a wheel.

What will it cost?

Nothing. MouseScroll is free — it fixes one small annoyance and there's no licence, no trial and no account. If you'd like to support the work, ScreenGo is the paid one.

Which Macs does it run on?

macOS 14 Sonoma or newer, on both Apple silicon and Intel — it's a universal binary. It lives in the menu bar rather than the Dock and takes up about half a megabyte.