If you search for a way to control external monitor brightness on the Mac, you will find five serious apps, and four of them are not this one. This is an honest map of the territory, written by the person who built the fifth. Read it knowing that. It’s also written after using and studying the other four; that research is where this app came from.
If you haven’t got brightness control working at all yet, start here instead. This page assumes you already know you need an app and want to know which.
The short version: every app on this list is good at the thing it was built around. They are not interchangeable, and the right one for you depends on which problem is actually yours.
| App | Price | Source | Built around |
|---|---|---|---|
| MonitorControl | Free | Open (MIT) | Brightness & volume keys, native OSD, for external monitors |
| Lunar | $23 lifetime · metered free tier | Partly open | Adaptive brightness driven by sensors, location or schedule |
| BetterDisplay | $21.99 · large free tier | Closed | Deep display plumbing: virtual screens, HiDPI, EDID, PIP |
| DisplayBuddy | $24.99 · no free tier | Closed | Presets and one-click scenes across many monitors |
| Brightness Controller | Free | Closed | Keeping several screens matched from one slider |
Prices and details are as of mid-2026, and each app ships far more than its one-line summary. The summaries name what each is organized around, which is the thing that actually predicts whether you’ll be happy with it.
MonitorControl: the open-source standard
MonitorControl is free and open source, and has the community to show for it: tens of thousands of GitHub stars and years of accumulated monitor lore in its issue tracker. Its reason to exist is simple and it nails it: your keyboard’s brightness and volume keys should work on external monitors, with the same native-looking on-screen display Apple draws for the built-in screen.
It also has the cleanest first-run posture in the category: advanced options stay hidden behind a single “show advanced settings” checkbox so a newcomer can’t wander into trouble. I copied that pattern outright, and this is the paragraph where I say thank you.
Choose it if you want keys-and-OSD and a project you can read and build yourself. How it compares to MonitorControl.
Lunar: the autopilot
Lunar is the most ambitious app here. Its Sync Mode drives external monitors from the MacBook’s ambient light sensor through a perceived-luminosity algorithm; if your Mac has no sensor it can run from sunrise-and-sunset location data or a schedule instead, and it will even talk to an external light sensor. Sub-zero dimming is free, and XDR brightness boost is the headline paid feature. Its crash reporting policy is a model other apps should copy: crash data only, no personal data, deleted weekly, plainly published.
The philosophical difference is that Lunar’s adaptive curve is a formula you tune with curve factors, while this app’s calibrated mode is two points you set by eye per display, with no formula in between. How it compares to Lunar.
BetterDisplay: the deep toolbox
BetterDisplay is the deepest display utility on macOS, full stop. Virtual and dummy displays, HiDPI resolution unlocking, EDID overrides, picture-in-picture, input switching. If the problem is display plumbing, BetterDisplay solves it, usually as the only app that can. Its free tier covers most of what people come for, and its public-repo-without-source distribution model is the one I adopted for my own releases.
Its brightness sync normalizes displays by their physical nits, which is a clever idea, and a different bet from mine, since it leans on what panels report about themselves rather than on what you see. How it compares to BetterDisplay.
DisplayBuddy: the polished preset machine
DisplayBuddy is the simplest paid option: one-time purchase, a broad supported-monitor database, and a public “will it work with my monitor” checker built from real user data. Check it before you spend money; the category needs more of that. Its strength is presets: one click to put every monitor into a saved scene.
Its sync model is a host display plus per-follower offsets, and its own documentation is upfront that percentages don’t equalize panels. That candor is to its credit, and the gap it describes is the one this app was built to close. How it compares to DisplayBuddy.
Brightness Controller: the one-knob matcher
This app exists because none of the four above do per-display matching from points you set by eye. Every one of them moves multiple monitors; none of them ask you what matched looks like on your panels and then hold the set to it. The whole product is that idea:
- Each display gets its own line between the level you chose in a dim room and the level you chose in a bright one. The master slides along everyone’s line at once.
- The master’s travel is the range where all your panels can actually stay together. If that’s 16.7 to 77.1, the slider says so rather than pretending 0 to 100.
- A plain-text log records every adjustment and its cause, so “why did my screen change?” has an answer.
- Monitors that refuse brightness commands get dimmed in software so they keep moving with the set.
When not to choose it
Honesty cuts both ways. Skip this app if:
- You want XDR brightness boost. Lunar and BetterDisplay do this; I don’t.
- You need virtual displays, HiDPI tricks, EDID overrides or any display plumbing. That’s BetterDisplay’s territory and I am not going there.
- Your Mac has no ambient light sensor (Mac mini, Mac Studio, some iMac setups) and you want brightness that adapts on its own. Auto-follow has nothing to follow there, and Lunar’s location and clock modes handle that case better. You still get the matched master; you just move it yourself.
- You run an Intel Mac or macOS 13 or earlier. This app is Apple Silicon and macOS 14+.
- Open source matters to you on principle. MonitorControl is the only fully open option, and that’s a legitimate reason to pick it.
If your problem is “my screens never look like each other, and every evening I fiddle with three sliders,” that’s the problem this app was built for, it costs nothing to find out, and the install is one Homebrew command away.