Dark mode has become expected in modern apps and websites. Users want it, platforms support it, and designers are more likely to implement it than ever before. The problem is that most dark mode implementations are done wrong, and the mistakes are surprisingly consistent.
Here are the seven most common dark mode design errors, and how to fix each one.
Pure black creates harsh contrast and makes text feel like it is floating on a void. Real dark mode backgrounds should be dark gray, not black. The best dark mode apps use backgrounds around #0a0a0a to #1e1e1e. Pure black also makes your UI feel flat because you cannot layer elements with subtle depth.
Fix: Use #0f0f0f to #1c1c1c as your base. Use slightly lighter grays (#1e1e1e, #252525) for cards and raised surfaces to create visual hierarchy.
Just as pure black backgrounds are harsh, pure white text creates excessive contrast that causes eye strain during extended use. Good dark mode typography uses slightly off-white colors. The best dark mode interfaces use #e5e5e5 or similar for primary text, not #ffffff.
Fix: Primary text at #e5e5e5, secondary text at #a0a0a0, tertiary text at #666. Maintain hierarchy without burning retinas.
Dark mode is not light mode flipped. Colors that work beautifully on white backgrounds become neon and overwhelming on dark ones. A brand color of #0052cc looks great on white. The same color on a dark background can feel oversaturated and cheap.
Fix: Desaturate and lighten brand colors for dark mode use. Create a separate dark mode color palette rather than inverting the light one.
In light mode, shadows create depth. On dark backgrounds, shadows are nearly invisible. Dark mode uses a different system: lighter surfaces appear higher. A card that sits above the page background should be slightly lighter, not shadowed.
Fix: Use surface elevation levels. Base: #121212. Cards: #1e1e1e. Modals: #252525. Tooltips: #2d2d2d. Each level of elevation gets slightly lighter.
Images with white backgrounds look terrible in dark mode. Logos with white fills become invisible. Photography with blown-out highlights looks jarring against dark interfaces. This is a detail most apps miss entirely.
Fix: Use SVGs with fills that respond to mode. For raster images, create dark-optimized versions. Use the CSS prefers-color-scheme media query to swap images when the system is in dark mode.
Focus indicators that were barely visible in light mode become invisible in dark mode. Users who navigate by keyboard or use screen readers rely on these visual cues. Skipping proper dark mode focus states fails accessibility standards and real users.
The most expensive mistake. Designing your entire product for light mode and then trying to convert it to dark at the end takes 3-4x longer than designing for both simultaneously. Color tokens and design systems that support both modes from day one are the only sustainable approach for production products.
Our design team handles light and dark mode from day one so you never have to retrofit.
Talk to Vola