Skip to main content
Emailens
HTML Elements

<style>

HTML element · 15 supported, 6 partial, 0 unsupported across 21 clients

<style> splits the field: 15 full, 6 partial of 21 clients as of Sep 2, 2026, the partials (Gmail, Gmail Android, Gmail iOS) are where sends go wrong.

  • 5/7 webmail, 4/6 desktop, 6/8 mobile clients support <style> fully.
  • Partial in Gmail, Gmail Android, Gmail iOS, Outlook (New) and 2 more, behavior differs from browsers, test before relying on it.
  • Outlook Classic (Word engine, supported to at least 2029) does not fully support <style>, and its replacement changes little here; see the deprecation diff.
  • Documented before/after fixes on this page cover 3 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 Jul 27, 2023, synced by Emailens Sep 2, 2026.

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebPartialSee caveat 1
Gmail AndroidmobileGmail MobilePartialSee caveat 2
Gmail iOSmobileGmail MobilePartialSee caveat 2
Outlook 365webmailOutlook WebSupported
Outlook (New)desktopOutlook WebPartialSee caveat 3
Outlook ClassicdesktopMicrosoft WordPartialSee caveat 3
Outlook iOSmobileOutlook MobileSupported
Outlook AndroidmobileOutlook MobileSupported
Outlook for MacdesktopWebKitSupported
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooSupported
Yahoo Mail AndroidmobileYahooSupported
Yahoo Mail iOSmobileYahooSupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoSupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonPartialSee caveat 4
AOL MailwebmailAOLSupported
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkSupported

Documented caveats (4)

  1. 1.Gmail: Partial. Not supported inside the <body>. The size of the <style> tag is limited to 16 KB
  2. 2.Gmail Android, Gmail iOS: Partial. Not supported inside the <body>. Partial. Not supported with non Google accounts.
  3. 3.Outlook (New), Outlook Classic: Buggy. <style> elements need to be declared before their rules are used.
  4. 4.Proton Mail: Partial. Not supported inside the <body>.

Caveats recorded by caniemail.com (MIT) and carried verbatim, one entry per wording rather than per client.

Client-by-client behaviour for <style>

Fully supports <style> (15): 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, AOL Mail, Fastmail, Superhuman.

Partial support (6): Gmail, Gmail Android, Gmail iOS, Outlook (New), Outlook Classic, Proton Mail. Expect rendering quirks unique to each engine. Partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.

Fixes & Workarounds

Gmail

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Before (Broken)

before.html
7 lines
<style>
  .header { background-color: #6d28d9; padding: 32px; }
  .title  { color: #fff; font-size: 24px; }
</style>
<div class="header">
  <h1 class="title">Hello</h1>
</div>

After (Fixed)

fixed.html
6 lines
<div style="background-color: #6d28d9; padding: 32px;">
  <h1 style="color: #fff; font-size: 24px;
             font-family: Arial, sans-serif; margin: 0;">
    Hello
  </h1>
</div>

Inline CSS for Gmail compatibility

Gmail Android

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Before (Broken)

before.html
7 lines
<style>
  .header { background-color: #6d28d9; padding: 32px; }
  .title  { color: #fff; font-size: 24px; }
</style>
<div class="header">
  <h1 class="title">Hello</h1>
</div>

After (Fixed)

fixed.html
6 lines
<div style="background-color: #6d28d9; padding: 32px;">
  <h1 style="color: #fff; font-size: 24px;
             font-family: Arial, sans-serif; margin: 0;">
    Hello
  </h1>
</div>

Inline CSS for Gmail compatibility

Gmail iOS

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Before (Broken)

before.html
7 lines
<style>
  .header { background-color: #6d28d9; padding: 32px; }
  .title  { color: #fff; font-size: 24px; }
</style>
<div class="header">
  <h1 class="title">Hello</h1>
</div>

After (Fixed)

fixed.html
6 lines
<div style="background-color: #6d28d9; padding: 32px;">
  <h1 style="color: #fff; font-size: 24px;
             font-family: Arial, sans-serif; margin: 0;">
    Hello
  </h1>
</div>

Inline CSS for Gmail compatibility

Outlook (New)

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Outlook Classic

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Proton Mail

Partial

Use a CSS inliner tool (like juice) to move styles to inline attributes.

Production guidance for <style>

<style> is a HTML element. Across the email client matrix, 15 of 21 tracked clients support it fully, 6 only partially, and 0 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 <style> 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 <style>

Paste your own, or run the sample below. Analyzed in this page, with no signup and nothing stored.

Zero-Friction Engine Preview

Test your <style> layout across 21 email clients

Preview rendering, catch CSS issues, and see how <style> 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 27, 2023 as the last time <style> was tested in a real client, 3 years before this sync. Syncing copies that result forward, it does not re-test it. Carried in @emailens/engine data v0.12.2.