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 and DDC-capable display 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.

FinderFileEdit9:41
100% · 6500K

Drag it. This is the live idea: brightness and warmth on one dial, per display, with a hard 5% floor, so no dimming path can take it black. Notice you can't reach 0.

Three apps → onethe hardware brightness tool, the overlay dimmer, and the bedtime app, replaced by one command center
The 5% floordim as deep as you like; no dimming path can leave the screen accidentally black
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. DisplayDial is pre-launch: no customer testimonials appear on this page because we do not have customers yet. We think that honesty is a feature too.

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.

The DisplayDial panel: today's curve, per-display hardware brightness sliders, modes, and the dimmer cover
  • 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 CLI ships with the app: status, set, presets, schedule. Everything the panel does, your scripts can do.
Built

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.

Built

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.

Built

Modes

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

The command center, running today

Not a mockup of the idea. The app, right now.

Most of what follows already runs in the live build. These four are real captures of the current app, not renders: the pieces the command center added most recently and the page hasn't caught up to showing yet.

DisplayDial window snapping settings: Accessibility permission granted, snap shortcuts mapped
Live in v0.23.2

Window snapping

Halves, thirds, and corners, with a layout that holds per display. One command center instead of a separate snapping app fighting your dimmer for the same screen.

DisplayDial Behavior settings: per-app brightness presets and the idle energy saver
Live in v0.23.2

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.

DisplayDial per-display settings: hardware sliders and the XDR/EDR extra-brightness boost toggle
Live in v0.23.2

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.

DisplayDial General settings: appearance, daytime brightness ceiling, and schedule style
Live in v0.23.2

Per-display profiles and the command line

Dock at your desk and every monitor returns to its saved brightness and warmth. Undock and the laptop takes over. 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
  • Window snapping, per-app presets, and the XDR/EDR boost, shown above
  • The dim command-line tool

Not on sale yet, on purpose

Pricing and checkout mockup for DisplayDial Pro, labeled: product preview, purchase flow ships at launch

The notarized download and the license it hands you already work end to end in our own tests. The one piece not live is the connection to Stripe itself: the webhook stays off until launch, so no purchase has completed yet. That is why this page still asks for your email, not your card.

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 3.5 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 colour 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 1900K 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.
DisplayDial Settings, Schedule tab: evening wind-down, darkest point at bedtime, and the morning ramp
A MacBook on a desk in a dim home office at night, warm lamp glowing nearby, its screen comfortably dimmed by the Daily Dimmer instead of glaring in the dark

This is the whole idea in one photo: a screen dim enough to sit next to a lamp at 11pm, not a floodlight in a dark room.

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 an honest 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). Window snapping, per-app presets, and the XDR brightness boost already run in the current build, shown above.

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 honest 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.

Preview · on the roadmap

Where the command center goes next.

These are not shipped yet. They are the direction: one app that runs your whole desk's displays, beyond brightness alone. Waitlist members vote on what comes first.

Preview

Display profiles across rooms

Today's per-display memory already survives a dock swap. Next: named profiles you can switch by hand for a second desk or a conference room, on top of automatic recall.

Preview

Focus modes

Presentation mode pins everything bright and holds notifications-adjacent dimming; Movie mode darkens everything but the show.

Preview

Smarter bedtime

The Daily Dimmer curve learning from your actual habits, beyond a fixed clock. Presence-aware ideas are on the bench.

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 will be a one-time purchase, priced at launch 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
price announced at launch · waitlist members get the waitlist price
  • Daily Dimmer bedtime curve
  • Click-through overlay automation + modes
  • Per-display profiles, idle energy saver, CLI
Questions people actually ask

FAQ

Does this work with my external monitor's brightness keys?
Yes, that is the founding reason it exists. DisplayDial drives real hardware luminance on DDC-capable external monitors (most monitors over USB-C, HDMI, or DisplayPort) and the real backlight of your built-in display. Each display gets its own slider, and keyboard-shortcut control is on the near roadmap.
What's the difference between this and Lunar or MonitorControl?
Those are strong hardware-brightness tools, and the comparison table above scores them honestly. 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 3.5 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 1900K 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?
DisplayDial is in private use today (the screenshots on this page are the real app) and the public build is being prepared. The waitlist is the fastest path: members get new builds ahead of the public release, 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