Blog/Design

Design, 12 min read

The Ultimate Guide to Email Fonts

Everything you need to know about choosing, embedding, and fallback-stacking fonts in HTML email — from web-safe classics to Google Fonts, with a full client support matrix.

March 24, 2026, by the Emlet Team

Typography is one of the most powerful tools in an email designer's kit. The right font makes copy feel trustworthy, premium, or playful — and the wrong font choice, or a missing fallback, can turn a polished campaign into a wall of Times New Roman.

The challenge? Email clients are not browsers. The same CSS rules that work perfectly on your website may be stripped, ignored, or overridden the moment your email hits a Gmail inbox. Understanding how fonts work in email is one of the most important — and most frequently misunderstood — skills in email development.

This guide covers everything: web-safe fonts, custom font embedding via @font-face, Google Fonts, the full client support matrix, recommended stacks, sizing guidelines, and the eight most common mistakes that silently break your typography.

Why fonts matter (differently) in email

On the web, if a custom font fails to load, the browser shows a flash of invisible or unstyled text, then settles on the fallback. Users barely notice. In email, the story is different:

  • No live reload. Once delivered, an email is static. If your font stack has no usable fallback, the recipient sees whatever the email client decides — often Times New Roman.
  • Client rendering diversity. Gmail strips most <style> blocks. Outlook for Windows uses Microsoft Word's layout engine, which ignores @font-face entirely. Apple Mail renders web fonts beautifully. These clients share the same inbox.
  • Deliverability side-effects. Bloated font imports or inline styles add to message weight, which can tip you over limits on some ESPs or cause clipping in Gmail (which clips emails over ~102 KB).
  • Brand perception. Typography is a brand signal. A brand that uses Inter or DM Sans on its website but delivers Times New Roman emails signals inconsistency — even if subscribers can't articulate why.

The good news: with the right font stack strategy, your email looks great on every client — custom font where supported, a well-chosen fallback everywhere else.

Web-safe fonts: the reliable foundation

Web-safe fonts are typefaces that ship pre-installed on virtually every operating system — Windows, macOS, Linux, iOS, and Android. Because they live on the device, no downloading is needed and they render identically across every email client.

You should always end your font stack with a web-safe font. No exceptions.

Sans-serif

FontBest forNotes
ArialBody text, UI-style emailsThe de-facto standard. Neutral, legible at any size.
HelveticaBrand-forward, neutral layoutsmacOS/iOS default; Arial renders on Windows where Helvetica is absent.
VerdanaSmall body text, accessibilityWider letter-spacing aids legibility at small sizes.
Trebuchet MSFriendly, slightly quirky toneMore personality than Arial without being unusual.
TahomaCompact UIs, smaller textSlightly narrower than Verdana; good for dense layouts.
GenevamacOS/iOS only fallbackOnly include after Verdana in stacks — rare on Windows.

Serif

FontBest forNotes
GeorgiaEditorial, premium, storytellingHigh readability on screens. The best web-safe serif by far.
Times New RomanAvoid as a choice; accept as fallbackEmail-client default if nothing else matches. Design for its appearance.
Palatino LinotypePublishing, long-form newslettersElegant but rarer — use with Georgia as a prior fallback.

Monospace

FontBest forNotes
Courier NewCode snippets, dev-focused emails, retro aestheticSafe everywhere; the standard monospace fallback.
CouriermacOS/iOS variationVirtually identical to Courier New; add it before for macOS users.
TipGeorgia is widely considered the finest web-safe serif for screen reading. If your brand uses a serif, base your fallback stack around Georgia rather than Times New Roman.

Custom & Google Fonts via @font-face

Custom web fonts bring your brand typography into the inbox — but only where the email client allows it. The two common methods are:

Method 1: Google Fonts via <link> (recommended)

Place a <link> tag inside the <head> of your email HTML. This is the most reliable method for clients that support remote stylesheets.

email.html
<head>
  <link
    rel="stylesheet"
    href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap"
  />
</head>

<body>
  <p style="font-family: 'Inter', Arial, sans-serif; font-size: 16px;">
    Your email body text here.
  </p>
</body>

Method 2: @import inside <style>

Some email clients support @import inside a <style> block. It is slightly less reliable than <link> but useful as a fallback when you cannot control the <head> tag.

email.html
<style>
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
  body {
    font-family: 'Inter', Arial, sans-serif;
  }
</style>

Method 3: Self-hosted @font-face

For brand fonts not on Google Fonts, or when you need offline reliability, host the font files yourself and declare them via @font-face.

email.html
<style>
  @font-face {
    font-family: 'BrandFont';
    src: url('https://yourdomain.com/fonts/brandfont-regular.woff2') format('woff2'),
         url('https://yourdomain.com/fonts/brandfont-regular.woff')  format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'BrandFont';
    src: url('https://yourdomain.com/fonts/brandfont-bold.woff2') format('woff2'),
         url('https://yourdomain.com/fonts/brandfont-bold.woff')  format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
</style>
Watch outOnly declare the font weights you actually use. Unused weights still download in clients that parse the @font-face block, adding unnecessary overhead and increasing the chance your email gets clipped by Gmail's 102 KB limit.
NoteVariable fonts (.woff2 with a range axis) are not broadly supported in email clients. Stick to individual weight files for maximum compatibility.

Client-by-client support matrix

This is the data that saves campaigns. Knowing which clients render custom fonts — and which silently fall back — determines how much you invest in custom font polish.

Email clientMarket share*@font-faceGoogle Fonts <link>Notes
Apple Mail (macOS)~11 %✓ Full✓ FullBest custom-font support of any desktop client.
Apple Mail (iOS)~28 %✓ Full✓ FullFull support. The largest single client — worth investing in custom fonts.
Gmail (browser)~26 %✗ None✗ NoneStrips all <style> and external link tags. Fallback font always renders.
Gmail (Android)~9 %✗ None✗ NoneSame as Gmail web — no custom font support.
Outlook 2016–2021 (Windows)~9 %✗ None✗ NoneUses Word rendering engine. Respects inline font-family only for installed system fonts.
Outlook for Mac~4 %~ Partial~ PartialOutlook 2019+ for Mac is WebKit-based — respects web fonts. 2011 does not.
Outlook.com (new)~3 %✓ Full✓ FullThe new Outlook.com web client (2023+) has solid web font support.
Samsung Mail~3 %✓ Full✓ FullGood support. Renders web fonts reliably.
Yahoo Mail~3 %✗ None✗ NoneStrips most <style> tags. Fallback renders.
Thunderbird< 1 %✓ Full✓ FullFull support — Gecko-based renderer.

* Approximate global market share, 2025–2026. Figures vary significantly by industry and audience.

NoteA rough rule of thumb: about 55–60 % of your recipients will see your custom font (Apple Mail + Samsung Mail + supported webmail clients). The remaining ~40 % — mostly Gmail and Windows Outlook — will always see the fallback. Design your fallback stack to look intentional, not accidental.

Recommended font stacks

A font stack is the ordered list you pass to font-family. The email client tries each font in order, using the first one it can find. The last entry should always be a generic family (serif, sans-serif, or monospace) so the OS picks a reasonable default if nothing else matches.

Modern sans-serif (custom + safe fallback)

CSS / inline style
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;

This stack shows Inter on Apple Mail, iOS, and Outlook.com (all load the Google Font). On Gmail it falls back to Helvetica Neue (macOS/iOS) or Arial (Windows/Android) — both clean, neutral sans-serifs that barely break the design.

Elegant serif (editorial, storytelling, newsletters)

CSS / inline style
font-family: 'Playfair Display', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif;

Playfair Display on supporting clients. Georgia on Gmail and Windows Outlook — a graceful serif that still looks intentional. Never falls back to bare Times New Roman without a fight.

Friendly rounded (consumer / lifestyle brands)

CSS / inline style
font-family: 'Nunito', 'Trebuchet MS', Verdana, Geneva, Arial, sans-serif;

Technical / developer (SaaS, development tools)

CSS / inline style
font-family: 'DM Mono', 'Courier New', Courier, monospace;

System UI (no external font dependency)

CSS / inline style
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
             Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;

The system UI stack means subscribers always see the native default sans-serif for their OS — SF Pro on Apple, Segoe UI on Windows, Roboto on Android. Loads instantly, zero external dependency, always looks clean. A strong default choice when custom fonts are not a priority.

TipUse the same font stack everywhere in an email: headings, body, buttons, and footers. Switching stacks mid-email creates subtle inconsistency on clients where only the first or last name in each stack resolves.

Font sizing & line-height guidelines

Sizing rules for email are stricter than for the web. Email is read on everything from a 5-inch phone screen to a 32-inch monitor, often at arm's length — and you cannot rely on the reader zooming in.

Recommended sizes

ElementMinimumRecommendedNotes
Body / paragraph14 px15–16 pxUse 16 px to prevent iOS auto-zoom on form inputs.
Caption / legal text12 px13 pxNever go below 11 px — many clients will ignore smaller text.
CTA button15 px16–18 pxLarger text improves tap target legibility on mobile.
H3 / sub-heading16 px18–20 pxJust enough to differentiate from body without dominating.
H2 / section heading20 px22–28 pxShould read clearly at a glance when scanning.
H1 / hero headline28 px32–48 pxScale down on mobile (use max-width + fluid sizing).
Preheader text0 px (hidden)Hidden with font-size:0; line-height:0; max-height:0; overflow:hidden.
Watch outiOS Safari auto-zooms any focusable element (like an <a> styled as a button) when the page font size is below 16 px. Set the minimum body font-size to 16px in mobile-targeted styles, or set -webkit-text-size-adjust: 100% on the <body>.

Line height

Line height is the single most impactful readability setting and is routinely under-used in email. Tight line height feels dense and exhausting; too loose feels disconnected.

ElementValueReasoning
Body text1.5–1.6The sweet spot for comfortable reading across all screen sizes.
Headings (H1/H2)1.1–1.25Tight but not cramped — keeps multi-line headlines visually tied.
Sub-headings (H3)1.3–1.4Slightly more breathing room than H1/H2.
CTA buttons1.2–1.4Consistent with tap target height; don't let text wrap inside a button.
Legal / caption1.4–1.5Small text needs generous spacing to stay readable.
NoteOutlook for Windows ignores unitless line-height values (like 1.5). Always add a pixel value fallback: line-height: 1.5; mso-line-height-rule: exactly; — the mso-line-height-rule property prevents Outlook from adding extra spacing between lines.

Weight, style & letter-spacing

Font weight

Not all font weights render consistently across email clients, even when the font is loaded.

  • 400 (regular)Safe. Universal. Use for body copy.
  • 700 (bold)Safe. Renders as bold in virtually every client.
  • 500 / 600 (medium / semi-bold)Supported in modern clients but Outlook for Windows may round to 400 or 700. If visual accuracy matters, test in Outlook and consider using only 400/700.
  • 100–300 (thin / light)Often too faint on low-contrast screens. Not recommended for body text.
  • 800–900 (extra-bold / black)Useful for impactful hero headlines, but verify the custom font supports this weight before loading it.

Italic

Italic works reliably in most clients when using web-safe fonts. For custom fonts, load the italic variant explicitly via a separate @font-face rule with font-style: italic. If you don't, the browser will synthesise an italic by slanting the regular variant — which often looks poor.

Letter-spacing

letter-spacing is widely supported across modern email clients. Use it sparingly:

  • Headings: 0.5–1 px (or -0.5 px to tighten large display text)
  • Small caps / labels: 1–2 px — greatly improves legibility of all-caps text
  • Body text: 0 px — extra tracking on small text reduces readability
  • Never use letter-spacing on preheader / hidden text (breaks reading order in some accessibility tools)

Readability & accessibility

Email accessibility is often the first thing cut for speed, and the first thing that costs you subscribers. The good news: accessible typography is also just better typography.

Colour contrast

The WCAG AA standard requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text (18 px+ or 14 px bold). In practice:

  • Dark text on white: #222 or #333 is safer than #999, which fails AA at any size.
  • Light text on dark: White (#fff) on a mid-dark background (#444 or below) typically passes. Off-white (e.g. #e5e5e5) on pure black can feel harsh — try #d0d0d0 for a softer pairing.
  • Coloured text: Brand colours often fail contrast checks when used for body text. Use them for headings or on appropriately dark/light backgrounds.

Don't rely on font style alone to convey meaning

Screen readers do not announce bold or italic by default. If content is critical — an expiry date, a warning — supplement font styling with explicit text (e.g. "Expires: March 31" rather than just bolding "March 31").

Minimum touch target size

Apple and Google recommend a minimum tap target of 44 × 44 px. For text links inline in a paragraph, this cannot always be achieved — but CTA buttons should always meet this threshold, both in height (via padding) and in the font size used.

TipUse a tool like WebAIM's Contrast Checker or Squiz Contrast Analyser while designing your email template to catch contrast failures before you send.

8 common font mistakes to avoid

01

No fallback font

Setting font-family to only a custom web font means Gmail users see Times New Roman. Always end every stack with a web-safe font and the generic family.

02

Fallback looks nothing like the custom font

Using a decorative display font as primary with Arial as the fallback creates a jarring visual switch for the 40 % who don't get the web font. Pick a fallback that has similar proportions: Inter → Helvetica Neue / Arial; Playfair Display → Georgia.

03

Loading too many font weights

Google Fonts URLs grow with each weight. &family=Inter:wght@100;200;300;400;500;600;700;800;900 loads nine weights and can add 150–200 KB to the email before the message even begins — triggering Gmail's clipping threshold.

04

Font size below 14 px for body

Sub-14 px text fails legibility checks on mobile, fails accessibility contrast checks at lower weights, and triggers auto-zoom in iOS Safari. Set a 15–16 px minimum and use font-size-adjust or mso-line-height-rule for Outlook.

05

Tight line-height on long copy

A line-height of 1.0–1.2 on body text (not headlines) is tiring to read, especially on mobile. The minimum for comfortable reading is 1.4; 1.5–1.6 is the standard for prose.

06

Omitting mso-line-height-rule for Outlook

Outlook for Windows adds extra space between lines by default. Without mso-line-height-rule: exactly, a line-height of 1.5 may render as 2.2 in Outlook, disrupting spacing-dependent layouts.

07

Using more than two typefaces

Two fonts maximum: one for headings, one for body (or a single font family with weight variation). More than two creates visual noise and slows load time. The exception: monospace code snippets in dev-focused emails.

08

Never testing in Gmail

Because Gmail strips all web fonts and all <style> blocks, it is the most important test environment. If your email looks polished in Gmail with the fallback font, it will look great everywhere. Test in Gmail — both browser and mobile app.

Quick-reference cheat sheet

Email Font Cheat Sheet

Safest sans-serif fontArial / Helvetica
Safest serif fontGeorgia
System UI stack-apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif
Min body font size15–16 px
Min caption font size12–13 px
Hero headline range32–48 px
Body line-height1.5–1.6
Headline line-height1.1–1.25
Safest font weights400 and 700
Max font families per email2
Outlook line-height fixmso-line-height-rule: exactly
Gmail custom font supportNone — always test the fallback
Best-supported custom font sourceGoogle Fonts via <link> in <head>
Gmail 102 KB clipping limitKeep HTML under 96 KB to be safe

Put it into practice

Ship better-looking emails — starting now.

Emlet applies all of these font-stack best practices automatically. Every email it generates uses proper fallback stacks, correct sizing, and tested line-heights — across Gmail, Outlook, and Apple Mail.