Announcement: In a future update, Scroll Reverser will become a paid app. You can read more about my decision here.
For OS X 10.7—10.11 (Intel):
Download Scroll Reverser 1.7.6 (11 May 2017)
For OS X 10.4 (PowerPC) and 10.5—10.6 (Intel 32 and 64-bit):
Download Scroll Reverser 1.5.1 (12 Mar 2012)
Scroll Reverser is a free Mac app that reverses the direction of scrolling, with independent settings for trackpads and mice.
Scroll Reverser was made by Nick Moore with language translations by other contributors. To get in touch, contact email@example.com, tweet @pilotmoon or heasd over to Scroll Reverser Discussions on GitHub. Please also check out my other apps.
If you wish to make a voluntary donation you can do so below.
FAQ / Troubleshooting
Can't enable Scroll Reverser. If Scroll Reverser does not respond when you try to check "Enable Scroll Reverser", please try the following:
1. Quit Scroll Reverser.
2. Ensure Scroll Reverser is located in your Applications folder.
3. Go to System Preferences → Security & Privacy → Privacy → Accessibility.
4. Use the "–" button to remove Scroll Reverser from the list; then add back with "+".
5. Now start Scroll Reverser. It ought to work this time.
Scroll Reverser sees my trackpad as a mouse. There's a system setting in Accessibility that lets you double-tap with three fingers to zoom. Unfortunately, when it is turned on, it stops Scroll Reverser working properly. Look for the checkbox: Accessibility → Zoom → Advanced → Controls → Use trackpad gesture to zoom, and make sure is is not checked (more information here).
Also, if you have an older Mac without a multi-touch trackpad (late 2007 and earlier) then Scroll Reverser will see your trackpad as a mouse. This also affects some third party external trackpads.
Can you make it reverse swipe gestures too? No, this is not possible. However, swipe direction respects the "Scroll Direction: Natural" setting in System Preferences. Set that to your liking, then use Scroll Reverser to adjust scrolling with respect to that base setting.
I am controlling a machine via remote desktop, and Scroll Reverser is running on both the local and remote machine. Anything I can do to make it work nicely? Run this command at terminal on the remote machine:
defaults write com.pilotmoon.scroll-reverser ReverseOnlyRawInput -bool YES then quit and restart Scroll Reverser.
1.8 (3 Dec 2020)
- Updated for macOS 11.0 Big Sur.
- Universal app for both Intel and Apple M1 chip.
- Dark mode.
- New user interface in prefs prompts you when required permissions are missing (Accessibility and Input Monitoring).
- Fixed crashing due to missing Accessibility permission.
- Reimplemented Start at Login functionality to be more reliable now, I hope.
- Removed the “Reverse Tablet” option.
- The minimum system requirement is now macOS 10.12.6.
1.7.6 (11 May 2017)
- Some internal changes to the way preferences are loaded. (As part of investigating Issue #38: Scroll reverser preferences randomly change.)
- Translation updates, including a new Norwegian translation (thanks, Patrick).
1.7.5 (24 Apr 2017)
- Fix: Presence of Scroll Reverser triggering additional security dialogs (for example, in Keychain permissions dialogs);
- Fix: "Shake to locate cursor" not working with Trackpad while Scroll Reverser is running;
- Fix: Notification center getting stuck half-open while Scroll Reverser is running.
- Added Simplified Chinese (zh-CN) translation. (Thanks, Ruocheng Wang.)
- Added Dutch translation. (Thanks, Erik.)
1.7.4 (11 Nov 2016)
- The relaunch-on-wake implementation is now more robust.
- A small correction to the Polish translation.
1.7.3 (7 Nov 2016)
- Scroll Reverser now silently relaunches itself when your Mac wakes from sleep. (This is because of a problem where macOS sometimes stops sending gesture events to Scroll Reverser after awaking from sleep.)
- Added Hungarian and Polish translations. (Thanks, Léki and Artur.)
- Fixed a bug where, on unchecking "Show in menu bar", the "Icon Hidden" message would appear multiple times.
1.7.2 (26 May 2015)
- Fixes for bug where Scroll Reverser would sometimes stop working, requiring app restart. (Now it should hopefully not stop working, and if it does you can just toggle Scroll Reverser off/on to reset it.)
- You can now right-click (or control-click) the menu bar icon to toggle Scroll Reverser on/off.
- New algorithm to (hopefully) distinguish more accurately between trackpad and mouse.
- Added a debug console to help with fault-finding. To show the debug window, option-click (⌥-click) the Scroll Reverser menu bar icon.
- Added Korean, Russian, Slovak and Traditional Chinese translations. (Thanks Josef, Byungkook Jang, Dmitry, and Johnny.)
1.7.1 (7 Jan 2015)
- Fixed bug (introduced in v1.7) where Scroll Reverser would sometimes stop working after using it for a while.
- Added Romanian translation. (Thanks, Gabriel.)
1.7 (18 Dec 2014)
- Brand new preferences window to replace the clunky old menu.
- Important fixes for compatibility with the upcoming Yosemite update 10.10.2.
- Adds AppleScript support for turning Scroll Reverser on and off.
- Now treats a Wacom mouse's scrolling as coming from a mouse, rather than a tablet.
- Gave the app icon a freshen up.
- Localized in Brazilian Portuguese, German, Greek, Italian, and Japanese. (Thanks, Humberto, Peter, Nikos, Vincenzo and Fu-sen.)
1.6.1 (25 Sep 2014)
- Updated for OS X Yosemite. (Specifically, the menu bar icon now supports Dark Mode.)
1.6 (21 May 2013)
- Updated the status icon for retina displays.
- Better accuracy detecting traditional wheel mice from trackpads. (No change to Magic and Mighty mouse detection.)
- Added the option to automatically check for updates.
- Fix minor bug which casused a console warning about 'scrollPhase is deprecated...'.
- Minimum system requirerement is now OS X 10.7 Lion.
1.5.1 (12 Mar 2012)
- Signed with a Developer ID for OS X 10.8 Gatekeeper.
1.5 (23 Feb 2012)
- Now works with OS X 10.4 Tiger.
- More reliable detection between mouse and trackpad.
- Fixed a bug that led to high memory usage.
- Added a welcome window that appears on the first run.
- Added German localization. (Thanks, Peter.)
1.4.4 (29 Sep 2011)
- Fixed a memory leak.
- Fixed a problem with the Italian localization.
- Added Romanian localization. (Thanks, Gabriel.)
1.4.3 (9 Sep 2011)
- Added French localization. (Thanks, Marcel and E.)
1.4.2 (18 Aug 2011)
- Changed default on Lion to not reverse horizontal scrolling.
- Added Spanish localization. (Thanks, Pedro.)
1.4.1 (18 Aug 2011)
- Restored PowerPC and 32-bit Intel support.
- Better Wacom tablet detection.
1.4 (11 Aug 2011)
- Added independent settings for horizontal and vertical scrolling.
- Added independent settings for scrolling with trackpad, mouse and Wacom tablet.
- Fixed a Firefox compatibility problem.
- Dropped PowerPC and Intel 32-bit support (by mistake).
- Added Italian localization. (Thanks, Vincenzo.)
1.3 (28 Jun 2011)
- Added PowerPC support.
- Added Greek localization. (Thanks, ecrisis.)
1.2 (11 Apr 2011)
- Added option to hide the menu bar icon.
- Added Brazilian Portuguese localization. (Thanks, Humberto.)
1.1 (1 Apr 2011)
1.0 (8 Mar 2011)
- Initial release.