Skip to main content
CSS Properties

transform

CSS property · 5 supported, 1 partial, 9 unsupported across 15 clients

Client Support

ClientCategoryEngineSupport
GmailwebmailGmail WebUnsupported
Gmail AndroidmobileGmail MobileUnsupported
Gmail iOSmobileGmail MobileUnsupported
Outlook 365webmailOutlook WebUnsupported
Outlook (New)desktopOutlook WebUnsupported
Outlook ClassicdesktopMicrosoft WordUnsupported
Outlook iOSmobileOutlook MobileUnsupported
Outlook AndroidmobileOutlook MobileUnsupported
Apple MaildesktopWebKitSupported
Apple Mail iOSmobileWebKitSupported
Yahoo MailwebmailYahooUnsupported
Samsung MailmobileSamsungSupported
ThunderbirddesktopGeckoSupported
HEY MailwebmailWebKitSupported
SuperhumandesktopBlinkPartial

Client-by-client behaviour for transform

Fully supports transform (5): Apple Mail, Apple Mail iOS, Samsung Mail, Thunderbird, HEY Mail.

Partial support (1): Superhuman. Expect rendering quirks unique to each engine — partial support typically means a subset of values, an ignored shorthand, or sanitizer-specific rewrites.

No support (9): Gmail, Gmail Android, Gmail iOS, Outlook 365, Outlook (New), Outlook Classic, Outlook iOS, Outlook Android, Yahoo Mail. Plan fallbacks for these clients before relying on transform in production sends.

Fixes & Workarounds

Gmail

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Gmail Android

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Gmail iOS

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Outlook 365

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Outlook (New)

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Outlook Classic

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Outlook iOS

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Outlook Android

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Yahoo Mail

Unsupported

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Superhuman

Partial

CSS transforms are not supported in email. Pre-render the effect as an image.

Before

<div style="transform: rotate(45deg);">
  Rotated content
</div>

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;" />

Pre-render transformed states as images or use table layout

Production guidance for transform

transform is a CSS property. Across the email client matrix, 5 of 15 tracked clients support it fully, 1 only partially, and 9 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 transform 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

Test your email across all 15 clients

Preview rendering, catch CSS issues, and get actionable fixes — free.

Try Emailens Free

Support data last updated Apr 27, 2026 · synced from caniemail.com via @emailens/engine.