Skip to main content
Emailens
CSS Properties

visibility

CSS property · 15 supported, 0 partial, 6 unsupported across 21 clients

15 of 21 email clients render visibility fully (Sep 2, 2026 data); it breaks outright in Gmail, Gmail Android, Gmail iOS and 3 more.

  • 5/7 webmail, 4/6 desktop, 6/8 mobile clients support visibility fully.
  • Unsupported in Gmail, Gmail Android, Gmail iOS, Outlook (New) and 2 more.
  • Outlook Classic (Word engine, supported to at least 2029) does not fully support visibility, 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 Feb 28, 2019, synced by Emailens Sep 2, 2026.

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebUnsupported
Gmail AndroidmobileGmail MobileUnsupported
Gmail iOSmobileGmail MobileUnsupported
Outlook 365webmailOutlook WebSupported
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobileSupportedSee caveat 1
Outlook AndroidmobileOutlook MobileSupported
Outlook for MacdesktopWebKitSupportedSee caveat 1
Apple MaildesktopWebKitSupportedSee caveat 1
Apple Mail iOSmobileWebKitSupportedSee caveat 1
Yahoo MailwebmailYahooSupported
Yahoo Mail AndroidmobileYahooSupported
Yahoo Mail iOSmobileYahooSupportedSee caveat 1
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoSupported
HEY MailwebmailWebKitSupported
Proton MailwebmailProtonSupportedSee caveat 1
AOL MailwebmailAOLUnsupported
FastmailwebmailFastmailSupported
SuperhumandesktopBlinkSupported

Documented caveats (1)

  1. 1.Outlook iOS, Outlook for Mac, Apple Mail, Apple Mail iOS, Yahoo Mail iOS, Proton Mail: Buggy. visibility:collapse applied to a <tr> only hides content and does not "remove" it from layout.

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

Client-by-client behaviour for visibility

Fully supports visibility (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, Proton Mail, Fastmail, Superhuman.

No support (6): Gmail, Gmail Android, Gmail iOS, Outlook (New), Outlook Classic, AOL Mail. Plan fallbacks for these clients before relying on visibility in production sends.

Fixes & Workarounds

Gmail

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

Gmail Android

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

Gmail iOS

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

Outlook (New)

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

Outlook Classic

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

AOL Mail

Unsupported

Remove the element or use display:none as an alternative.

Before (Broken)

before.html
3 lines
<div style="visibility: hidden;">
  Hidden content for screen readers
</div>

After (Fixed)

fixed.html
5 lines
<!-- 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>

Use conditional comments or remove hidden content

Production guidance for visibility

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

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

Zero-Friction Engine Preview

Test your visibility layout across 21 email clients

Preview rendering, catch CSS issues, and see how visibility 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 Feb 28, 2019 as the last time visibility 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.