Reference
Email client HTML & CSS support cheatsheet
Outlook Windows routes through the Word rendering engine. Outlook iOS runs a WebKit variant closer to Apple Mail. Concrete shape this takes: ::after renders cleanly on Apple Mail macOS and ships unsupported on Gmail Web. The ten-column grid below is the rest of the dataset, pulled from the caniemail.com snapshot.
What this snapshot says
- 156 features render differently in Outlook Windows than in Outlook iOS. Same brand, different engines.
- 136 features that Apple Mail macOS supports cleanly are partial or unsupported in Gmail Web. This is where templates that look pristine in your dev inbox quietly degrade in production.
- 5 features show partial support on 7 or more of the 10 clients shown. Nominally supported, practically a caveat in every inbox. Open the row to read the per-note caveat from caniemail.
- The dataset is thinnest on CSS: 0% of cells in that category are no-data. Treat those as unsupported until you ship a test of your own.
- Across the whole table, 0% of 3,070 cells have no caniemail data. The dash glyph covers tested-and-unsupported and no-data alike. Hover or open the row for the distinction.
Legend. Glyphs mirror caniemail's raw codes: check = y on the latest tested version, bang = a partial (open the row for the note number from caniemail), dash = n oru (treat absence as unsupported until you ship a test of your own).
Source. caniemail.com by Hteumeuleu and the contributors. Published under CC BY-SA 4.0. We mirror their JSON snapshot here and serve it with a 5-minute edge revalidate. Upstream snapshot: 2026-05-19 13:46:34 +0000. 307 features × 10 clients.
Feature support table
| Feature | Category | Gmail WebGmail Web | Gmail iOSGmail iOS | Gmail AndroidGmail Android | Outlook.comOutlook.com | Outlook WindowsOutlook Win | Outlook macOSOutlook macOS | Outlook iOSOutlook iOS | Apple Mail macOSApple macOS | Apple Mail iOSApple iOS | Yahoo! Mail WebYahoo Web |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| CSS | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| HTML | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Image formats | |||||||||||
| Others | |||||||||||
| Others |
Scroll the table sideways to see every client column.
Hit a gap?
Send caniemail your test
caniemail accepts community tests. If you confirmed a cell that is no-data here, file the result so the next reader gets it too.
Contribute on GitHub ->Why the gap exists
Read the renderer notes
Why Outlook Windows still routes through Word, why Apple Mail iOS uses WebKit, which CSS classes survive each pipeline, and how to graceful-degrade the failures the table flags above.
Browse the Almanac ->Past the render layer
Audit auth + headers
After the renderer surface, check the auth surface: DMARC parser, SPF checker, source analyzer.
Open the tools index ->