Email Client Compatibility
Inky generates HTML that works across all major email clients. This table shows the rendering engine used by each client and any notable limitations.
Support Matrix
Desktop Clients
| Client | Rendering Engine | Grid | Media Queries | <style> Block |
Background Images | VML Buttons | Notes |
|---|---|---|---|---|---|---|---|
| Apple Mail | WebKit | Yes | Yes | Yes | Yes | N/A | Best-in-class rendering |
| Outlook 2007 | Word | Yes | No | Partial | No | Yes | Most restrictive. Use VML for advanced styling. |
| Outlook 2010 | Word | Yes | No | Partial | No | Yes | Same as 2007 |
| Outlook 2013 | Word | Yes | No | Partial | No | Yes | Same as 2007 |
| Outlook 2016 | Word | Yes | No | Partial | No | Yes | Same as 2007 |
| Outlook 2019 | Word | Yes | No | Partial | No | Yes | Same as 2007 |
| Thunderbird | Gecko | Yes | Yes | Yes | Yes | N/A | Generally reliable |
Webmail
| Client | Grid | Media Queries | <style> Block |
Background Images | Notes |
|---|---|---|---|---|---|
| Gmail (web) | Yes | Yes | Yes (since 2016) | Yes | Strips unsupported CSS properties. Prefixes class names. |
| Outlook.com | Yes | Yes | Yes | Yes | Different engine from Outlook desktop. Generally good. |
| Yahoo Mail | Yes | Yes | Yes | Yes | Good support. Some quirks with <style> specificity. |
| Office 365 (web) | Yes | Yes | Yes | Yes | Similar to Outlook.com |
| AOL Mail | Yes | Yes | Yes | Yes | Similar to Yahoo Mail (same parent company) |
| ProtonMail | Yes | No | Partial | Yes | Strips some styles for security. Images blocked by default. |
| Fastmail | Yes | Yes | Yes | Yes | Good overall support |
Mobile
| Client | Grid | Media Queries | <style> Block |
Notes |
|---|---|---|---|---|
| iOS Mail | Yes | Yes | Yes | WebKit-based. Excellent rendering. |
| Gmail app (iOS) | Yes | Yes | Yes | Better support than Android counterpart |
| Gmail app (Android) | Yes | No | No | Renders large/desktop breakpoint. Does not support media queries. |
| Outlook app (iOS/Android) | Yes | Yes | Yes | Good rendering, different from Outlook desktop |
| Samsung Mail | Yes | Yes | Yes | WebKit-based |
| Yahoo app | Yes | Yes | Yes | Good support |
Rendering Engine Notes
Word (Outlook Desktop 2007–2019)
The most restrictive rendering environment. Microsoft Outlook on Windows uses the Word HTML renderer, which means:
-
No
float,position, flexbox, or grid — tables only -
No
background-imagevia CSS — use VML or the<hero>component -
No
border-radiusvia CSS — Inky uses VML<v:roundrect>for bulletproof buttons -
No
max-width— use fixedwidthon tables -
No
rgba()orhsla()— use solid hex colors -
marginis unreliable — usepaddingon table cells or the<spacer>component - DPI scaling affects images — always set explicit
widthandheighton images - Conditional comments work —
<!--[if mso]>lets you target Outlook specifically
Inky handles all of these automatically in its generated output.
WebKit (Apple Mail, iOS)
The most capable rendering engine for email. Supports:
- Media queries
- Web fonts (@font-face)
- CSS animations (limited use in email)
- background-image with background-size
- border-radius
- Most modern CSS
Gmail
Gmail has improved significantly since 2016 when it added <style> block support. Current behavior:
- Supports <style> blocks in <head>
- Prefixes all class names (e.g., .button becomes .m_button) — avoid overly generic names
- Strips unsupported CSS properties
- Clips emails over 102KB — use inky validate to check
- Gmail app on Android still does not support media queries
What Inky Does Automatically
You don't need to memorize this table. Inky handles cross-client compatibility in its output:
| Problem | Inky's Solution |
|---|---|
Outlook ignores <div> layout |
Generates <table> markup (or MSO fallbacks in --hybrid mode) |
Gmail strips <style> |
Inlines CSS by default |
Outlook ignores border-radius |
VML <v:roundrect> bulletproof buttons |
Outlook ignores background-image |
VML background in <hero> component |
| Images blocked by default | Validator flags missing alt text |
| Gmail clips large emails | Validator warns about 102KB threshold |
| Outlook spacing unreliable | <spacer> generates a fixed-height table row |
| Accessibility | role="presentation" on all layout tables |
Breakpoint
Inky uses a single responsive breakpoint at 596px ($global-breakpoint in SCSS).
- Above 596px — desktop/large layout (columns side by side)
- Below 596px — mobile/small layout (columns stack)
This single breakpoint is sufficient for email because:
- Email preview panes are typically 500–700px wide
- Mobile screens are below 596px
- More breakpoints add complexity with minimal benefit in the email context
Testing Recommendations
Rendering varies across clients and changes over time. Always test before sending:
-
inky validate— catches structural issues and common problems -
inky serve— local preview with auto-reload - Litmus or Email on Acid — cross-client rendering screenshots
- Send real test emails — especially to Outlook desktop and Gmail