Gmail Android
Gmail on Android shares Gmail Web's core sanitization rules — stripping <style> blocks and rewriting classes — but adds additional constraints from mobile rendering. Media queries are ignored entirely, making fluid design the only reliable responsive approach.
Gmail's Android app is the default email client on most Android devices, making it the highest-volume mobile email client worldwide.
CSS coverage profile for Gmail Android
Gmail Android renders with the Gmail Mobile engine and supports 82 of 251 tracked CSS and HTML features fully, with 59 partially supported and 110 unsupported. That places it in a narrow coverage band.
Most modern CSS is unsupported. This client effectively requires a separate, table-based fallback path for any non-trivial layout.
82
Supported
59
Partial
110
Unsupported
251
Total
Key gotchas in Gmail Android
<style> blocksStripped entirely, same as Gmail web. All styles must be inline.
@media queriesSee detailsGmail Android ignores all media queries. Responsive design must use fluid widths (percentage + max-width), not breakpoints.
max-widthSupported but behaves inconsistently with nested tables. Always set width="100%" on the table element alongside max-width in inline styles.
How Gmail Android renders email
- Gmail Android renders inside an Android WebView wrapper that further constrains the layout viewport. Designs must be fluid (percentage-based) to adapt across the wide range of Android device sizes.
- @media queries are ignored entirely on Gmail Android, so breakpoint-driven responsive design fails. Use min-width: 100% on outer tables and max-width on inner content blocks for the most reliable responsive behaviour.
- Touch interactions are the only interaction surface — no hover, no focus persistence. CTAs must look complete in their resting state.
- Image rendering benefits from device-pixel-ratio scaling, so high-DPI assets render crisply, but file sizes balloon and Gmail can lazy-defer image fetches on flaky connections.
Dark mode behaviour in Gmail Android
Gmail Android applies automatic dark mode color inversion. It converts light backgrounds to dark and adjusts text color accordingly. This can break carefully designed color schemes — explicitly test dark mode variants.
QA checklist for Gmail Android
- Verify rendering at typical Android viewports (360px, 412px, 480px) — Gmail Android does not honour breakpoints, so the same layout must look correct across all of them.
- Test image-heavy emails on throttled connections to confirm graceful image-loading behaviour.
- Check that buttons are at least 44px tall to meet Android's recommended touch-target size.
Related clients
HTML Elements40
| Feature | Support |
|---|---|
| <abbr> | Supported |
| <acronym> | Supported |
| <address> | Supported |
| <audio> | Unsupported |
| <base> | Partial |
| <bdi> | Unsupported |
| <blockquote> | Supported |
| <body> | Partial |
| <code> | Supported |
| <del> | Supported |
| <dfn> | Supported |
| <dialog> | Supported |
| <div> | Supported |
| <form> | Supported |
| <h1> | Supported |
| <hr> | Supported |
| <img> | Supported |
| <link> | Unsupported |
| <marquee> | Unsupported |
| <meter> | Partial |
| <object> | Unsupported |
| <p> | Supported |
| <picture> | Unsupported |
| <pre> | Supported |
| <progress> | Partial |
| <rp> | Partial |
| <rt> | Partial |
| <ruby> | Partial |
| <select> | Supported |
| <small> | Supported |
| <span> | Supported |
| <strike> | Partial |
| <strong> | Supported |
| <style> | Partial |
| <svg> | Unsupported |
| <table> | Supported |
| <textarea> | Supported |
| <ul> | Partial |
| <video> | Unsupported |
| <wbr> | Partial |
CSS At-Rules5
| Feature | Support |
|---|---|
| @font-face | Unsupported |
| @import | Unsupported |
| @keyframes | Unsupported |
| @media | Unsupported |
| @supports | Unsupported |
Pseudo-Elements6
| Feature | Support |
|---|---|
| ::after | Unsupported |
| ::before | Unsupported |
| ::first-letter | Unsupported |
| ::first-line | Unsupported |
| ::marker | Unsupported |
| ::placeholder | Unsupported |
Pseudo-Classes & Selectors32
| Feature | Support |
|---|---|
| :adjacent-sibling | Partial |
| :attribute-selector | Partial |
| :chaining | Partial |
| :checked | Unsupported |
| :child-combinator | Partial |
| :class-selector | Partial |
| :descendant-combinator | Partial |
| :first-child | Unsupported |
| :first-of-type | Unsupported |
| :focus | Unsupported |
| :general-sibling | Partial |
| :grouping | Partial |
| :has | Unsupported |
| :hover | Partial |
| :id-selector | Partial |
| :lang | Unsupported |
| :last-child | Unsupported |
| :last-of-type | Unsupported |
| :link | Unsupported |
| :not | Unsupported |
| :nth-child | Unsupported |
| :nth-last-child | Unsupported |
| :nth-of-type | Unsupported |
| :only-child | Unsupported |
| :only-of-type | Unsupported |
| :target | Unsupported |
| :type-selector | Partial |
| :universal-selector | Partial |
| :visited | Unsupported |
| pseudo-class-active | Unsupported |
| pseudo-class-default | Unsupported |
| pseudo-class-nth-last-of-type | Unsupported |
CSS Functions8
| Feature | Support |
|---|---|
| calc | Partial |
| clamp | Partial |
| conic-gradient | Unsupported |
| fit-content | Supported |
| linear-gradient | Partial |
| max | Partial |
| min | Partial |
| radial-gradient | Partial |
CSS Properties160
Test your email across all 15 clients
Preview rendering, catch CSS issues, and get actionable fixes — free.
Try Emailens FreeSupport data last updated Apr 27, 2026 · synced from caniemail.com via @emailens/engine.