CHAPTER 19
Beginner
Dark Mode and Theming
Updated: May 16, 2026
30 min read
# CHAPTER 19
Dark Mode and Theming
1. Introduction
A decade ago, computer interfaces were stark, bright white. Today, if you launch an application without a "Dark Mode" option, users will instantly complain that your software is blinding them at night. Dark Mode is no longer an aesthetic luxury; it is an absolute industry standard required for accessibility, battery conservation (on OLED mobile screens), and visual comfort. However, designing a Dark Mode UI is not as simple as highlighting the white canvas and painting it black. Reversing a color palette requires a complete re-evaluation of depth, elevation, and typography contrast. In this chapter, we will master Dark Mode and Theming. We will abandon pure black backgrounds, utilize deep grays to indicate UI elevation, and restructure our Figma Color Styles to easily toggle between Light and Dark themes.2. Learning Objectives
By the end of this chapter, you will be able to:-
Understand why true
#000000black is rarely used as a Dark Mode background.
- Utilize lighter shades of gray to indicate UI elevation and depth in Dark Mode.
- De-saturate vibrant primary brand colors to prevent eye strain on dark backgrounds.
- Maintain strict WCAG contrast ratios when reversing text and background colors.
- Organize Figma Color Styles to support dual-theme (Light/Dark) architecture.
3. The Pure Black Fallacy
The most common mistake a beginner makes when designing Dark Mode is setting the background frame to absolute pure black (#000000).
*Why is this bad?*
- 1. Eye Strain: Pure white text on a pure black background creates incredibly harsh, vibrating contrast that causes physical eye fatigue and "visual smearing" when scrolling.
- 2. Loss of Depth: In Light Mode, you use a Drop Shadow to make a UI Card "float" above the background. In Dark Mode, you cannot put a dark Drop Shadow on a pure black background—it is invisible! You lose all visual depth.
*The Standard:* Use deep, dark grays (e.g., #121212, #1E1E1E, or #111827) as your absolute base background color.
4. Elevation in Dark Mode (Lighter is Closer)
In Light Mode, we use Drop Shadows to show that a UI Card is floating closer to the user. Because shadows don't work well in the dark, Dark Mode relies on Lightness to indicate elevation.-
The Base Canvas:
#121212(Very dark gray).
-
A UI Card resting on the canvas:
#1E1E1E(Slightly lighter gray).
-
A Modal/Popup floating high above the card:
#2C2C2C(Even lighter gray).
5. De-Saturating Brand Colors
If your company's primary brand color is an incredibly vibrant, saturated Neon Blue, it will look amazing on a white background. However, if you place that exact same Neon Blue on a dark gray background, it will visually vibrate and bleed, making it painful to look at. *The Rule:* When moving to Dark Mode, you must slightly de-saturate (reduce the intensity) and lighten your primary brand colors. This ensures the buttons remain recognizable but do not burn the user's retinas in a dark room.6. Theming Architecture in Figma
How do you build a Figma file that supports both themes without designing everything twice? You must use highly organized Color Styles (Design Tokens) with semantic names, as discussed in Chapter 15.-
Instead of naming a color "Dark Gray Text", you name the variable
Text / Primary.
-
In Light Mode,
Text / Primaryis mapped to Dark Gray.
-
In Dark Mode,
Text / Primaryis mapped to Light Gray.
7. Diagrams/Visual Suggestions
*Visual Concept: The Elevation Staircase* Provide a side-by-side comparison of Elevation.-
Left Panel (Light Mode): The Canvas is
#FFFFFF. A Card sitting on it is also#FFFFFF, but it is separated by a distinct gray Drop Shadow.
-
Right Panel (Dark Mode): The Canvas is
#121212. A Card sitting on it is#1E1E1E(Lighter). A button on the card is#2C2C2C(Even Lighter). There are zero drop shadows.
8. Best Practices
-
Text Contrast in Dark Mode: Do not use pure white (
#FFFFFF) text for large paragraphs in Dark Mode. It is too bright. Use a very light gray (e.g.,#E0E0E0or#F3F4F6) for standard paragraph text. Only reserve pure white for critical headers or active icons that absolutely must stand out.
9. Common Mistakes
-
Forgetting the Border Lines: When designing a Dark Mode data table, beginners often use the exact same thin, medium-gray line to separate the rows that they used in Light mode. On a dark background, that medium-gray line becomes glaringly bright and visually overpowers the actual text! *The Fix:* Border lines in Dark Mode should be incredibly subtle, barely perceptible dark grays (e.g.,
#333333) so they fade into the background.
10. Mini Project: Convert a Light Card to Dark Mode
Let's practice the architectural inversion.-
1.
Light Card: Draw a white (
#FFFFFF) UI Card on a light gray (#F3F4F6) Canvas. Add a dark gray (#1F2937) Title, and a bright Blue (#2563EB) Button. Add a drop shadow to the card.
- 2. Dark Conversion: Duplicate the entire design to the right.
-
3.
Change the new Canvas to a deep gray (
#111827).
-
4.
Change the new Card to a slightly lighter gray (
#1F2937). *Remove the drop shadow entirely.*
-
5.
Change the Title text to a soft white/light gray (
#F9FAFB).
-
6.
Select the Blue button. It looks too aggressive on the dark background. Lighten and de-saturate it slightly (e.g.,
#3B82F6).
- 7. You have successfully translated a UI component across environments!
11. Practice Exercises
-
1.
Define the architectural problem with using pure black (
#000000) as the background canvas for a Dark Mode interface. How does it negatively impact depth perception and typography?
- 2. Explain the "Elevation Rule" in Dark Mode design. How do you visually communicate to a user that a Modal popup is floating physically higher than the main background canvas?
12. MCQs with Answers
Question 1
In a standard Light Mode UI, designers utilize Drop Shadows to visually indicate that a UI Card is elevated above the background canvas. Because Drop Shadows are largely invisible on dark backgrounds, what alternative architectural method MUST a designer use to indicate elevation in a Dark Mode UI?
Question 2
When converting a corporate UI from Light Mode to Dark Mode, a designer notices that their vibrant, highly saturated Primary Brand Blue button causes severe visual vibration and eye strain against the new dark gray background. What is the standard design fix for this issue?
13. Interview Questions
- Q: Explain the mechanical differences in how a UI Designer establishes "Depth" and "Elevation" in a Light Mode environment versus a Dark Mode environment.
-
Q: Why do seasoned UI designers avoid using pure white text (
#FFFFFF) for large paragraphs on a dark background? What specific hex codes or tonal values would you use instead to ensure readability without causing eye fatigue?
- Q: Walk me through your methodology for establishing a dual-theme (Light/Dark) Design System in Figma. How do you structure your semantic Color Styles (e.g., "Background/Primary" or "Text/Secondary") so that a developer can easily program a Dark Mode toggle switch in the code?