Dark mode email design: how to build email that holds up when inboxes flip the colors

Dark mode breaks email because each client recolors your message differently. Apple Mail and the Gmail app read your color-scheme meta tags and media queries. Outlook on Windows ignores them, and Outlook.com forces its own partial inversion. Build with live text, padded logos, and borders so the design survives every recolor.

Why dark mode breaks email in the first place

There is no single dark mode. Each email client decides on its own how to repaint your message, and they disagree.

Apple Mail and iOS Mail are the well-behaved ones. They read the color-scheme and supported-color-schemes meta tags, and they let you write a @media (prefers-color-scheme: dark) block to swap specific colors. If you opt in with color-scheme: light dark, they mostly leave your palette alone and only nudge the extremes.

The Gmail app on iOS and Android partially respects the same signals. Gmail on desktop web does its own thing and has historically rewritten your styles using data-ogsc and data-ogsb attribute selectors instead of standard media queries.

Outlook is where most emails fall apart. Outlook on Windows uses the Word rendering engine, ignores @media entirely, and does not invert anything, so a light email just stays light inside a dark app frame. Outlook.com and the new Outlook do the opposite: they force a partial color inversion you cannot fully control, often flipping your backgrounds while leaving image-based text untouched.

The takeaway is not to chase every client. It is to design something that reads correctly whether the colors get inverted, partially inverted, or left alone.

Live text versus baked-in image text

This is the single biggest cause of broken dark mode emails. When a headline or a coupon code is baked into an image, the client cannot recolor it. So when the background around it flips to dark, the image keeps its original light background or its dark text, and you get a bright rectangle floating in a dark email or dark text sitting on a dark inverted panel.

Live HTML text avoids this. The client recolors it along with everything else, so a black headline on white becomes a light headline on dark and stays readable. Live text also shows up when a subscriber has images turned off, which a lot of Outlook and corporate setups do by default.

The rule is simple. Anything a reader must read to act on the email, the headline, the offer, the CTA label, the discount code, should be live text, not pixels. Keep images for photography, product shots, and decoration. If you absolutely must put text in an image, give that image a transparent or color-matched background and supply a dark-mode swap where the client supports it, but treat that as the exception.

Transparent PNG logos and how they vanish

A logo is the most common casualty. Brands export a logo as a transparent PNG with dark or black artwork, because it looks clean on a white email. Flip the background to dark and that black logo disappears into the background. You are left with empty space at the top of the email.

There are a few reliable fixes. The most bulletproof is to put the logo on a small padded plate of solid color that you control, a light rounded rectangle or a brand-color band, so the logo always sits on a known background no matter what the client does to the area around it. Because that plate is a real background color on a table cell, most clients leave it alone or invert the whole block together, and the logo stays legible either way.

A second option is a logo with a light or white version of the mark, or one with a thin outline, so it reads on both light and dark. Where the client supports dark-mode media queries, Apple Mail and the Gmail app, you can swap to a light logo with a @media (prefers-color-scheme: dark) rule. Just do not rely on that swap alone, because Outlook will never run it. Design the default so it survives even when no swap fires.

How to build email that survives the inversion

Start by opting in. Add the color-scheme and supported-color-schemes meta tags in the head, and set color-scheme: light dark on the root. This tells Apple Mail and Gmail you have handled dark mode and reduces the aggressive forced inversion some clients apply when you say nothing.

Watch your near-white and near-black values. Pure white backgrounds and pure black text are the values clients are most eager to flip, and they flip them unevenly. A border can fix a lot. If you give a white content card a one-pixel border in a mid-tone color, the card edge stays visible even after a client darkens the fill, so your layout does not dissolve into one flat block.

Avoid leaning on background colors you set with CSS shorthand that some clients strip. Set background colors on table cells with the bgcolor attribute as well as inline CSS, so the color holds when one of the two gets removed.

For the logo plate and any other element that must keep its exact color, a known trick is to wrap it so the client treats it as deliberate rather than something to invert. The honest version of the advice: pick a design where the inverted result still looks intentional, then test it, rather than trying to lock every pixel against a client that has decided to repaint your email.

Testing dark mode before you send

You cannot eyeball dark mode from your design tool, because the breakage happens at render time inside specific clients. You have to look at the real thing.

The fastest manual check is to send yourself a test and open it on a phone with the system set to dark mode, in both Apple Mail and the Gmail app, then open it in Outlook.com and, if you can, Outlook on Windows. Those four cover the behaviors that matter: full inversion handled by media query, partial inversion you cannot control, and a client that does not invert at all. If your email reads correctly in all four, it will read correctly almost everywhere.

For broader coverage, a rendering tool like Litmus or Email on Acid will show dark-mode variants across many clients in one screen, which is worth it for agencies sending at volume. Whatever you use, check three things specifically: did the logo survive, is every word still legible against its new background, and did any white card or section collapse into the background and lose its edges.

Mailwright builds its output as table-based, inline-CSS HTML with the dark-mode meta tags set and live text by default, so the email holds up across Gmail, Apple Mail, and Outlook before you ever paste it into Klaviyo. The guidance above still matters when you hand-edit, because dark mode is the place a small change quietly breaks a send.

Questions

Why does my email look fine in light mode but broken in dark mode? +

Because dark mode breakage happens at render time, not in your design tool. Each client recolors your email on its own. The usual culprits are image-based text that cannot be recolored, a transparent logo with dark artwork that vanishes on dark, and pure-white cards that collapse into the background once a client darkens them. Open the email in real clients with dark mode on to see it.

Does adding a prefers-color-scheme media query fix dark mode everywhere? +

No. Apple Mail, iOS Mail, and the Gmail app respect @media (prefers-color-scheme: dark) when you set the color-scheme meta tags. Outlook on Windows ignores media queries completely, and Outlook.com forces its own partial inversion regardless. Use the media query to improve the clients that support it, but design your default so the email still reads when no swap fires.

Should logos be transparent PNGs in email? +

A transparent PNG with dark artwork will disappear on a dark background. The most reliable fix is to place the logo on a small padded plate of solid color you control, so it always sits on a known background. A light or outlined version of the mark also helps, with a dark-mode swap where the client supports it. Do not rely on the swap alone, since Outlook will never run it.

How do I test dark mode email without a paid tool? +

Send yourself a test and open it on a phone set to dark mode in both Apple Mail and the Gmail app, then in Outlook.com and Outlook on Windows if you have it. Those cover full inversion, partial inversion, and no inversion. Check that the logo survived, every word is legible against its new background, and no white card lost its edges.

Stop fighting email HTML

Mailwright builds ESP-safe email on your client's brand. Chat a brief, get HTML that renders in every inbox.

Get a free sample

More guides