padding
CSS property · 19 supported, 2 partial, 0 unsupported across 21 clients
padding is safe in 19 of 21 email clients as of Sep 2, 2026, the holdouts are Outlook (New), Outlook Classic.
- 7/7 webmail, 4/6 desktop, 8/8 mobile clients support padding fully.
- Partial in Outlook (New), Outlook Classic, behavior differs from browsers, test before relying on it.
- Outlook Classic (Word engine, supported to at least 2029) does not fully support padding, and its replacement changes little here; see the deprecation diff.
- Documented before/after fixes on this page cover 1 client, including Outlook Classic.
- Across all clients, only 6 of 298 tracked HTML/CSS features render identically everywhere.
Source: caniemail.com (MIT), via the Emailens engine. Last tested upstream Jul 25, 2019, synced by Emailens Sep 2, 2026.
padding controls the internal spacing of email layout cells and is one of the most frequently mishandled properties across email clients. While modern clients support shorthand padding correctly, Outlook on Windows interprets padding differently depending on the element type and often shifts content unexpectedly when padding is mixed between table cells and divs.
Client Support
| Client | Category | Engine | Support |
|---|---|---|---|
| Gmail | webmail | Gmail Web | Supported |
| Gmail Android | mobile | Gmail Mobile | Supported |
| Gmail iOS | mobile | Gmail Mobile | Supported |
| Outlook 365 | webmail | Outlook Web | Supported |
| Outlook (New) | desktop | Outlook Web | PartialSee caveat 1 |
| Outlook Classic | desktop | Microsoft Word | PartialSee caveat 1 |
| Outlook iOS | mobile | Outlook Mobile | Supported |
| Outlook Android | mobile | Outlook Mobile | Supported |
| Outlook for Mac | desktop | WebKit | Supported |
| Apple Mail | desktop | WebKit | Supported |
| Apple Mail iOS | mobile | WebKit | Supported |
| Yahoo Mail | webmail | Yahoo | Supported |
| Yahoo Mail Android | mobile | Yahoo | Supported |
| Yahoo Mail iOS | mobile | Yahoo | Supported |
| Samsung Mail | mobile | Samsung | Supported |
| Thunderbird | desktop | Gecko | Supported |
| HEY Mail | webmail | WebKit | Supported |
| Proton Mail | webmail | Proton | Supported |
| AOL Mail | webmail | AOL | Supported |
| Fastmail | webmail | Fastmail | Supported |
| Superhuman | desktop | Blink | Supported |
Documented caveats (1)
- 1.Outlook (New), Outlook Classic: Partial. Only supported on table cells. Buggy. Vertical padding will be the same for all cells of a same row, adopting the biggest value.
Caveats recorded by caniemail.com (MIT) and carried verbatim, one entry per wording rather than per client.
Client-by-client behaviour for padding
Fully supports padding (19): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook iOS, Outlook Android, Outlook for Mac, Apple Mail, Apple Mail iOS, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, Samsung Mail, Thunderbird, HEY Mail, Proton Mail, AOL Mail, Fastmail, Superhuman.
Partial support (2): Outlook (New), Outlook Classic. Expect rendering quirks unique to each engine. Partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.
When to use padding in email
- Adding vertical breathing room above and below CTA buttons inside <td> cells.
- Creating responsive content gutters by combining cell padding with max-width on the outer table.
- Constructing card-style sections by combining padding with background-color and border-radius.
Rendering behaviour and edge cases
- Outlook on Windows applies padding inconsistently on <div> elements , use <td> with padding for layout instead.
- Apple Mail and modern Gmail honor shorthand padding values, but older Yahoo Mail builds occasionally drop the bottom value.
- When padding is set on a button anchor, some clients add their own native button padding on top, doubling the apparent space.
Recommended fallback strategy
Apply padding to <td> elements rather than <div> wrappers whenever possible. Keep padding within a single shorthand declaration to avoid Outlook reordering issues. For large hero spacing, use spacer rows with line-height instead of padding when targeting Outlook 2007–2019.
Fixes & Workarounds
Outlook (New)
Partial"padding" is not supported in this email client.
Outlook Classic
PartialOutlook ignores padding on <a> tags. Use the MSO font-width trick with   hair spaces, or use VML. React Email's <Button> handles this automatically.
Before (Broken)
<a href="https://example.com"
style="background-color: #6d28d9; color: #fff;
padding: 12px 32px; display: inline-block;
text-decoration: none;">
Click Here
</a> After (Fixed)
<!--[if mso]>
<table role="presentation" cellpadding="0" cellspacing="0" border="0"
style="border-collapse: collapse;">
<tr>
<td style="background-color: #6d28d9; padding: 0;
mso-padding-alt: 12px 32px;">
<!--[if mso]>
<i style="letter-spacing: 32px; mso-font-width: -100%;
mso-text-raise: 18pt;" hidden> </i>
<![endif]-->
<a href="https://example.com"
style="background-color: #6d28d9; color: #fff;
mso-text-raise: 9pt; text-decoration: none;
font-family: Arial, sans-serif; font-size: 14px;
font-weight: bold;">Click Here</a>
<!--[if mso]>
<i style="letter-spacing: 32px; mso-font-width: -100%;"
hidden> </i>
<![endif]-->
</td>
</tr>
</table>
<![endif]-->
<!--[if !mso]><! -->
<a href="https://example.com"
style="background-color: #6d28d9; color: #fff;
padding: 12px 32px; display: inline-block;
text-decoration: none;">
Click Here
</a>
<!-- <![endif]--> Use MSO font-width trick for reliable button padding in Outlook
Related Features
Check your own HTML for padding
Paste your own, or run the sample below. Analyzed in this page, with no signup and nothing stored.
Test your padding layout across 21 email clients
Preview rendering, catch CSS issues, and see how padding displays across Outlook, Gmail, and Apple Mail. Free, no account needed.
Instant live preview · No signup required · 21 email engines
Last tested upstream: · Last synced by Emailens:
caniemail.com (MIT) records Jul 25, 2019 as the last time padding was tested in a real client, 7 years before this sync. Syncing copies that result forward, it does not re-test it. Carried in @emailens/engine data v0.12.2.