Skip to main content

Our email CSS engine is open source. Give it a star on GitHub 

Emailens

Gmail iOS email CSS: what breaks, and what to write instead

106 of 300 features work in Gmail iOS · 60 partial · 134 not supported. Of the 134 not supported, 5 work in at least 14 of the other 20 clients; the other 129 work in 13 or fewer.

Works 106 · Partial 60 · Not supported 134 · Untested 0 · of 300

Gmail Mobile · mobile · prefers-color-scheme: not supported

The checker needs a computer screen.

See what breaks ↓

Gmail iOS opens with a free account.

A free account opens all 21 clients and keeps your checks for 7 days. Create a free account →

@emailens/engine 0.18.22 · data last changed 10 Nov 2026

What to write instead

10 features Gmail iOS does not fully support have a written fix. See them in the table ↓

visibility

The fix for Gmail iOS

Use conditional comments or remove hidden content

after
<!-- For screen readers, use font-size: 0 trick -->
<div style="font-size: 0; max-height: 0; overflow: hidden;
            mso-hide: all;" aria-hidden="true">
  Preheader text
</div>
Show the original
before
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

The checker needs a computer screen.

text-shadow

The fix for Gmail iOS

Use font-weight or border-bottom as alternatives to text-shadow

after
.glow {
  /* text-shadow is not supported in Gmail, Outlook, Yahoo.
     Use font-weight or letter-spacing for emphasis instead. */
  font-weight: bold;
  letter-spacing: 0.5px;
}
Show the original
before
.glow {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

The checker needs a computer screen.

transform

The fix for Gmail iOS

Pre-render transformed states as images or use table layout

The engine still flags this in the fix: An image points to an address no inbox can load (rotated-content.png), so Gmail iOS shows a broken image instead.

after
<!-- Pre-render rotated content as an image -->
<img src="rotated-content.png" width="200" height="200"
  alt="Rotated content"
  style="display: block; border: 0;" />
Show the original
before
<div style="transform: rotate(45deg);">
  Rotated content
</div>

The checker needs a computer screen.

Paste your email and see what Gmail iOS does to it.

The checker needs a computer screen.

Dark mode in Gmail iOS

Before you send to Gmail iOS

  • Test with a non-Google account added to the app as well as a Gmail address.
  • Verify -webkit-text-size-adjust: 100% keeps small text at its set size.

Every feature in Gmail iOS

Show

HTML Elements · 26 of 48 not supported or partial here

HTML Attributes · 10 of 22 not supported or partial here

HTML & Email Structure · 3 of 8 not supported or partial here

CSS At-Rules · 10 of 10 not supported or partial here

Pseudo-Elements · 6 of 6 not supported or partial here

Pseudo-Classes & Selectors · 34 of 34 not supported or partial here

CSS Functions · 6 of 8 not supported or partial here

CSS Properties · 99 of 164 not supported or partial here

How Gmail iOS renders email

Gmail on iOS follows the same rules as Gmail on Android: for Google accounts it keeps a <style> block in the <head> and supports media queries other than height-based ones; for non-Google accounts it drops both and only inline styles survive.

<style> blocks
Kept in the <head> for Google accounts, removed for non-Google accounts. Keep critical styles inline.
@media queries
Supported for Google accounts except height-based queries, ignored for non-Google accounts.
Web fonts (@font-face)
Not supported. Only system fonts render, so the fallback stack is what readers see.
  • iOS-specific viewport directives such as -webkit-text-size-adjust help stop small text being enlarged on narrow screens.
  • Gmail fetches images through its own proxy, which can add a short delay on first open. Design so the email reads before images arrive.

Get new email CSS fixes by email.

caniemail (MIT) via @emailens/engine 0.18.22 · data last changed 10 Nov 2026