Designing dark mode palettes that are easy on the eyes
By the 000098 editorial team · Updated · 6 min read
Dark mode is not simply inverted light mode. Pure black backgrounds with pure white text cause glare and halo effects for many readers, and saturated brand colors can vibrate against dark surfaces. A few rules make dark themes comfortable.
Use dark grays or tinted darks, not pure black
Most design systems use a base surface between about #121212 and #1E1E1E, or a tinted near-black that echoes the brand. A navy brand can use a blue-black such as #0B0D24 for the background and slightly lighter navy for cards. Lighter surfaces indicate elevation: the higher a card sits, the lighter it gets.
Soften text
Use off-white (around 87–90% white) for body text and a dimmer value for secondary text. Check both against your surface; secondary text is where dark themes most often fail WCAG.
Desaturate and lighten accents
A deep brand color like #000098 has excellent contrast on white but almost none on a dark background (about 1.45:1 against black). In dark mode, switch to a lighter tint from its scale, such as a periwinkle around #8C8CFF, for links and buttons. The token stays "brand primary"; only its value changes per theme.
Rethink states and shadows
- Shadows barely show on dark surfaces; use lighter surfaces or subtle borders for depth.
- Error reds and success greens usually need lighter, less saturated versions.
- Focus rings need 3:1 contrast against the dark surface too.
Images and charts
Reduce the brightness of large photos slightly and give charts a dark-mode palette. Many chart colors chosen for white backgrounds become illegible on dark ones.
Implement with tokens
Define semantic tokens (surface, text, primary, border) and map them to different values per theme with CSS custom properties and prefers-color-scheme. Generate the light and dark variants from the same 50–950 scale shown on every color page here.
Want this applied to your brand?
Get an accessible palette, tokens and a style guide built for you.
Keep reading
Hex color codes explained: how #000098 and every other code works
A plain-English guide to hexadecimal color codes: what the six digits mean, how to read them, shorthand, alpha and how to convert to RGB.
Color theory basics for designers and marketers
The color wheel, harmonies, value and saturation, and the 60-30-10 rule, explained with practical examples you can apply today.
WCAG color contrast: a practical guide to accessible colors
What contrast ratios mean, the AA and AAA thresholds in WCAG 2.2, how they are calculated and how to fix colors that fail.
Color psychology in marketing: what the evidence actually says
How color influences recognition, attention and perception in branding and conversion, which claims are myths, and how to test colors properly.