For Mac · Built-in and external displays

Every screen,
one dial.

DisplayDial is the only Mac app of the 32 we studied that gives every built-in display, and every external monitor that speaks the Display Data Channel (DDC) protocol, a real hardware brightness valve, dims below the floor with a hard anti-lockout limit engineered in, and tapers toward bedtime like a sunset. One command center instead of three separate apps.

On Chrome as well: DisplayDial Dark is a free extension that follows your Mac's dark mode, darkens light pages and leaves already-dark ones alone. Same evening curve, inside the browser.

This is the Daily Dimmer, drawn from the same numbers the app holds: the curve is the brightness it targets, and the panel underneath is the color your screen actually becomes on the way to bedtime.

Three apps → onethe hardware brightness tool, the overlay dimmer, and the bedtime app, replaced by one command center
The 5% floordim far below your monitor's own minimum, with a hard 5% stop under every path so nothing leaves the screen accidentally black
Daily Dimmer · part of DisplayDial

Your screen should wind down when you do.

Night Shift flips a switch. f.lux warms the color and stops there. The Daily Dimmer is different: anchor it to your bedtime and it tapers brightness and warmth continuously toward it, the way an actual sunset works, then brings the morning back gently. No tool in this category, out of the 32 we studied, ships a bedtime-anchored brightness-and-warmth curve.

Full until 7:30pm · dimmest at 11:00pm bedtime · full again by 7:30am drag the moon to move bedtime
12pm6pm12am6am 🌙

A melatonin-aware descent: the wind-down starts about three and a half hours before your bedtime, settles at your chosen darkest point and warmth by bedtime, and brightens over 30 minutes after you wake. Every number is yours to tune.

The same curve, as a color rather than a number: one evening from 7:30pm to bedtime, played once. Every shade is computed from the brightness and Kelvin the app would actually be holding at that minute, so what you see here is the arithmetic, not an impression of it.

  • Anchored to your bedtime, not to sunset in your timezone. Set 11:00pm and the ember glow arrives exactly then.
  • Brightness and warmth together. The curve carries both, down to a 1,900K candle-warm at your darkest point.
  • Respects you. Adjust anything by hand and the schedule pauses, then resumes on its own. Pause it for 10 minutes or the whole night in one tap.
  • Morning ramp. A gentle 30-minute brighten after wake, so the first email of the day is not a floodlight.
The problem, in Mac users' own words

"My external monitor ignores my Mac's brightness keys entirely."

Plug in a second screen and F1/F2 stop working the moment they leave the built-in panel. The monitor sits blindingly bright at night or too dim during the day. So you stack MonitorControl for the hardware, f.lux for the warmth, and an overlay dimmer for a dark room, and the pieces fight each other for the same color table, forget their state after sleep, and break at every dock swap.

"How come I get no eye fatigue whatsoever from my MacBook, iPad, iPhone but whatever monitor I buy kills my eyes?"

Apple Support Communities · real thread

"External display always increases brightness after sleep even with 'apply last saved settings' enabled."

MonitorControl on GitHub · issues #850, #843

"F.lux resets the color table every few seconds," breaking other display apps trying to coexist with it.

BetterDisplay on GitHub · discussion #2508

These are real, sourced voices describing the category's pain, quoted from public issue trackers and support threads.

The command center

Real hardware brightness on every display, in one panel

Not a gamma trick pretending to be brightness. DisplayDial drives the actual backlight of your built-in display and the actual luminance of every external monitor that speaks the Display Data Channel (DDC) protocol, over USB-C, HDMI, or DisplayPort, each with its own independent slider.

  • A hardware valve per display. Built-in Retina and external monitors get independent, real brightness sliders, so the Dell's on-screen-display (OSD) buttons can finally retire.
  • A click-through dimmer cover on top. When the hardware floor is still too bright for a dark room, a translucent overlay dims further, and your cursor and clicks pass straight through it. Electron apps included.
  • Warmth on the same dial. A neutral or warm tint rides the same control, so "darker" and "gentler" are one motion, not two apps.
  • A reconnect safety net. A newly-connected monitor stuck dark from a previous session gets raised back to normal automatically. It only ever raises, never lowers.
  • Scriptable. The dim command-line tool (CLI) ships with the app: status, set, presets, schedule. Everything the panel does, your scripts can do.

Anti-lockout floor

A hard 5% limit is engineered into every dimming path, overlay and hardware alike. Every competitor category has documented black-screen complaints; DisplayDial engineers "accidentally unusable" out of every dimming path.

Idle energy saver

Step away and the screen eases down to save power; touch anything and it snaps back instantly. Same anti-lockout floor, so idle never means invisible.

Modes

Day, Evening, Reading, Movie, Focus, Night, Away. One tap applies brightness and warmth together, holds for a while, then hands control back to the schedule.

The command center, running today

What the app does today.

Every capability below is running in the shipping app, and these are captures of it.

DisplayDial Settings, General pane
General: the master switch, the evening warm cast, and where the app lives.
DisplayDial Settings, Schedule pane with the draggable day arc
Schedule: drag the arc, or edit the sentence. Both write the same plan.
DisplayDial Settings, Displays pane
Displays: real backlight first, per display, with the extended-dynamic-range boost.
DisplayDial Settings, Behavior pane
Behavior: how long a manual change holds, and what idle does.

Per-app brightness presets

Pin a brightness and warmth level to a named app. Switch into it and the dial follows on its own, then hands control back the moment you switch away.

XDR/EDR brightness boost (Apple's extended-dynamic-range headroom)

Push a supported built-in display past its standard cap for a bright room, the mechanic BrightIntosh and Vivid pioneered, folded into the same dial instead of a separate app.

Per-display memory and the command line

Dock at your desk and every monitor returns to its saved brightness. Undock and the laptop takes over. If a display's level was never saved, it comes back at full rather than staying dark. Script any of it from a terminal with the dim CLI.

Live in the app today

  • Hardware brightness valve for every display, built-in and DDC-capable external
  • Click-through sub-floor dimming overlay
  • Daily Dimmer bedtime curve, brightness and warmth together
  • Anti-lockout 5% floor on every dimming path, plus the reconnect safety net
  • Per-display state persistence across sleep, dock, and undock
  • Idle power-save dimming with the same floor
  • Per-app brightness presets and the XDR/EDR boost
  • The dim command-line tool

Notarized, licensed, and yours to keep

A notarized download and a license that lives on your own Mac. No account, no cloud, no subscription. Join the waitlist and you get the build and the waitlist price.

Works with your AI

Tell Claude how your evenings should look.

DisplayDial ships a local Model Context Protocol (MCP) server, bundled inside the app, so Claude on your Mac can read the dimmer and drive it in plain English: brightness, warmth, and your nightly wind-down schedule. One click in Settings → “Works with your AI” connects it.

Claude Local by design · + any MCP-speaking desktop client

Zero-dependency local server that drives the same engine as the app, on your Mac only; it never opens a network socket. Every AI change goes through the same anti-lockout floor and self-restoring lease, so a request can never leave your screen stuck dark.

Try asking Claude

“Ease my screen down to 30% and warm it up after 9 tonight.”

dim_schedule_set() reshapes tonight's curve, dim_status() confirms the live state on every display.

The superset proof

The category's capabilities in one app, and rows nobody else has

We studied 15 competitors and 17 indie tools. Here are the seven most capable, scored feature by feature. The others are single-purpose tools whose headline capability already appears as a row.

FeatureDisplayDialLunarMonitorControlBetterDisplayDimifyf.luxdesktop-dimmerNocturnal
Real hardware (DDC) brightness, built-in + external
Sub-minimum dimming below the hardware floor◐ Pro
Click-through dimming overlay
Bedtime-anchored brightness + warmth curve◐ color only
Anti-lockout floor (no accidental black screen)
Idle power-save dimming with a usable floor
Per-display state survives sleep / dock swap◐ reported broken◐ reported broken
One unified command center (all of the above)
Command-line control for scripting
Free tier✓ fully free✓ reduced✓ free
Simple, uncluttered default UI✕ "appallingly complex"
Coexists with Night Shift / f.lux color table✕ documented conflictn/a
Open source, auditable code (their win)◐ core open✓ fully open✓ open✓ open

Scored from each product's own documentation, GitHub issue trackers, and published reviews (July 2026). ◐ means partial or a documented reliability complaint. Full sourcing lives in our research dossier; every claim traces to a citation. The open-source row is a loss. Out of scope by choice for every app in this table: Wi-Fi-only Samsung/LG smart monitors (DisplayDial is scoped to built-in panels and DDC-capable monitors). Per-app presets and the XDR brightness boost already run today.

Why trust the floor

Dimming you can't fall through.

Every tool in this category will happily take your screen darker. The complaints all live at the bottom: black-on-wake, stuck-dark monitors, "I had to restart the display to get it back." DisplayDial's answer is architectural: one choke point clamps every dimming path, overlay and hardware alike, to a 5% floor. Below that, the app will not go, no matter which slider, schedule, or script asked. And a reconnect safety net raises any monitor that arrives stuck dark from someone else's leftover state.

  • One clamp, every path. The schedule, the sliders, the CLI, and the idle dimmer all pass through the same floor.
  • Raise-only recovery. The reconnect net only ever raises a dark display back to normal; it never fights a level you chose.
  • Quit means normal. Quitting the app removes the overlay and hands your displays back exactly as macOS expects them.
Privacy

Your screen habits are nobody's business, including ours.

A dimmer knows when you work, when you wind down, and when you finally stop. That is intimate data by any definition, and the cleanest way to protect it is not to collect it. DisplayDial is built so that record never leaves your Mac, because it is never assembled in the first place.

  • The app runs entirely on your Mac. No account, no sign-in, no cloud. Your schedule, your per-display levels, and your settings live in local files on your machine, readable by you, synced nowhere.
  • No analytics in the app. DisplayDial does not measure how you use it, does not phone home about your sessions, and holds no record of when your screen was bright or dark. The only history that exists is the settings file on your own disk.
  • One network touch, and you can name it. The app checks our own update feed over HTTPS for a new version, silently on launch and every six hours. That check carries no personal data, and offline it simply does nothing. Installs are verified against our Developer ID signature and checksum before a byte of the update runs.
  • This website keeps the same posture. No cookies, no third-party trackers, no personal-data analytics: anonymous, aggregate event counts to our own server, nothing more. If you join the waitlist, your email is used for DisplayDial launch news only, and nothing else.

The boundary: we cannot see how you use DisplayDial, so improving it depends on what you choose to tell us. If something misbehaves, the report you write is the only telemetry we will ever have, and we read every one.

Pro

The depth Pro adds, already running.

One app that runs your whole desk's displays, beyond brightness alone. Every one of these runs today.

Pro

Display profiles across rooms

Per-display memory survives a dock swap on its own. Save the current setup as a named profile from the panel and switch back to it by hand for a second desk or a conference room, on top of that automatic recall.

Pro

Focus modes

Presentation mode pins everything bright when a presentation app comes frontmost or you mirror a display, so a keynote never dims mid-slide. Movie mode holds the room-dark preset when a video app takes over full screen, and presentation outranks it.

Pro

Smarter bedtime

The Daily Dimmer notices when you actually wind down and offers to move your schedule to match. It suggests and waits for you; it never edits the curve silently.

Pricing plan

Controlling your displays is free; the wind-down is what Pro adds

The DIY alternative is three apps stitched together and re-tuned at every macOS update. DisplayDial is a one-time purchase in the range of this category's one-time tools, with a real free tier and no subscription.

Free

$0
forever · no login · no nag
  • Hardware brightness for built-in + external displays
  • Basic schedule
  • Anti-lockout floor, always on

Pro

One-time
one-time · no subscription · waitlist price for waitlist members
  • Daily Dimmer bedtime curve
  • Click-through overlay automation + modes
  • Per-display brightness memory, idle energy saver, command line
Questions people actually ask

FAQ

Does this work with my external monitor's brightness keys?
Yes. Your brightness keys drive real luminance on external monitors that speak the Display Data Channel (DDC) protocol (most monitors over USB-C, HDMI, or DisplayPort), and the real backlight on the built-in display, with an on-screen bezel and no Accessibility permission needed. Every display also gets its own slider in the panel, plus the schedule and the command-line tool.
What's the difference between this and Lunar or MonitorControl?
Those are strong hardware-brightness tools, and the comparison table above scores them row by row. The short version: they stop at brightness. DisplayDial unifies the hardware valve with a click-through overlay for below-the-floor dimming, a bedtime-anchored brightness + warmth curve, an anti-lockout floor, and an idle energy saver, in one app. No tool we studied ships more than two of them.
Can my screen get stuck completely black if I dim it too much?
No. A hard 5% floor is engineered into every dimming path (sliders, schedule, scripts, idle dimming, all of it). Below 5% the app will not go. And if a monitor connects already stuck dark from other software's leftover state, a reconnect safety net raises it back to normal automatically.
Will this hurt my monitor if it changes brightness automatically all day?
No. The scheduled evening dimming runs through a software layer, so it writes nothing to your monitor's hardware at all. Hardware writes happen only when you move a slider yourself, and those are deliberately spaced out. This answers a real worry in this category: tools that constantly rewrite a monitor's brightness can wear out the small memory chip that stores it.
How does the bedtime dimming actually work?
You set a bedtime. Starting about three and a half hours before it (tunable), brightness and warmth taper along a melatonin-aware curve: full daylight, then a gradual descent to your chosen darkest point (13% and 1,900K by default) exactly at bedtime. After your wake time it brightens back over 30 minutes. Touch anything by hand and it pauses, then resumes on its own.
Is there a free version?
There will be, and it is real: hardware brightness control for every display, a basic schedule, and the anti-lockout floor, free forever, no login, no nag. The Daily Dimmer curve, overlay automation, modes, and profiles are what Pro is for.
Can my AI control it?
Yes. DisplayDial ships a local MCP server bundled inside the app, so Claude or any MCP-speaking desktop client on your Mac can read the dimmer and drive it in plain English: brightness, warmth, and the nightly wind-down schedule. It runs on your Mac only and never opens a network socket, and every AI request passes through the same 5% anti-lockout floor as your own hands, so an automation mistake cannot leave a screen stuck dark.
What does it do to my privacy?
Almost nothing, which is the point: no account, no cloud, no analytics in the app, and your schedule and settings live in local files on your own Mac. The app's only network touch is an HTTPS check of our own update feed. The privacy section above spells out the whole posture.
When can I get it?
Join the waitlist and you will hear the moment the build opens, at the waitlist price.
The bottom line

One app for every display, and a screen that
respects your evenings.

A comparable setup means stitching together three apps that still fight each other, and re-tuning them at every macOS update. DisplayDial is one command center, designed so a dock swap never wipes your setup and a bedtime never ends in a black screen. Join the waitlist for the first public build at the waitlist price.

You're on the list. New builds and the waitlist price will land in your inbox.

That email didn't look right. Mind trying again?

Your email is used for DisplayDial launch news only. No cookies, no trackers, no personal-data analytics on this site; anonymous, aggregate event counts only.

Join the waitlist