Dark Mode Contrast Checker
Dark mode has different rules. Light text on dark backgrounds behaves differently from dark text on light — same math, different perception. Check your dark theme colors for WCAG compliance and real-world readability.
Light Mode vs Dark Mode: Same Color, Different Result
The #1 dark mode mistake: using light-mode brand colors unchanged. You need a tint ~30% lighter for dark backgrounds.
Dark Mode Text Color Guide (on #0F172A)
Dark Mode Non-Text Contrast (3:1 required)
SC 1.4.11 (Non-Text Contrast) is the most overlooked dark mode requirement. Every border, icon, and focus indicator needs 3:1 against its dark background.
The Halation Effect: Why Dark Mode Needs Extra Care
When light text sits on a dark background, the human eye experiences halation — the light areas appear to spread or bleed into the dark, making text look slightly blurred. This is a physiological effect, not an optical illusion: the eye's photoreceptors scatter incoming light, and brighter pixels excite neighboring receptors more than darker ones.
The practical takeaway: a 4.5:1 ratio in dark mode feels subjectively harder to read than 4.5:1 in light mode. This is why professional dark mode implementations (like GitHub, VS Code, and macOS Dark Mode) routinely target 7:1 or higher — not because AAA requires it legally, but because it compensates for halation and delivers equivalent readability.
Two quick fixes that cost nothing: (1) use a slightly heavier font weight in dark mode — the extra stroke width counters halation blur, and (2) avoid pure white text — off-white (#E2E8F0 range) reduces the bloom effect while still exceeding 10:1 on typical dark backgrounds.
How to Check Dark Mode Contrast
1. Set your text color — pick the light text color from your dark theme. Common choices: off-white #E2E8F0 for body text, or your brand's light tint for CTAs.
2. Set your dark background — typical dark mode backgrounds range from #0F172A (Slate 900) to #111827 (Gray 900) to #000000 (OLED). Test the exact shade your design system uses.
3. Check both text AND non-text elements — don't forget borders, focus rings, dividers, and icons. These need 3:1 under SC 1.4.11 and are the most common dark mode contrast failures.
Contrast Ratio
Heading Preview
Body text rendered in your selected colors. This is how your content will look — check if it's comfortable to read at normal paragraph sizes.
12px caption · secondary information
URL Scanner
Scan any site for WCAG issues
Pick a seed color and get WCAG-compliant harmonies.
This feature is not yet available. We're actively building it — if you'd like early access or have ideas to share, reach out and we'll prioritize your needs.
Contact Us