Outlook Classic is being retired. Your email code mostly isn't.
Outlook Classic, the Outlook that renders email with Microsoft Word, stops being the Windows default in April 2026, and Microsoft supports it to at least 2029. Its replacement, Outlook (New), renders with the Outlook Web pipeline. Measured across the 298 HTML and CSS features we track: 143 behave identically in both, 149 improve, 5 genuinely regress, and 1 previously-unverified features are now confirmed unsupported. Data last synced Oct 14, 2026.
Still broken in the new Outlook
The new Outlook inherits outlook.com's aggressive CSS sanitizer, so the features that define "coding email like it's 2003" stay unsupported in both:
What improves (149)
| Feature | Outlook Classic (Word) | Outlook (New) |
|---|---|---|
| <abbr> | Unsupported | Supported |
| <acronym> | Unsupported | Supported |
| <base> | Unsupported | Partial |
| <button type="reset"> | Unsupported | Supported |
| <dfn> | Partial | Supported |
| <form> | Unsupported | Partial |
| <input type="checkbox"> | Unsupported | Supported |
| <input type="hidden"> | Unsupported | Supported |
| <input type="radio"> | Unsupported | Supported |
| <input type="reset"> | Unsupported | Supported |
| <input type="text"> | Unsupported | Supported |
| <marquee> | Unsupported | Partial |
| <meter> | Unsupported | Supported |
| <rp> | Unsupported | Supported |
| <rt> | Unsupported | Supported |
| <ruby> | Unsupported | Supported |
| <select> | Unsupported | Supported |
| <style> | Partial | Supported |
| <textarea> | Unsupported | Supported |
| <wbr> | Unsupported | Supported |
| [aria-describedby] | Unsupported | Supported |
| [aria-hidden] | Unsupported | Supported |
| [aria-label] | Unsupported | Supported |
| [background] | Unsupported | Supported |
| [dir] | Partial | Supported |
| [height] | Partial | Supported |
| [role] | Unsupported | Supported |
| [width] | Partial | Supported |
| @media | Unsupported | Partial |
| @media device-pixel-ratio | Unsupported | Supported |
| @media hover | Unsupported | Supported |
| @media orientation | Unsupported | Supported |
| @media prefers-color-scheme | Unsupported | Supported |
| @media prefers-reduced-motion | Unsupported | Supported |
| !important | Partial | Supported |
| align-items | Unsupported | Supported |
| background | Partial | Supported |
| background-blend-mode | Unsupported | Supported |
| background-clip | Unsupported | Supported |
| background-image | Unsupported | Supported |
| background-origin | Unsupported | Supported |
| background-position | Unsupported | Supported |
| background-repeat | Unsupported | Supported |
| background-size | Unsupported | Supported |
| border | Partial | Supported |
| border-radius | Unsupported | Supported |
| border-spacing | Unsupported | Supported |
| bottom | Unsupported | Supported |
| box-shadow | Unsupported | Supported |
| box-sizing | Unsupported | Supported |
| caption-side | Unsupported | Supported |
| clear | Unsupported | Supported |
| column-count | Unsupported | Supported |
| columns | Unsupported | Supported |
| display | Partial | Supported |
| doctype | Unsupported | Supported |
| empty-cells | Unsupported | Supported |
| fit-content | Unsupported | Supported |
| flex-direction | Unsupported | Supported |
| flex-wrap | Unsupported | Supported |
| float | Unsupported | Supported |
| font-kerning | Unsupported | Supported |
| font-size | Partial | Supported |
| font-size-adjust | Unsupported | Supported |
| font-stretch | Unsupported | Supported |
| font-weight | Partial | Supported |
| gap | Unsupported | Partial |
| height | Partial | Supported |
| html5-semantics | Unsupported | Partial |
| image-maps | Unsupported | Supported |
| justify-content | Unsupported | Supported |
| left | Unsupported | Supported |
| letter-spacing | Partial | Supported |
| line-height | Partial | Supported |
| list-style | Partial | Supported |
| list-style-position | Unsupported | Supported |
| max-height | Unsupported | Supported |
| max-width | Partial | Supported |
| min-height | Unsupported | Supported |
| min-width | Unsupported | Supported |
| mix-blend-mode | Unsupported | Supported |
| object-fit | Unsupported | Supported |
| object-position | Unsupported | Supported |
| opacity | Unsupported | Supported |
| orphans | Unsupported | Supported |
| outline | Unsupported | Supported |
| overflow | Unsupported | Partial |
| padding | Partial | Supported |
| position | Unsupported | Partial |
| pseudo-class-active | Unsupported | Partial |
| pseudo-class-default | Unsupported | Partial |
| rgb | Partial | Supported |
| rgba | Unsupported | Supported |
| right | Unsupported | Supported |
| system-ui | Unsupported | Supported |
| tab-size | Unsupported | Supported |
| table-layout | Unsupported | Supported |
| text-align | Partial | Supported |
| text-decoration | Partial | Supported |
| text-decoration-color | Unsupported | Supported |
| text-decoration-line | Unsupported | Supported |
| text-decoration-style | Unsupported | Supported |
| text-emphasis | Unsupported | Supported |
| text-justify | Unsupported | Partial |
| text-orientation | Unsupported | Supported |
| text-overflow | Unsupported | Supported |
| text-transform | Partial | Supported |
| text-underline-position | Unsupported | Supported |
| top | Unsupported | Supported |
| unit-ch | Unsupported | Supported |
| unit-initial | Unsupported | Supported |
| unit-rem | Unsupported | Supported |
| unit-vh | Unsupported | Supported |
| unit-vmax | Unsupported | Supported |
| unit-vmin | Unsupported | Supported |
| unit-vw | Unsupported | Supported |
| visibility | Unsupported | Supported |
| white-space | Unsupported | Supported |
| widows | Unsupported | Supported |
| width | Partial | Supported |
| word-break | Unsupported | Partial |
| word-spacing | Unsupported | Supported |
| writing-mode | Unsupported | Supported |
| z-index | Unsupported | Supported |
| ::after | Unsupported | Partial |
| ::before | Unsupported | Partial |
| ::first-letter | Unsupported | Partial |
| ::first-line | Unsupported | Partial |
| ::placeholder | Unsupported | Partial |
| :adjacent-sibling | Unsupported | Supported |
| :attribute-selector | Unsupported | Partial |
| :checked | Unsupported | Partial |
| :child-combinator | Unsupported | Supported |
| :first-child | Unsupported | Partial |
| :first-of-type | Unsupported | Partial |
| :focus | Unsupported | Partial |
| :focus-visible | Unsupported | Partial |
| :general-sibling | Unsupported | Supported |
| :hover | Unsupported | Partial |
| :last-child | Unsupported | Partial |
| :last-of-type | Unsupported | Partial |
| :only-child | Unsupported | Partial |
| :only-of-type | Unsupported | Partial |
| :target | Unsupported | Partial |
| :universal-selector | Unsupported | Supported |
| :visited | Unsupported | Partial |
| display:flex | Unsupported | Supported |
| display:grid | Unsupported | Supported |
| display:none | Partial | Supported |
What genuinely regresses (5)
Newly confirmed unsupported (1)
These cells were unverified in Outlook Classic and are now confirmed unsupported in the new client, filled-in unknowns, not behavior getting worse.
| Feature | Outlook Classic (Word) | Outlook (New) |
|---|---|---|
| cursor | Unknown | Unsupported |
Migration checklist
-
Keep your MSO conditionals and VML.
<!--[if mso]>targets the Word engine; the new Outlook ignores it entirely. Word-engine Outlook is supported to at least 2029, and perpetual-license and enterprise deployments run longer still, so removing fallbacks now breaks the installed base while gaining nothing in the new client. -
Audit anything relying on
width/heightCSS. Both move from supported to partial in the new Outlook, use HTML width attributes on tables and images as the durable form. - Don't un-table your layouts. With still unsupported, table-based structure remains the only layout primitive that renders in every Outlook.
- Test against both clients. Treat "Outlook" as two clients with different engines until Word-engine usage actually decays in your audience, check your own opens data before deleting anything.
Check your own HTML
Paste your own, or run the sample below. Analyzed in this page, with no signup and nothing stored.
FAQ
- Does the new Outlook fix Outlook's HTML email problems?
- Mostly no. The new Outlook renders with the Outlook Web pipeline instead of Microsoft Word, but of the 298 HTML/CSS features we track, 143 behave the same in both. Layout staples like border-radius, @media, and display:flex remain unsupported in the new Outlook as well.
- Can I remove my MSO conditional comments and VML fallbacks?
- Not yet. <!--[if mso]> conditionals and VML target the Word engine specifically; the new Outlook ignores them. But Word-engine Outlook isn't going anywhere: Microsoft supports it to at least 2029, and perpetual-license and enterprise deployments keep rendering with Word beyond that. Keep the fallbacks and test in both.
- What actually improves in the new Outlook?
- 149 tracked features improve: <abbr>, <acronym>, <base>, <button type="reset">, <dfn>, <form>, <input type="checkbox">, <input type="hidden">, <input type="radio">, <input type="reset">, <input type="text">, <marquee>, <meter>, <rp>, <rt>, <ruby>, <select>, <style>, <textarea>, <wbr>, [aria-describedby], [aria-hidden], [aria-label], [background], [dir], [height], [role], [width], @media, @media device-pixel-ratio, @media hover, @media orientation, @media prefers-color-scheme, @media prefers-reduced-motion, !important, align-items, background, background-blend-mode, background-clip, background-image, background-origin, background-position, background-repeat, background-size, border, border-radius, border-spacing, bottom, box-shadow, box-sizing, caption-side, clear, column-count, columns, display, doctype, empty-cells, fit-content, flex-direction, flex-wrap, float, font-kerning, font-size, font-size-adjust, font-stretch, font-weight, gap, height, html5-semantics, image-maps, justify-content, left, letter-spacing, line-height, list-style, list-style-position, max-height, max-width, min-height, min-width, mix-blend-mode, object-fit, object-position, opacity, orphans, outline, overflow, padding, position, pseudo-class-active, pseudo-class-default, rgb, rgba, right, system-ui, tab-size, table-layout, text-align, text-decoration, text-decoration-color, text-decoration-line, text-decoration-style, text-emphasis, text-justify, text-orientation, text-overflow, text-transform, text-underline-position, top, unit-ch, unit-initial, unit-rem, unit-vh, unit-vmax, unit-vmin, unit-vw, visibility, white-space, widows, width, word-break, word-spacing, writing-mode, z-index, ::after, ::before, ::first-letter, ::first-line, ::placeholder, :adjacent-sibling, :attribute-selector, :checked, :child-combinator, :first-child, :first-of-type, :focus, :focus-visible, :general-sibling, :hover, :last-child, :last-of-type, :only-child, :only-of-type, :target, :universal-selector, :visited, display:flex, display:grid, display:none. Each is linked below with its full client matrix.
- What regresses in the new Outlook?
- 5 tracked features genuinely get worse: <body> (supported to partial), <link> (supported to unsupported), [target] (partial to unsupported), @import (supported to unsupported), :link (supported to partial). A further 1 features that were unverified in Outlook Classic are now confirmed unsupported in the new client, previously unknown cells filled in, not behavior getting worse. Both lists with per-feature detail are on this page.
Test your email in Gmail, Outlook and Apple Mail
Preview rendering, catch CSS issues, and see what Outlook does to your VML. Free, no account. All 21 clients with one.
Instant live preview · No signup required · 21 email engines