@font-face
CSS at-rule · 7 supported, 1 partial, 13 unsupported across 21 clients
As of Sep 2, 2026, @font-face fails or degrades in 14 of 21 email clients, treat it as progressive enhancement, never structure.
- 1/7 webmail, 4/6 desktop, 2/8 mobile clients support @font-face fully.
- Unsupported in Gmail, Gmail Android, Gmail iOS, Outlook 365 and 9 more.
- Partial in Outlook (New), behavior differs from browsers, test before relying on it.
- Outlook Classic (Word engine, supported to at least 2029) does not fully support @font-face, and its replacement changes little here; see the deprecation diff.
- Documented before/after fixes on this page cover 21 clients, including Gmail and Gmail Android.
- 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 Dec 19, 2023, synced by Emailens Sep 2, 2026.
Client Support
| Client | Category | Engine | Support |
|---|---|---|---|
| Gmail | webmail | Gmail Web | UnsupportedSee caveat 1 |
| Gmail Android | mobile | Gmail Mobile | Unsupported |
| Gmail iOS | mobile | Gmail Mobile | Unsupported |
| Outlook 365 | webmail | Outlook Web | Unsupported |
| Outlook (New) | desktop | Outlook Web | PartialSee caveat 2 |
| Outlook Classic | desktop | Microsoft Word | Unsupported |
| Outlook iOS | mobile | Outlook Mobile | Unsupported |
| Outlook Android | mobile | Outlook Mobile | Unsupported |
| Outlook for Mac | desktop | WebKit | Supported |
| Apple Mail | desktop | WebKit | Supported |
| Apple Mail iOS | mobile | WebKit | Supported |
| Yahoo Mail | webmail | Yahoo | Unsupported |
| Yahoo Mail Android | mobile | Yahoo | Unsupported |
| Yahoo Mail iOS | mobile | Yahoo | Unsupported |
| Samsung Mail | mobile | Samsung | SupportedSee caveat 3 |
| Thunderbird | desktop | Gecko | Supported |
| HEY Mail | webmail | WebKit | Supported |
| Proton Mail | webmail | Proton | Unsupported |
| AOL Mail | webmail | AOL | Unsupported |
| Fastmail | webmail | Fastmail | Unsupported |
| Superhuman | desktop | Blink | Supported |
Documented caveats (3)
- 1.Gmail: Not supported. Roboto and Google Sans can be used, but only because they're embedded with the webmail's own styles.
- 2.Outlook (New): Partial. The declaration is supported but distant fonts are ignored.
- 3.Samsung Mail: Not supported when using a Microsoft email address; outlook, live, hotmail, etc.
Caveats recorded by caniemail.com (MIT) and carried verbatim, one entry per wording rather than per client.
Client-by-client behaviour for @font-face
Fully supports @font-face (7): Outlook for Mac, Apple Mail, Apple Mail iOS, Samsung Mail, Thunderbird, HEY Mail, Superhuman.
Partial support (1): Outlook (New). Expect rendering quirks unique to each engine. Partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.
No support (13): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook Classic, Outlook iOS, Outlook Android, Yahoo Mail, Yahoo Mail Android, Yahoo Mail iOS, Proton Mail, AOL Mail, Fastmail. Plan fallbacks for these clients before relying on @font-face in production sends.
Fixes & Workarounds
Gmail
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Gmail Android
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Gmail iOS
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Outlook 365
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Outlook Classic
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Outlook iOS
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Outlook Android
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Yahoo Mail
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Yahoo Mail Android
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Yahoo Mail iOS
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Proton Mail
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
AOL Mail
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Fastmail
UnsupportedAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Outlook (New)
PartialAlways include a web-safe font stack as fallback (e.g., Arial, Helvetica, sans-serif).
Before (Broken)
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 { font-family: 'CustomFont'; } After (Fixed)
/* Keep @font-face for clients that support it */
@font-face {
font-family: 'CustomFont';
src: url('custom.woff2') format('woff2');
}
h1 {
font-family: 'CustomFont', Arial, Helvetica, sans-serif;
} Add web-safe font fallback stack
Production guidance for @font-face
@font-face is a CSS at-rule. Across the email client matrix, 7 of 21 tracked clients support it fully, 1 only partially, and 13 not at all. The clients most likely to require a workaround for this feature are Gmail, Gmail Android, Gmail iOS. Each of them needs a tailored fallback. See the per-client examples above for the specific code fix Emailens recommends.
When in doubt, ship a baseline that renders without @font-face and treat it as progressive enhancement on clients where support is verified. Emailens automatically detects cross-client divergence on this feature when you preview an email, so you can see exactly which template paths break before a campaign goes out.
Related Features
Check your own HTML for @font-face
Paste your own, or run the sample below. Analyzed in this page, with no signup and nothing stored.
Test your @font-face layout across 21 email clients
Preview rendering, catch CSS issues, and see how @font-face 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 Dec 19, 2023 as the last time @font-face was tested in a real client, 2 years before this sync. Syncing copies that result forward, it does not re-test it. Carried in @emailens/engine data v0.12.2.