Skip to main content

Our email CSS engine is open source. Give it a star on GitHub 

Emailens

Outlook (New) email CSS: what breaks, and what to write instead

168 of 300 features work in Outlook (New) · 34 partial · 98 not supported. It differs from Outlook 365 on 1 feature: text-shadow.

Works 168 · Partial 34 · Not supported 98 · Untested 0 · of 300

Outlook Web · desktop · prefers-color-scheme: works · Replaces Outlook Classic · What changes for HTML email

The checker needs a computer screen.

See what breaks ↓

Outlook (New) is one of the five clients the checker runs with no account.

A free account opens all 21 clients and keeps your checks for 7 days. Create a free account →

@emailens/engine 0.18.22 · data last changed 10 Nov 2026

Where Outlook (New) is the outlier

1 feature work in at least 14 of the other 20 clients and is not supported here.

So an email that looks right in most clients can reach your reader in Outlook (New) without them.

What to write instead

8 features Outlook (New) does not fully support have a written fix. See them in the table ↓

text-shadow

The fix for Outlook (New)

Use font-weight or border-bottom as alternatives to text-shadow

after
.glow {
  /* text-shadow is not supported in Gmail, Outlook, Yahoo.
     Use font-weight or letter-spacing for emphasis instead. */
  font-weight: bold;
  letter-spacing: 0.5px;
}
Show the original
before
.glow {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

The checker needs a computer screen.

transform

The fix for Outlook (New)

Pre-render transformed states as images or use table layout

The engine still flags this in the fix: An image points to an address no inbox can load (rotated-content.png), so Outlook (New) shows a broken image instead.

after
<!-- Pre-render rotated content as an image -->
<img src="rotated-content.png" width="200" height="200"
  alt="Rotated content"
  style="display: block; border: 0;" />
Show the original
before
<div style="transform: rotate(45deg);">
  Rotated content
</div>

The checker needs a computer screen.

<svg>

The fix for Outlook (New)

Convert inline SVG to an image for email compatibility

after
<img src="https://example.com/icon.png"
  width="24" height="24" alt="Icon"
  style="display: block; border: 0;" />
Show the original
before
<svg width="24" height="24" viewBox="0 0 24 24">
  <path d="M12 2L2 7l10 5 10-5-10-5z" fill="#6d28d9"/>
</svg>

The checker needs a computer screen.

Paste your email and see what Outlook (New) does to it.

The checker needs a computer screen.

Dark mode in Outlook (New)

Live preview: Outlook (New) applies partial color inversion in dark mode, similar to Outlook.com.

How to target Outlook (New)

Selectors that single out Outlook (New), from the community list the engine ships (howtotarget.email). Copy one and replace .your-class-name.

css
.your-class-name\0{
  /* Replace this comment with your styles */
}

The \0 gets removed as part of the HTML cleanup.

No longer works (1)
css
@media (min-resolution: 1dpi) {
  body[data-outlook-cycle] .your-class-name {
    display: block!important;
  }
}

Build one for several clients →

Before you send to Outlook (New)

  • Check Outlook on the web when you check this client. They share a foundation, and Outlook.com is the one with published test results.
  • Keep checking Outlook Classic separately for as long as your audience includes it. A pass here says nothing about Word.

Every feature in Outlook (New)

Show

HTML Elements · 16 of 48 not supported or partial here

HTML Attributes · 9 of 22 not supported or partial here

HTML & Email Structure · 3 of 8 not supported or partial here

CSS At-Rules · 5 of 10 not supported or partial here

Pseudo-Elements · 6 of 6 not supported or partial here

  • ::after Partial. Partial Works in 6 of 21
  • ::before Partial. Partial Works in 6 of 21
  • ::first-letter Partial. Partial Works in 10 of 21
  • ::first-line Partial. Partial Works in 10 of 21
  • ::marker Not supported Works in 10 of 21
  • ::placeholder The pseudo-element is supported but <input> elements are not. Partial Works in 9 of 21

Pseudo-Classes & Selectors · 25 of 34 not supported or partial here

CSS Functions · 7 of 8 not supported or partial here

CSS Properties · 61 of 164 not supported or partial here

How Outlook (New) renders email

The new Outlook for Windows replaces Outlook Classic and is built on Outlook on the web, so it renders email with a browser engine rather than with Microsoft Word. Microsoft is moving Windows users to it over several years, which means a business audience will be split between the new app and Classic for some time.

Conditional comments
<!--[if mso]> blocks are for Word. The new Outlook does not read them, so fixes placed there reach Outlook Classic only.
animation / transform
Neither works in Outlook on the web, which the new Outlook is built on. Design the static state to be complete.
@font-face
Outlook on the web does not load web fonts, so plan on the fallback stack here too.
  • caniemail, the public source most support tables are built from, has not published tests for the new Outlook. The closest measured client is Outlook on the web, which it is built on, so treat Outlook.com results as the guide here.
  • For a template that has to serve both the new app and Classic, keep the table structure that Classic needs and layer browser features on top. The new app reads the tables fine; Classic cannot read the browser features.

Get new email CSS fixes by email.

caniemail (MIT) via @emailens/engine 0.18.22 · data last changed 10 Nov 2026 · Outlook (New) cells are the engine's mapping