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 109 of 298 tracked CSS and HTML features fully, with 65 partially supported and 124 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.
109
Supported
65
Partial
124
Unsupported
298
Total
Key gotchas in Gmail Android
<style> blocks Stripped entirely, same as Gmail web. All styles must be inline.
@media queries
See details
Gmail Android ignores all media queries. Responsive design must use fluid widths (percentage + max-width), not breakpoints.
max-width Supported 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
Breaks here, works nearly everywhere else
3 features that Gmail Android drops while most other clients render them. This is usually what is behind an email that looks correct everywhere but here.
Renders here, dropped almost everywhere else
Safe in Gmail Android and almost nowhere else, so it needs a fallback the moment the send is not Gmail Android-only.
Where Gmail Android is weakest
- CSS Properties 102
- Pseudo-Classes & Selectors 34
- HTML Elements 19
- HTML Attributes 10
- CSS At-Rules 9
Closest client: Gmail iOS
Gmail iOS agrees with Gmail Android on 91% of verified features. They still differ on 27: <button type="reset">, <button type="submit">, <dialog>, <form>, <input type="reset">, <input type="submit">, and 21 more.
Side by side
HTML Elements48
| Feature | Support |
|---|---|
| <abbr> | Supported |
| <acronym> | Supported |
| <address> | Supported |
| <audio> | Unsupported |
| <base> | Partial |
| <bdi> | Unsupported |
| <blockquote> | Supported |
| <body> | Partial |
| <button type="reset"> | Supported |
| <button type="submit"> | Supported |
| <code> | Supported |
| <del> | Supported |
| <dfn> | Supported |
| <dialog> | Supported |
| <div> | Supported |
| <form> | Supported |
| <h1> | Supported |
| <hr> | Supported |
| <img> | Supported |
| <input type="checkbox"> | Supported |
| <input type="hidden"> | Supported |
| <input type="radio"> | Supported |
| <input type="reset"> | Supported |
| <input type="submit"> | Supported |
| <input type="text"> | 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 |
HTML Attributes22
| Feature | Support |
|---|---|
| [align] | Supported |
| [aria-describedby] | Unsupported |
| [aria-hidden] | Supported |
| [aria-label] | Supported |
| [aria-labelledby] | Unsupported |
| [aria-live] | Supported |
| [background] | Partial |
| [cellpadding] | Supported |
| [cellspacing] | Supported |
| [command] | Unsupported |
| [dir] | Supported |
| [height] | Supported |
| [hidden] | Unsupported |
| [lang] | Supported |
| [loading] | Unsupported |
| [popover] | Unsupported |
| [required] | Partial |
| [role] | Supported |
| [srcset] | Unsupported |
| [target] | Unsupported |
| [valign] | Supported |
| [width] | Supported |
HTML & Email Structure8
| Feature | Support |
|---|---|
| amp4email | Supported |
| anchor-links | Supported |
| doctype | Supported |
| html-comments | Supported |
| html5-semantics | Partial |
| image-maps | Supported |
| mailto-links | Supported |
| meta-color-scheme | Unsupported |
CSS At-Rules10
| Feature | Support |
|---|---|
| @font-face | Unsupported |
| @import | Unsupported |
| @keyframes | Unsupported |
| @media | Partial |
| @media device-pixel-ratio | Unsupported |
| @media hover | Unsupported |
| @media orientation | Supported |
| @media prefers-color-scheme | Unsupported |
| @media prefers-reduced-motion | Unsupported |
| @supports | Unsupported |
Pseudo-Elements6
| Feature | Support |
|---|---|
| ::after | Unsupported |
| ::before | Unsupported |
| ::first-letter | Unsupported |
| ::first-line | Unsupported |
| ::marker | Unsupported |
| ::placeholder | Unsupported |
Pseudo-Classes & Selectors34
| 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 |
| :focus-visible | Unsupported |
| :focus-within | 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 Properties162
Test your email in Gmail, Outlook and Apple Mail
Preview rendering, catch CSS issues, and see what Outlook does to your VML. Free, no account. All 21 clients with one.
Instant live preview · No signup required · 21 email engines
Support data last updated Sep 2, 2026 - synced from caniemail.com (MIT) via @emailens/engine.