For your circadian health

The screen tint your body has been waiting for.

Sundial warms your Mac's display from the moment the sun goes down. It uses the same gamma engine as Night Shift, so it draws zero CPU — but goes far deeper, down to a 1000K ember red. No overlay. No render loop. No nonsense.

Free & open source 736 KB macOS 14+ Apple Silicon

Sundial

Tinted at 2200K — Campfire
Warmth2200K
Intensity95%
Brightness80%
Live demo. Click to apply your settings to the whole site.
Proof, not claims
0.0%

Sundial barely shows up in Activity Monitor — because it doesn't do anything. After writing a 256-entry gamma curve once, the GPU takes over and we go back to sleep. Drag any slider above and watch this whole page warm in real time.

Activity Monitor

My Processes

CPU
Memory
Energy
Disk
Network
Process Name % CPU CPU Time Threads Idle Wake Ups Kind % GPU PID User
Google Chrome 12.41:23:45.2134156Intel0.41245rrtjr
Cursor 6.80:42:18.041889Apple0.08721rrtjr
kernel_task 4.14:12:09.183121024Apple0.00root
Slack 3.20:21:09.451252Intel0.03401rrtjr
WindowServer 2.62:01:33.1222118Apple1.2184_window
Spotify 1.40:15:33.88828Intel0.02018rrtjr
Finder 0.30:01:42.0646Apple0.0422rrtjr
Sundial 0.00:00:12.1430Apple0.060266rrtjr
NotificationCenter 0.00:00:08.3151Apple0.0912rrtjr
loginwindow 0.00:00:04.0260Apple0.0168rrtjr

Measured on the actual binary. PID 60266. Three threads. Zero idle wake-ups.

Built different

Everything else either taxes your CPU
or compromises on warmth.

Zero CPU

Writes a 256-entry gamma curve once. The GPU applies it for free. Your fan never spins because of us.

Down to 1000K

Night Shift stops at 2700K. We go five times deeper — into ember red — for late-night reading and post-sunset wind-down.

Per-display tint

Warm your reading monitor. Keep your main display neutral for design work. Independent tint per screen.

Per-app overrides

Auto-disable in Figma, Photoshop, Lightroom, or anything else. Color work needs honest pixels.

Sunset ramping

Tint fades in over 20 minutes as your evening unfolds. No abrupt color shifts mid-task.

Scriptable

URL scheme works with Raycast, Alfred, Stream Deck, Shortcuts. One keystroke to your favorite preset.

Local-first

Location is computed on-device using NOAA solar math. Nothing leaves your Mac. No analytics. Ever.

736 kilobytes

Two hundred times smaller than Iris. There's just less to install when there's less to do.

Open source

Every line is on GitHub under MIT. Audit it, fork it, ship a version your team will trust.

The Science

Light is a signal.
Your screen is shouting.

For most of human history, the only blue light we saw after sunset came from the moon. Then came fluorescent lights, then LEDs, then a 6500K rectangle six inches from your face at 11pm. Your suprachiasmatic nucleus has not had time to catch up.

1

Melanopsin sees blue

Specialized retinal cells called intrinsically photosensitive retinal ganglion cells (ipRGCs) detect blue light around 480nm and tell your brain it's daytime.

2

Daytime suppresses melatonin

That signal tells your pineal gland to hold off on melatonin production. Useful at 9am. Disastrous at 11pm.

3

Sundial removes the signal

By shifting your display's gamma curve away from blue and toward red, your eyes get the same picture without the circadian alarm.

Honest comparison

How Sundial stacks up.

Feature Sundial Sundown f.lux Iris Night Shift
Price Free $79 lifetime Free $15–$120 Free
Open source
Zero CPU at idle
Minimum CCT 1000K 500K* 1200K 1200K 2700K
Per-display tint
Per-app overrides
URL scheme / scripting
App size 736 KB 16 MB 10 MB 83 MB
Telemetry None None None Update checks

* Sundown's marketing claims 500K. We've not yet replicated that depth without artifacts.

Eight built-in scenes

From golden hour
to ember red.

Golden Hour

3800K · 50% · 100%

Evening

4500K · 60% · 100%

Night

3000K · 85% · 85%

Campfire

2200K · 95% · 80%

Candlelight

1800K · 100% · 65%

Sleep

1900K · 100% · 70%

Ember

1400K · 100% · 55%

Biohacker

1000K · 100% · 50%
Free. Forever.

Take it for a sunset.

No account. No trial. No upsell. Drop it in Applications and click the moon when you're ready.

First launch: unzip, drag Sundial.app to Applications, then right-click → Open. The app is ad-hoc signed during beta — a Developer ID is on the roadmap.

199 KB · macOS 14+ · Apple Silicon · sha256 2522366d6c73…

Questions

Common questions.

How can it really be zero CPU?
Most "blue light" apps draw a semi-transparent overlay on top of your screen, which the GPU has to composite every frame. Sundial doesn't render anything. It writes a 256-entry curve to the display's gamma table once, and the display's own hardware applies that curve to every pixel for free. After the write returns, our process goes to sleep until sunset, sunrise, or a settings change. We've measured 0.0% CPU at idle.
Will it work with my external monitor?
Yes, on any display macOS treats as a gamma-controllable target — which is essentially all modern Mac-attached displays. The Pro Display XDR, Studio Display, and almost every HDMI/DisplayPort monitor work. Some unusual DDC/CI-only setups can ignore gamma writes; we'll surface a warning if we detect that.
What about Night Shift?
Night Shift uses the same gamma table we do, which means if both are active they overwrite each other every minute. Sundial can detect and politely disable Night Shift while it's running (you can turn this off in Settings). You don't lose anything — Sundial does what Night Shift does, but warmer, scriptable, and per-display.
Does it collect any data?
Nothing. No analytics SDKs, no crash reporting, no update pings during this beta. Your location is requested only to compute sunrise and sunset locally — the coordinates never leave your Mac. We can't see how you use the app and we don't want to.
What if Sundial crashes while my screen is warm?
We catch SIGTERM, SIGINT, and SIGHUP and restore your gamma instantly. For the worst case — SIGKILL or a hard system crash — we write a dirty-shutdown flag every time we tint, and on the next launch we restore identity gamma before doing anything else. Worst case you reboot and your screen is normal again.
Why open source?
Because the privacy claims are only meaningful if you can verify them. Because if we get hit by a bus, you can still build it. And because there's no good reason for a 736 KB utility to cost $79 forever.
What versions of macOS are supported?
macOS 14 Sonoma and later, on Apple Silicon or Intel. We may support macOS 13 in a future release if there's demand, but a few of the SwiftUI APIs we lean on are 14-only.