Outlook Classic
Outlook Classic is marked deprecated for 2029-06. See what actually changes for HTML email .
Outlook Classic (2007–2021) uses Microsoft Word's rendering engine instead of a browser engine. This is the most restrictive major email client , it ignores flexbox, grid, border-radius, CSS animations, background images, and dozens of other properties. Any property Word doesn't understand is silently dropped. Microsoft is replacing it with New Outlook (web engine): classic stops being the Windows default in April 2026 and is supported to at least 2029.
Legacy Windows Outlook using the Word rendering engine. Supported to at least 2029, though it stops being the Windows default in April 2026. While its global market share is declining, it can still represent 30-60% of opens for B2B email senders during the transition period.
CSS coverage profile for Outlook Classic
Outlook Classic renders with the Microsoft Word engine and supports 56 of 298 tracked CSS and HTML features fully, with 22 partially supported and 212 unsupported. That places it in a narrow coverage band.
Most modern CSS is unsupported. This client effectively requires a separate, table-based fallback path for any non-trivial layout.
56
Supported
22
Partial
212
Unsupported
298
Total
Key gotchas in Outlook Classic
display: flex / grid
See details
Completely ignored. Word has no concept of CSS layout modes. Use nested <table> elements for all layout.
border-radius
See details
Word doesn't support rounded corners. Use VML (Vector Markup Language) inside conditional comments for rounded buttons.
background-image (CSS) CSS background images are stripped. Use <v:rect> VML inside <!--[if mso]> conditionals for background images.
max-width Ignored entirely. Outlook needs explicit width attributes on <table> elements. Wrap fluid layouts in MSO conditional tables.
margin: auto Unreliable for centering. Use align="center" on the parent <table> instead.
How Outlook Classic renders email
- Word's rendering engine treats unknown CSS properties as a silent no-op. There are no errors, no warnings , your gradient hero simply renders as a solid background-color, your rounded button as a sharp rectangle.
- DPI scaling is 96 by default but is multiplied at the OS level by user accessibility settings. A 600px-wide email can render at 750 effective pixels on a 125% scaling configuration, breaking pixel-perfect designs.
- Conditional comments (<!--[if mso]>...<![endif]-->) are the most reliable mechanism for Outlook-specific overrides, since they target only the Word renderer without affecting modern clients.
- VML (Vector Markup Language) can simulate rounded buttons, gradient backgrounds, and even simple SVG-like shapes inside Outlook. The syntax is verbose but well-documented in the email-development community.
Dark mode behaviour in Outlook Classic
Outlook Classic supports dark mode in newer versions (2019+) and applies full color inversion. Older versions (2007-2016) do not support dark mode at all. The inversion algorithm can produce unexpected results with custom color schemes.
QA checklist for Outlook Classic
- Always test in real Outlook 2016/2019 , emulators do not capture every Word quirk.
- Check at 100% and 125% Windows display scaling to catch DPI-induced layout breaks.
- Verify that VML fallbacks render correctly when Microsoft's image-blocking is on; some VML elements depend on referenced images.
Related clients
Breaks here, works nearly everywhere else
47 features that Outlook Classic drops while most other clients render them. This is usually what is behind an email that looks correct everywhere but here.
- background-position 19
- background-repeat 19
- caption-side 19
- max-height 19
- min-width 19
- outline 19
- list-style-position 18
- min-height 18
- opacity 18
- background-size 17
- unit-vw 17
- display:flex 17
- display:grid 17
- border-spacing 16
- table-layout 16
- unit-vh 16
- z-index 16
- <input type="checkbox"> 15
- <input type="hidden"> 15
- <input type="radio"> 15
Renders here, dropped almost everywhere else
Safe in Outlook Classic and almost nowhere else, so it needs a fallback the moment the send is not Outlook Classic-only.
Where Outlook Classic is weakest
- CSS Properties 135
- HTML Elements 31
- Pseudo-Classes & Selectors 26
- HTML Attributes 15
- CSS At-Rules 9
Closest client: Outlook (New)
Outlook (New) agrees with Outlook Classic on 95% of verified features. They still differ on 15: <base>, [aria-hidden], [aria-label], [aria-live], [background], [height], and 9 more.
Side by side
HTML Elements48
| Feature | Support |
|---|---|
| <abbr> | Unsupported |
| <acronym> | Unsupported |
| <address> | Supported |
| <audio> | Unsupported |
| <base> | Unsupported |
| <bdi> | Unsupported |
| <blockquote> | Supported |
| <body> | Supported |
| <button type="reset"> | Unsupported |
| <button type="submit"> | Unsupported |
| <code> | Supported |
| <del> | Supported |
| <dfn> | Partial |
| <dialog> | Unsupported |
| <div> | Supported |
| <form> | Unsupported |
| <h1> | Supported |
| <hr> | Supported |
| <img> | Supported |
| <input type="checkbox"> | Unsupported |
| <input type="hidden"> | Unsupported |
| <input type="radio"> | Unsupported |
| <input type="reset"> | Unsupported |
| <input type="submit"> | Unsupported |
| <input type="text"> | Unsupported |
| <link> | Supported |
| <marquee> | Unsupported |
| <meter> | Unsupported |
| <object> | Unsupported |
| <p> | Supported |
| <picture> | Unsupported |
| <pre> | Supported |
| <progress> | Unsupported |
| <rp> | Unsupported |
| <rt> | Unsupported |
| <ruby> | Unsupported |
| <select> | Unsupported |
| <small> | Supported |
| <span> | Supported |
| <strike> | Supported |
| <strong> | Supported |
| <style> | Partial |
| <svg> | Unsupported |
| <table> | Supported |
| <textarea> | Unsupported |
| <ul> | Partial |
| <video> | Unsupported |
| <wbr> | Unsupported |
HTML Attributes22
| Feature | Support |
|---|---|
| [align] | Supported |
| [aria-describedby] | Unsupported |
| [aria-hidden] | Unsupported |
| [aria-label] | Unsupported |
| [aria-labelledby] | Unsupported |
| [aria-live] | Unsupported |
| [background] | Unsupported |
| [cellpadding] | Supported |
| [cellspacing] | Supported |
| [command] | Unsupported |
| [dir] | Partial |
| [height] | Supported |
| [hidden] | Unsupported |
| [lang] | Supported |
| [loading] | Unsupported |
| [popover] | Unsupported |
| [required] | Unsupported |
| [role] | Unsupported |
| [srcset] | Unsupported |
| [target] | Partial |
| [valign] | Supported |
| [width] | Supported |
HTML & Email Structure8
| Feature | Support |
|---|---|
| amp4email | Unsupported |
| anchor-links | Supported |
| doctype | Supported |
| html-comments | Supported |
| html5-semantics | Unsupported |
| image-maps | Unsupported |
| mailto-links | Supported |
| meta-color-scheme | Unsupported |
CSS At-Rules10
| Feature | Support |
|---|---|
| @font-face | Unsupported |
| @import | Supported |
| @keyframes | Unsupported |
| @media | Unsupported |
| @media device-pixel-ratio | Unsupported |
| @media hover | Unsupported |
| @media orientation | Unsupported |
| @media prefers-color-scheme | Unsupported |
| @media prefers-reduced-motion | Unsupported |
| @supports | Unsupported |
Pseudo-Elements6
| Feature | Support |
|---|---|
| ::after | Unsupported |
| ::before | Unsupported |
| ::first-letter | Unsupported |
| ::first-line | Unsupported |
| ::marker | Unsupported |
| ::placeholder | Unsupported |
Pseudo-Classes & Selectors34
| Feature | Support |
|---|---|
| :adjacent-sibling | Unsupported |
| :attribute-selector | Unsupported |
| :chaining | Unsupported |
| :checked | Unsupported |
| :child-combinator | Unsupported |
| :class-selector | Supported |
| :descendant-combinator | Supported |
| :first-child | Unsupported |
| :first-of-type | Unsupported |
| :focus | Unsupported |
| :focus-visible | Unknown |
| :focus-within | Unknown |
| :general-sibling | Unsupported |
| :grouping | Supported |
| :has | Unsupported |
| :hover | Unsupported |
| :id-selector | Supported |
| :lang | Unsupported |
| :last-child | Unsupported |
| :last-of-type | Unsupported |
| :link | Supported |
| :not | Unsupported |
| :nth-child | Unsupported |
| :nth-last-child | Unsupported |
| :nth-of-type | Unsupported |
| :only-child | Unsupported |
| :only-of-type | Unsupported |
| :target | Unsupported |
| :type-selector | Supported |
| :universal-selector | Unsupported |
| :visited | Unsupported |
| pseudo-class-active | Unsupported |
| pseudo-class-default | Unsupported |
| pseudo-class-nth-last-of-type | Unsupported |
CSS Functions8
| Feature | Support |
|---|---|
| calc | Unsupported |
| clamp | Unsupported |
| conic-gradient | Unsupported |
| fit-content | Unsupported |
| linear-gradient | Unsupported |
| max | Unsupported |
| min | Unsupported |
| radial-gradient | Unsupported |
CSS Properties162
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
Support data last updated Sep 2, 2026 - synced from caniemail.com (MIT) via @emailens/engine.