screenroveSCREENS WORTH STUDYING
← Field notes
Pattern study

Dark mode toggle UI: how 28 SaaS apps let users pick a theme

Dark mode toggle UI in 28 SaaS apps: 16 of 25 offer just System, Light and Dark, others up to 16 themes. Previews, live re-theming and Pro-gated Dark.

Of the 25 SaaS theme pickers in our library where we could see every option, 16 offer exactly three: a system-following option, Light and Dark. The rest range from Clockify's bare Light/Dark pair to Workflowy's 16 named themes, and the interesting differences in dark mode toggle UI are not the count but where the control lives, what it previews and what it costs.

We pulled every appearance screen on the Settings pages wall: 59 screenshots from 40 products. Twelve of those products theme something you publish (a form, a storefront, a docs site, an app you build). The other 28 theme the product's own interface, and they are the subject here.

How many themes do SaaS apps offer?

Three of the 28 don't show the full list in our captures (Amplitude's select is closed, Netlify shows a summary card, Fibery's capture is cut off below its Warm and Neutral thumbnails). For the other 25:

Options in the pickerProductsExamples
21Clockify (Light, Dark)
316Render, PostHog, Recraft, Any.do, Medium, Jira, Krea, Eraser
41Raindrop
61Plane
82Superthread, Todoist
122Postman, TickTick
131Superlist
161Workflowy

The long lists split into two camps. Developer tools borrow editor palettes: Postman offers 12 including Ayu, Dracula, Monokai, Night Owl and Solarized, and Workflowy's select runs from Light, Dark and System through Catppuccin, Hacker, Matcha and Moon to One Dark. Consumer to-do apps go for mood instead: Superlist lists 13 themes from Blackout and Ocean to "Red & White", and TickTick has a "Color Series" of 12 named swatches (Sky, Matcha, Peach, Lilac…) above a "City Series" of illustrated skylines (Cairo, London, Los Angeles, Moscow).

Only two products treat contrast as a theme. Plane's six options are System Preference, Light, Dark, "Light high contrast", "Dark high contrast" and "Custom theme", and Postman has High Contrast Light and High Contrast Dark cards. If you are adding themes beyond Dark, those two are a better use of the slot than a third accent colour.

Postman: twelve theme cards, each a tiny app mock in that theme, from Light and Dark to Dracula and Solarized Dark
Each of Postman's 12 cards is a miniature of the app, and the send button takes that theme's accent (pink for Dracula, purple for Night Owl Dark), so you compare real UI, not names. Captured 21 October 2026 · DesktopExplore reference ↗

The dark mode toggle UI: four shapes

Across the 28, the control takes one of a few forms:

Krea uses small screenshots of its own UI for System, Light and Dark, and repeats the trick for its "Sidebar icons" setting (Colored, Simple, Minimal). Twenty goes the other way, with tiles that hold nothing but "Aa" on light, dark and a half-and-half "System settings" tile. Five products draw the system option as a split tile (Krea, Checkly, Superthread, Twenty and Jira's "Match browser") that explains itself without copy.

Eraser goes furthest. Below three radio cards (Light, Dark, Auto) it renders a full sample file, "Technical Design Doc" with a goal, links, decision makers and an entity diagram, so you judge the theme on the kind of content you will actually read. The intro line also teaches the shortcut: "Toggle between Light & Dark mode at any time with ⇧ Alt D." It is the only picker in the set that teaches a shortcut.

Eraser: Light, Dark and Auto radio cards above a sample Technical Design Doc rendered in the dark theme
Eraser previews the theme on a realistic document and diagram, and puts the keyboard shortcut in the first line of the panel. Captured 22 October 2026 · DesktopExplore reference ↗

Twelve names for "follow my system"

23 of the 25 full lists include an option that follows the operating system. Clockify offers only Light and Dark, and Raindrop's four unlabelled thumbnails don't show one. Those 23 products use 12 different labels for that option:

"Auto" alone is the vaguest: auto based on what? Medium's "Auto (follow system settings)" and Eraser's subline "Use system preferences" answer the question. Postman does the most with it: pick "Sync with system" and the grid becomes two cards, Day Theme and Night Theme, each with its own preview and select and an "Active" tag on the live one.

Live re-theme or preview first?

For 15 of the 28 products we captured the theme control after switching to dark. In all 15 the settings surface itself had already repainted, with the control still on screen: Adobe Express's modal, Any.do's corner sheet, Medium's dialog (where Done flips from a black pill to a white one) and Jira's whole personal settings page, with no save button in sight. Krea repaints the modal and the app behind it in one step.

The exception is when the setting is not personal. Grafana's interface theme on the organisation's Default preferences page goes through a dialog: "This will update the preferences for the whole organization. Are you sure you want to update the preferences?" A confirm step is justified there, and nowhere else in the set.

That raises the scope question, and the best pickers answer it in a sentence. Eraser: "Your personal settings do not affect what others see." Amplitude: "These settings affect your experience in the application, but will not affect others in your org." Checkly: "This setting is stored per device." Fibery: "Manage display settings for your current browser or app". Medium adds an honest caveat to its Beta badge: you "might run into an occasional area on Medium that is still under dark mode construction."

Checkly: Light, Dark and Auto mini dashboard tiles, with Auto split diagonally between light and dark
Checkly's Auto tile is split diagonally, and the helper line states scope: "This setting is stored per device." Captured 22 October 2026 · DesktopExplore reference ↗

Builders that theme your output differ. Glide's Environment tiles (Auto, Light, Dark) and Gumroad's Colors row flip only the preview of the app or storefront to dark while the editor stays light. That is correct: the dark mode belongs to your end users, not to you.

Dark mode as a paid feature

Only one of the 28 charges for dark mode itself. Coolors tucks Theme into the avatar menu, and in the flyout (System, Light, Dark) Dark carries a pink "PRO" tag.

Coolors: avatar menu with a Theme flyout listing System, Light and Dark, with a pink PRO tag on Dark
The one product in the set that puts dark mode itself behind a plan. Captured 22 October 2026 · DesktopExplore reference ↗

The more common move is to give away Dark and charge for variety. Todoist shows four free themes (Todoist, Dark, Moonstone, Tangerine) and four locked Pro themes (Kale, Blueberry, Lavender, Raspberry) under an "Unlock more themes" banner with an Upgrade button. TickTick's illustrated City Series tiles carry a small crown badge, the same icon as the Premium item in its settings nav.

Todoist: four free theme cards above an Unlock more themes banner and four locked Pro theme cards
Todoist keeps Dark free and locks four colour themes, each still previewed as a tinted mini mock-up so you can see what you would get. Captured 2 October 2026 · DesktopExplore reference ↗

How hard is it to find?

Four products keep the toggle in a menu rather than a settings page. Coolors, Neon and Render put it in the account menu, which is quick. tldraw puts it three menus deep: main menu, then Preferences (nine options plus three submenus), then Theme, which ends at Light, Dark and System. Eraser's shortcut and the account-menu flyouts show the shorter path.

tldraw: main menu, Preferences submenu and Theme submenu stacked, ending at Light, Dark and System
Three stacked menus to reach three options. Captured 21 October 2026 · DesktopExplore reference ↗

Bonus: show the value, not the format code

Theme often sits beside date and time formats, and the best pages preview those too. Workflowy's pills read "Thu, Oct 22" and "4:15pm"; in our dark capture minutes later the same pill reads "4:20pm", because it renders the live clock. TickTick shows fixed examples ("24 Hour (13:00)", "12/31/2026"), and Twenty uses a sample date, "System settings · Mar 12, 2024".

What to steal

How we counted

We captured these screens in desktop browsers with research accounts in September and October 2026, and a vision model recorded each screen's attributes, which you can check on each screen's page. Option counts come from what was visible in our captures; a closed select or a cropped list was left out rather than guessed. We record what we saw, not A/B test results, so nothing here says which picker gets more people to switch. Because we deliberately switched themes to capture them, the share of dark screens on this wall says nothing about how many users choose dark.

To compare these yourself, browse the dark appearance screens or the full Settings pages wall. Building one now? Connect the Screenrove MCP server and ask your agent for theme pickers with previews before it writes the component.