Dark Mode Email Design: Keeping Logos and Buttons Readable
Good dark mode email design comes down to one thing: every logo and button has to stay readable on a light background and on a dark one. Then you test the layout against each way a client might invert your colors. Picture a black logo on a transparent PNG. A subscriber opens the newsletter in dark mode, and the logo is gone. The fix takes five steps: learn the three inversion patterns, fix the logo, rebuild the buttons, add CSS overrides where clients honour them, and test before every send.
What Happens to Your Email When Dark Mode Turns On?
It depends on the client. A dark mode email might keep its original colors, get partially inverted, or get fully inverted. I’d treat these as three patterns to test, not rules tied to specific apps (apps change their behavior more often than you’d like):
- No change: your light design shows up exactly as you built it, even inside a dark interface.
- Partial inversion: light backgrounds get darker and dark text gets lighter. Dark areas stay put.
- Full inversion: every color flips. Yes, including the brand colors you picked on purpose.
Images play by different rules. The client recolors HTML backgrounds and fonts, but it usually leaves image pixels alone. So your transparent logo ends up sitting on a background you never chose. Design for the worst case. Not the best one.
Why Does a Transparent Logo Disappear in Dark Mode?
A transparent logo vanishes in dark mode because its dark pixels land right on the dark background the client adds behind it. Where your design had white, the reader now sees near-black, and black lettering just melts into it. You’ve got three reliable ways to keep a logo visible in a dark mode email:
- Add a thin light outline or a soft glow around dark lettering, so it pops off any background.
- Build a solid, padded shape into the image itself, like a light rounded box or badge behind the mark.
- Keep a separate light version of the logo and swap it in with a dark mode media query, where the client supports one.
None of these is free. An outline changes the brand mark a little. A solid box can look like a sticker in light mode. And the swap only works where CSS overrides are honoured. Same logic goes for icons, social media glyphs and any graphic with dark text in it.
How to Keep Email Buttons Readable When Colors Are Inverted
Build buttons from live HTML text and background colors, not images. That way the client can recolor the label and the fill together and keep the contrast between them. But even with live HTML, inverted email colors can still go sideways. A client might lighten the text and leave the fill alone. Or turn your brand color into something that’s definitely not on-brand.
My advice? Pick mid-tone brand colors that hold contrast in both schemes. Pure black and pure white invert the hardest, so skip them. A border in a contrasting color keeps the button edge visible on a dark background. And avoid image buttons with baked-in text. If you really can’t (it happens), give the image a solid background and alt text that describes the action, such as “Download the report”.
Using prefers-color-scheme in Email to Control Dark Mode Styles
The prefers-color-scheme media query lets you set your own dark palette instead of leaving it to the client’s automatic inversion. As the MDN reference on prefers-color-scheme explains, the usual pattern is a light color scheme by default plus a prefers-color-scheme: dark block that overrides it. The reverse works too.
Inside that block you override background colors, text colors, link colors and button fills, and you toggle which logo version shows up. Here’s the catch, though. Support for prefers-color-scheme in email varies from client to client. So treat the query as an extra layer on top of assets that already survive without it. The color-scheme and supported-color-schemes meta tags can tell the client that your email ships its own dark styles.
Dark Mode Email Design Checklist Before You Hit Send
Before any template goes out, run it through a short checklist for logos, buttons, text and images, in light and in dark:
- The logo is readable on white and on near-black.
- No transparent image has dark text without an outline or solid backing.
- Buttons are built in HTML with a contrasting border.
- Body text isn’t pure black on pure white.
- Dark mode overrides are defined for backgrounds, text, links and buttons.
- Every image has meaningful alt text.
Test each email against all three patterns (no change, partial inversion, full inversion) on real devices and in the clients your list actually uses. Dark mode bugs tend to show up next to mobile ones, so while you’re at it, check the layout against responsive email design basics.
And don’t try to fix everything with images. The text-to-image balance affects filtering, and image-heavy emails and spam go hand in hand. In MailCraft you can build and tweak layouts with responsive templates with live preview, then run the dark mode checks on test sends.
The main rule of dark mode email design is simple. Make assets that survive any background, then add overrides where the client respects them. Start with the logo. Then the buttons. Then run the checklist on your next newsletter. Want more on template work? Browse our guides to email design.
FAQ
Should I use a transparent PNG logo in email?
Only if the mark stays readable on both light and dark backgrounds. A dark logo on a transparent background can disappear once the client darkens the area behind it. If that happens, add a light outline or put the logo on a solid, padded shape inside the image.
Can I stop email clients from inverting my colors?
Not reliably, no. Where it’s supported, you can define your own dark styles with prefers-color-scheme, so the client uses your palette instead of its own. Everywhere else, you’re relying on assets built to survive inversion.
How do I test a dark mode email?
Send test messages to real accounts with dark mode turned on, on the devices and clients your subscribers actually use. Check the result against all three inversion patterns. For each one, look at the logo, the buttons and the text contrast before you approve the send.


