Fix border-radius, Gradients and object-fit in Outlook
Outlook Classic ignores border-radius, linear-gradient and object-fit, so draw rounded buttons with a VML roundrect or accept square corners, declare a solid background-color before any gradient, and crop images to size before sending.
Works in 16 of 21. Not supported in Outlook Classic. Partial in Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS and 1 more.
Every client by level
- Works
- Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook (New), Outlook iOS, Outlook Android, Outlook for Mac, Apple Mail, Apple Mail iOS, Samsung Mail, Thunderbird, HEY Mail, Proton Mail, Fastmail, Superhuman
- Partial
- Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, AOL Mail
- Not supported
- Outlook Classic
Works in 9 of 21. Not supported in Outlook 365, Outlook (New), Outlook Classic and 7 more. Partial in Gmail Android and Samsung Mail.
Every client by level
- Works
- Gmail, Gmail iOS, Apple Mail, Apple Mail iOS, Thunderbird, HEY Mail, Proton Mail, Fastmail, Superhuman
- Partial
- Gmail Android, Samsung Mail
- Not supported
- Outlook 365, Outlook (New), Outlook Classic, Outlook iOS, Outlook Android, Outlook for Mac, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, AOL Mail
The fix for Outlook Classic
Use VML to render rounded buttons in Outlook
<!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml"
href="https://example.com"
style="height:44px; v-text-anchor:middle; width:200px;"
arcsize="14%" strokecolor="#6d28d9" fillcolor="#6d28d9">
<w:anchorlock/>
<center style="color:#fff; font-family:Arial,sans-serif;
font-size:14px; font-weight:bold;">Click Here</center>
</v:roundrect>
<![endif]-->
<!--[if !mso]><! -->
<a href="https://example.com"
style="background-color: #6d28d9; color: #fff;
padding: 12px 32px; border-radius: 6px;
text-decoration: none; display: inline-block;">
Click Here
</a>
<!-- <![endif]--> Show the original
<a href="https://example.com"
style="background-color: #6d28d9; color: #fff;
padding: 12px 32px; border-radius: 6px;
text-decoration: none; display: inline-block;">
Click Here
</a> The checker needs a computer screen.
A free account opens all 21 clients and keeps your checks for 7 days. Create a free account →
Real installs
caniemail: border-radius is not supported in Outlook Classic.
More versions (2)
Philippe Kam, founder of Emailens · Published 6 Sep 2026 · Updated 28 Oct 2026
@emailens/engine 0.18.22 · data last changed 10 Nov 2026
Part of the HTML email guide · all guides
border-radius, linear-gradient and object-fit all fail in Outlook Classic on Windows. Pill buttons arrive as squares, a gradient background written with the shorthand vanishes and takes the colour with it, and an image sized with object-fit stretches. Each one has a fallback that keeps the design in modern clients and degrades cleanly in Outlook. Here they are, with the code.
Why these properties fail in Outlook
Outlook Classic renders email with Microsoft Word, which drops CSS it does not know without a warning. The Outlook CSS support guide explains the engine and lists what it does with each property; this page is the fixes.
border-radius in Outlook: VML roundrect or square corners
border-radius is not supported in Outlook Classic. The per-client support is in the border-radius email compatibility report. For call-to-action buttons you have two options:
- Let it degrade. Apply
border-radius: 6pxto a styled<td>or<a>. Modern clients round the corners; Outlook shows a clean square box, and you write no VML. - Draw it with VML. If the brand needs rounded pill buttons in Outlook too, wrap a
<v:roundrect>in MSO conditional comments and give every other client the CSS link.
<!-- Rounded button: VML for Outlook Classic, CSS for everyone else -->
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
<tr>
<td align="center" style="border-radius: 6px;" bgcolor="#0284c7">
<!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:w="urn:schemas-microsoft-com:office:word"
href="https://emailens.dev"
style="height:44px;v-text-anchor:middle;width:200px;"
arcsize="14%"
stroke="f"
fillcolor="#0284c7">
<w:anchorlock/>
<center style="color:#ffffff;font-family:sans-serif;font-size:15px;font-weight:bold;">
Verify Email →
</center>
</v:roundrect>
<![endif]-->
<!--[if !mso]><!-->
<a href="https://emailens.dev"
style="background-color:#0284c7;border-radius:6px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:15px;font-weight:bold;line-height:44px;text-align:center;text-decoration:none;width:200px;-webkit-text-size-adjust:none;">
Verify Email →
</a>
<!--<![endif]-->
</td>
</tr>
</table>The arcsize="14%" attribute sets the corner radius in VML. You can try variations of this pattern in the free bulletproof button generator. Do not put a VML button inside a VML background image: see background images in Outlook for what that breaks.
linear-gradient in Outlook: solid colour first, VML gradient second
linear-gradient is not supported in Outlook Classic. The full matrix is in the linear-gradient compatibility data. The most common mistake is writing the gradient in the background shorthand:
/* Outlook Classic drops this whole declaration */
background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);Because Word does not recognise linear-gradient, it throws away the whole background declaration, colour included, and the cell renders transparent or white. Declare a solid colour first, in its own property:
background-color: #0f172a; /* Outlook fallback */
background-image: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);If the gradient has to show in Outlook too, for a hero header say, draw it with VML's <v:fill type="gradient">:
<!-- Linear gradient: solid colour first, VML gradient for Outlook Classic -->
<td style="background-color: #0f172a; background-image: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);">
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml"
fill="true"
stroke="false"
style="width:600px;height:240px;">
<v:fill type="gradient"
color1="#1e3a8a"
color2="#0f172a"
angle="135" />
<v:textbox inset="0,0,0,0">
<![endif]-->
<div style="padding: 40px 24px; text-align: center; color: #ffffff;">
<h1 style="font-size: 24px; font-weight: bold; margin: 0;">Welcome to Emailens</h1>
<p style="font-size: 14px; margin-top: 8px;">Accurate client rendering tests across 21 engines.</p>
</div>
<!--[if gte mso 9]>
</v:textbox>
</v:rect>
<![endif]-->
</td>object-fit in Outlook: crop the image, not the box
object-fit: cover is how the web keeps an image's aspect ratio in a box of any size. object-fit is not supported in Outlook Classic. The per-client support is in the object-fit email client report.
When an email sets width: 100%; height: 200px; object-fit: cover;, Outlook ignores object-fit, forces the image into the 200px height and stretches it to the full width, squashing portraits and logos. Three habits prevent it:
- Crop on the server. Serve images from your CDN already cropped to the 16:9, 4:3 or 1:1 ratio the template shows.
- Use
height: auto. Never set a fixed CSS height on an image unless its natural aspect ratio matches those exact pixel dimensions. - Constrain the cell, not the image. Set the height on the parent
<td>withmso-line-height-rule: exactlyandoverflow: hidden:
<!-- object-fit fallback: a fixed-size cell around a pre-cropped image -->
<table border="0" cellpadding="0" cellspacing="0" role="presentation" width="100%">
<tr>
<td align="center" style="width: 280px; height: 180px; overflow: hidden; max-height: 180px; mso-line-height-rule: exactly; line-height: 0;">
<!-- Width only: the cell holds the height, the file sets the ratio -->
<img src="https://emailens.dev/images/sample-card.jpg"
width="280"
alt="Preview"
style="display: block; width: 100%; max-width: 280px; height: auto; object-fit: cover; border: 0;" />
</td>
</tr>
</table>border-collapse in Outlook and the 1px line bug
border-collapse works in Outlook Classic. The trouble is around it: tables without explicit spacing attributes get inconsistent cell borders and 1px gaps. Add cellpadding="0" cellspacing="0" border="0" to the table and border-collapse: collapse to its style. The border-collapse page has the support in every client.
Thin horizontal lines across table columns are a separate Outlook bug, caused by Windows display scaling such as 125% or 150% on high-resolution monitors. Keep every font-size and line-height an even whole number of pixels, and set border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; on every table. What the mso- properties do is in MSO conditional comments and mso- CSS.
Other Outlook CSS traps and their fixes
| CSS property | Outlook Classic | Fix |
|---|---|---|
| max-width | Not fully honoured; the layout can stretch to the full window width | Wrap columns in a fixed-width ghost table: Outlook ghost tables. |
| display: flex | Ignored; elements stack vertically | Use fluid-hybrid display: inline-block columns with a ghost table for Outlook. |
| background-image | Stripped | A VML <v:rect> with a solid colour behind it: background images in Outlook. |
| box-shadow | Not supported | Drop it for Outlook Classic, or fake a hard shadow with a darker border on a wrapping table cell. |
| @font-face | Not supported | Outlook shows Times New Roman unless you set Arial in an MSO-only style: * { font-family: Arial, sans-serif !important; } inside <!--[if mso]>. See email fonts. |
Questions
Does Outlook support border-radius?
border-radius is not supported in Outlook Classic. For rounded buttons there, draw the button with a VML <v:roundrect> inside <!--[if mso]> conditional comments and give every other client the same link with border-radius. Without the VML, Outlook Classic shows square corners and the button still works.
Does Outlook support linear-gradient?
linear-gradient is not supported in Outlook Classic. Declare a solid background-color before background-image, never the background shorthand, so Outlook Classic paints the solid colour. If the gradient has to show there, draw it with a VML <v:fill type="gradient">.
Does Outlook support object-fit?
object-fit is not supported in Outlook Classic. Crop the image on the server to the aspect ratio the template shows, keep height:auto on the image, and set only its width attribute: the height follows the file, so there is nothing for object-fit to correct, and a client that ignores height:auto has no fixed height to stretch to.
Does the New Outlook for Windows support border-radius and object-fit?
The new Outlook for Windows renders with Edge WebView2 (Chromium), and in the engine's data (its Outlook (New) cells are the engine's mapping) border-radius works in Outlook (New). object-fit works in Outlook (New). linear-gradient is not supported in Outlook (New). Readers still on Outlook Classic need the fallbacks either way.
Why does Outlook add 1px lines across table columns?
This is Outlook's 1px horizontal line bug caused by display scaling (e.g. 125% or 150% DPI on high-res Windows monitors). Fix it by ensuring all font-sizes and line-heights are even pixel integers and setting style='border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt;' on all tables.
Will VML code break rendering on Apple Mail, Gmail, or mobile clients?
No. When wrapped properly in conditional comments (<!--[if mso]>...<![endif]-->), non-Outlook clients treat VML as standard HTML comments and ignore it completely. Modern mobile and web clients execute the standard CSS fallback declared on the parent element.
Your next question
Also useful: Outlook Ghost Table Generator · Outlook VML Background Generator · border-radius in Outlook Classic: the fix
Paste the email that broke.
No signup · Five clients free, Outlook Classic included · All 21 with an account
The checker needs a computer screen.
Every account includes one free real-device check in classic Outlook, Outlook for Mac and Apple Mail, after you verify your email and run one preview, while this month's free capacity lasts. How real-device checks work →
Get new email CSS fixes by email, or follow by RSS.