TeenyDisplay vs BetterDisplay vs Lunar vs MonitorControl
Four Mac apps can move an external monitor's brightness slider from the keyboard. The right one depends on whether you want a small menu bar utility, a full display lab, adaptive brightness, or a free open-source app.
Start with MonitorControl when you want a free test of basic external-display controls. Choose TeenyDisplay for focused DDC controls, presets, and URL actions. Choose Lunar for adaptive brightness. Choose BetterDisplay when you also need custom resolutions, virtual screens, or deeper display configuration.
The monitor and connection path make the first decision. If DDC/CI commands cannot travel through the cable, adapter, dock, and port, changing apps may not restore hardware brightness control. Run the acceptance check below before comparing feature lists.
Disclosure: I build TeenyDisplay. Its claims come from the current homepage and local Swift source. BetterDisplay, Lunar, and MonitorControl facts come from their official sites and repositories. Prices, releases, and feature names were checked on August 17, 2026.
quick pick
| App | Best fit | Price checked August 17, 2026 |
|---|---|---|
| TeenyDisplay | Focused external monitor control with DDC, Apple Silicon HDMI, shortcuts, presets, and URL automation. | $9.99 one-time, 3-day trial. |
| MonitorControl | Free brightness, contrast, and volume control from a long-running open-source Mac app. | Free. |
| BetterDisplay | Display power-user work: custom resolutions, virtual screens, XDR/HDR brightness, EDID, PIP, and DDC. | $21.99 / EUR 19.99 Pro license, with free features and a 14-day Pro trial. |
| Lunar | Adaptive brightness, sync modes, schedules, external sensors, and monitor control from the keyboard. | $23 lifetime license, with free features and a 14-day Pro trial. |
run a five-step hardware acceptance check
- Enable DDC/CI in the monitor's own on-screen menu.
- Connect one monitor directly to the Mac when possible, leaving the dock out of the first test.
- Move one hardware-brightness slider and confirm that the monitor backlight changes.
- Test volume or input switching separately because a monitor can support one DDC control and reject another.
- Reconnect the normal dock or adapter and repeat the same test.
If the direct test passes but the normal desk path fails, the dock, adapter, or cable is the likely boundary. If no hardware test passes, software dimming can darken the image, but it does not lower the monitor's backlight power.
what all four apps are trying to fix
macOS does not expose hardware brightness controls for most non-Apple external monitors. The common workaround is DDC, short for Display Data Channel. When a monitor, cable, adapter, and Mac port pass DDC correctly, an app can send commands for brightness, contrast, volume, input switching, and power.
DDC is also why compatibility is never a clean yes or no. Lunar's FAQ puts it plainly: a monitor needs to support DDC, and the connection path must not block DDC commands. A dock, cable, adapter, or monitor setting can be the weak link.
For setup context, see the separate guide to controlling external monitor brightness on Mac. It goes deeper on DDC, Apple Silicon HDMI, and why the Mac brightness keys often ignore external displays.
where TeenyDisplay fits
teenydisplay is the small paid option. It lives in the menu bar and controls external monitor brightness, contrast, volume, input source, and power when the display exposes those controls over DDC. It also handles software dimming when a monitor does not expose DDC brightness.
The HDMI detail matters. TeenyDisplay tries the standard IOKit I2C path first for Thunderbolt, USB-C, and DisplayPort displays. If that path is not available, it falls back to IOAVService for Apple Silicon built-in HDMI. That is the awkward connection where many older DDC tools used to fail.
TeenyDisplay also has the everyday features that make external monitor control feel native: optional F1/F2 brightness key interception, optional volume key interception, custom shortcuts, an on-screen display, brightness sync across selected displays, named presets, launch at login, and a teenydisplay:// URL scheme for brightness, contrast, volume, input, power, presets, and display info.
It is not trying to be a custom-resolution workshop. It can list and switch available resolutions and refresh rates, including hidden modes when macOS exposes them, and it shows the active color profile. It does not create virtual displays or rewrite display configuration at the depth BetterDisplay does.
MonitorControl is the free baseline
MonitorControl is free and open source. Its official GitHub page says it controls external display brightness, volume, and contrast, shows the native OSD, supports menu bar sliders, and can use Apple keyboard keys or custom shortcuts.
It also supports several brightness methods: DDC for external displays, Apple's native protocol for Apple and built-in displays, gamma table control for software dimming, and shade control for AirPlay, Sidecar, DisplayLink, and other virtual screens.
The latest release listed in its official repository is version 4.3.3 from October 4, 2024. The project also points readers to BetterDisplay when they need more features or broader compatibility. Pick MonitorControl first when price or open source matters; check the release history if recent update activity matters to your purchase.
BetterDisplay is the heavy display toolbox
BetterDisplay covers far more than brightness. Its official GitHub page lists flexible HiDPI scaling, custom resolutions, XDR/HDR brightness upscaling, virtual screens, Picture in Picture, soft disconnect, EDID overrides, DDC control, color mode selection, syncing, layout protection, CLI integration, URL schemes, HTTP integration, notifications, and macOS Shortcuts support.
The current repository lists version 4.3.4, released May 24, 2026. It lists a $21.99 / EUR 19.99 Pro license, a 14-day Pro trial, perpetual use, and at least one year of updates.
That breadth is the reason to choose it. If you need a virtual screen for a headless Mac, want to tune scaling beyond the stock macOS choices, or need display layout protection, TeenyDisplay is too narrow and MonitorControl is too simple.
The tradeoff is weight. BetterDisplay is a better fit when display configuration itself is the project. If the job is "make external brightness keys work and maybe save a few presets," a smaller app will be easier to live with.
Lunar is for adaptive brightness
Lunar is built around automatic brightness behavior. Its free Manual Mode lets familiar brightness and volume keys control external monitors, and its DDC feature sends commands such as brightness and input changes directly to the monitor.
Lunar Pro adds the parts that make it different: Sync Mode for matching external monitors to the built-in display's adaptive brightness, Sensor Mode for using an external ambient light sensor, Clock Mode, Location Mode, XDR brightness, BlackOut, FaceLight, app-based presets, and more. Lunar's FAQ also notes that the 14-day Pro trial starts automatically on first launch and free features remain usable after the trial.
Pick Lunar if you care about brightness changing by room light, sun position, or schedule. If you prefer explicit sliders, shortcuts, and presets without the adaptive layer, TeenyDisplay or MonitorControl will feel calmer.
feature comparison
| Feature | TeenyDisplay | MonitorControl | BetterDisplay | Lunar |
|---|---|---|---|---|
| Hardware brightness via DDC | Yes | Yes | Yes | Yes |
| Contrast and volume | Yes, when the display supports it | Yes | Yes | Yes, through DDC where supported |
| Input switching | Yes, over DDC | Not a main README feature | Yes, over DDC | Yes, through input hotkeys and DDC |
| Software dimming fallback | Yes | Yes | Yes | Yes |
| Presets | Yes, named display presets | Not a main README feature | Yes, among broader display configuration features | Yes, including Pro app-based and scheduled modes |
| Automation | teenydisplay:// URL commands |
Not a main README feature | CLI, URL scheme, HTTP, notifications, Shortcuts | Command-line integration and macOS Shortcuts listed on its comparison table |
| Custom resolutions or virtual displays | No virtual displays; switches available modes | No | Yes | Not the main reason to pick it |
which one should you install?
Install MonitorControl if you want the free answer first. It is hard to argue with free when your need is basic brightness, contrast, volume, and keyboard control.
Install TeenyDisplay if you want a small paid utility with Apple Silicon HDMI handling, presets, shortcuts, URL automation, software dimming, and a menu bar UI that stays close to the monitor-control job.
Install BetterDisplay if your monitor setup has become a display engineering problem. Custom resolutions, virtual screens, XDR/HDR upscaling, EDID work, PIP, and layout protection belong there.
Install Lunar if the display should adapt itself through sensors, schedules, sun position, or built-in-display sync. That is Lunar's lane.
small caveats before you blame the app
DDC depends on the whole chain. A monitor can support DDC and still fail through a dock that blocks it. HDMI can behave differently from USB-C or DisplayPort. Some monitors accept brightness commands but ignore volume or input commands. Some show their own on-screen display every time an app writes a value.
When a monitor will not respond, test the boring parts first: connect directly, swap the cable, enable DDC/CI in the monitor's own settings, and try USB-C to DisplayPort if HDMI is the trouble spot. That advice applies to every app in this comparison.
common questions
Which Mac monitor control app is free?
MonitorControl is free and open source. It is the sensible first test when you need basic brightness, contrast, volume, menu bar sliders, and keyboard controls.
Which app is best for adaptive monitor brightness?
Lunar is the strongest fit here for adaptive brightness. Its Pro modes can follow a built-in display, an external light sensor, a clock, or location-based sun times.
Why can no Mac app control my monitor brightness?
The monitor must support DDC/CI and the cable, adapter, dock, and Mac connection must pass those commands. Enable DDC/CI in the monitor menu and test a direct connection before changing apps.
sources checked
- MonitorControl official repository and release history.
- BetterDisplay official repository.
- Lunar official product and pricing page.
- TeenyDisplay features and boundaries were checked against the current TeenyDisplay homepage and local Swift source for DDC transport, presets, display modes, software dimming, media-key handling, and URL actions.
Focused controls for a compatible external display.
teenydisplay is $9.99 once with a 3-day trial. It handles DDC, Apple Silicon HDMI, presets, shortcuts, URL automation, and software dimming from the Mac menu bar.