ColorMay 2026 · 6 min read

How to Create a Dark Mode Color Palette (2026)

Design dark mode colors that reduce eye strain, maintain accessibility, and look polished. Guidelines for backgrounds, text, and accents.

🌙
Try the Color Palette Generator
Free, no signup
DG
Derek Giordano
Designer & Developer
In this guide
01Dark Mode Design Principles02Choosing Background and Surface Colors03Text and Accent Color Adjustments04Testing Dark Mode Accessibility
⚡ Key Takeaways
  • Design dark mode colors that reduce eye strain, maintain accessibility, and look polished.
  • Dark Mode Design Principles.
  • Choosing Background and Surface Colors.
  • Text and Accent Color Adjustments.
  • Testing Dark Mode Accessibility.

Dark Mode Design Principles

Dark mode isn’t just inverting your light theme — that produces harsh contrasts, muddy colors, and accessibility failures. A well-designed dark mode uses a layered surface system where elevation is communicated through lighter shades of dark gray rather than shadows. The base background should be a very dark gray (#121212 to #1A1A2E), not pure black (#000000). Pure black next to white text creates excessive contrast causing halation, where bright text appears to bleed into the dark background. This site uses #0B0D17 — a dark blue-gray that feels richer than pure neutral gray.

Choosing Background and Surface Colors

Use 3–4 surface levels above your base: surface-1 at 4% white overlay, surface-2 at 8%, surface-3 at 12%, surface-4 at 16%. These subtle lightness differences replace shadows as depth indicators. Cards float at surface-1, modals at surface-2, tooltips at surface-3. Borders should be very subtle (6–10% white opacity). For backgrounds with personality, add a slight color tint to your dark gray — a hint of blue, warm gray, or deep purple creates a more refined feel. Use the Color Palette Generator to build your surface scale from your chosen base color.

Text and Accent Color Adjustments

Don’t use pure white (#FFFFFF) for body text on dark backgrounds — it’s too harsh. Use 87% white opacity (roughly #DEDEDE) for primary text, 60% for secondary, and 38% for disabled text. Your accent colors from light mode likely need adjustment: increase lightness and decrease saturation slightly so they remain vibrant without being neon. A button that’s #2196F3 in light mode might become #64B5F6 in dark mode. Test that accents maintain at least 4.5:1 contrast against your dark surfaces. Status colors (success, error, warning) also need lighter variants.

Testing Dark Mode Accessibility

Test your dark mode under real conditions: in a dark room, in a bright room, on OLED screens (where pure black is truly black), and on LCD screens (where ‘black’ is dark gray). Test all text/background combinations with the Contrast Checker for WCAG AA compliance. Check that interactive elements remain clearly distinguishable. Test with actual long-form content, not just component mockups. Consider offering an ‘auto’ mode that follows the user’s OS preference via the prefers-color-scheme media query.

Frequently Asked Questions

Why not use pure black for dark mode?+
Pure black creates excessive contrast with white text, causing halation. Use dark gray (#121212 to #1A1A2E) for a more comfortable reading experience.
Should dark mode colors match light mode?+
Not exactly. Accent and brand colors need adjustment — typically lighter and slightly less saturated — to maintain vibrancy and contrast on dark backgrounds.
Is dark mode better for battery life?+
On OLED/AMOLED screens, yes — dark pixels are physically turned off. On LCD screens, there’s no difference because the backlight stays on regardless.
Try it yourself

Use the Color Palette Generator — free, no signup required.

⚡ Open Color Palette Generator
DG
Derek Giordano
Written by the creator of Ultimate Design Tools. BA in Business Marketing.