Thunderbird
Thunderbird uses Mozilla's Gecko rendering engine , the same engine that powers Firefox. This gives it strong CSS support, including <style> blocks, media queries, and most modern CSS properties. It's one of the more developer-friendly email clients for CSS.
Open-source desktop email client popular among technical users, privacy-conscious users, and organizations that prefer non-cloud email. Used primarily on Linux and Windows.
CSS coverage profile for Thunderbird
Thunderbird renders with the Gecko engine and supports 226 of 298 tracked CSS and HTML features fully, with 12 partially supported and 21 unsupported. That places it in a broad coverage band.
Modern CSS works largely as expected. The cost of supporting this client is low. Most production templates need only minor adjustments.
226
Supported
12
Partial
21
Unsupported
298
Total
Key gotchas in Thunderbird
JavaScript All JavaScript is stripped for security. Don't rely on any client-side scripting in emails.
form elements Form elements render visually but do not submit data. Interactive email patterns won't work in Thunderbird.
External resources Thunderbird blocks external images by default until the user clicks 'Show remote content'. Design for image-blocked scenarios with good alt text.
How Thunderbird renders email
- Thunderbird uses Gecko, the same engine that powers Firefox, which gives it some of the strongest CSS support of any desktop email client. Modern flexbox, grid, and CSS custom properties all render correctly inside the reading pane.
- External resources (images, web fonts) are blocked by default until the user explicitly opts in. Plan for a default-blocked rendering and supply meaningful alt text on every image-bearing <img>.
- Thunderbird respects @media (prefers-color-scheme) and switches between user-defined themes. Dark-mode CSS authored for Apple Mail typically works in Thunderbird without modification.
- The reading pane has a configurable max-width set by the user. Designs that rely on a hard 600px content frame can render with extra horizontal whitespace on wide displays.
Dark mode behaviour in Thunderbird
Thunderbird supports dark mode via its theme system. It applies its own color inversion for emails that don't declare explicit dark mode styles. Supports prefers-color-scheme media queries.
QA checklist for Thunderbird
- Always test the image-blocked rendering , Thunderbird is the most common client where this affects everyday users.
- Verify behaviour in the user's installed theme (light, dark, system) to catch contrast collapses early.
- Avoid relying on auto-linking , Thunderbird does not auto-detect phone numbers or addresses, so include explicit <a href> wrappers.
Renders here, dropped almost everywhere else
Safe in Thunderbird and almost nowhere else, so it needs a fallback the moment the send is not Thunderbird-only.
Where Thunderbird is weakest
- HTML Elements 10
- HTML Attributes 7
- CSS At-Rules 7
- CSS Properties 6
- HTML & Email Structure 2
Closest client: Superhuman
Superhuman agrees with Thunderbird on 87% of verified features. They still differ on 11: <audio>, <form>, <video>, @keyframes, @media, @supports, and 5 more.
Side by side
HTML Elements48
| Feature | Support |
|---|---|
| <abbr> | Supported |
| <acronym> | Supported |
| <address> | Supported |
| <audio> | Supported |
| <base> | Supported |
| <bdi> | Supported |
| <blockquote> | Supported |
| <body> | Supported |
| <button type="reset"> | Partial |
| <button type="submit"> | Supported |
| <code> | Supported |
| <del> | Supported |
| <dfn> | Supported |
| <dialog> | Supported |
| <div> | Supported |
| <form> | Supported |
| <h1> | Supported |
| <hr> | Supported |
| <img> | Unknown |
| <input type="checkbox"> | Partial |
| <input type="hidden"> | Partial |
| <input type="radio"> | Partial |
| <input type="reset"> | Partial |
| <input type="submit"> | Supported |
| <input type="text"> | Partial |
| <link> | Unsupported |
| <marquee> | Supported |
| <meter> | Supported |
| <object> | Partial |
| <p> | Supported |
| <picture> | Supported |
| <pre> | Supported |
| <progress> | Supported |
| <rp> | Supported |
| <rt> | Supported |
| <ruby> | Supported |
| <select> | Partial |
| <small> | Supported |
| <span> | Supported |
| <strike> | Supported |
| <strong> | Supported |
| <style> | Supported |
| <svg> | Supported |
| <table> | Supported |
| <textarea> | Partial |
| <ul> | Supported |
| <video> | Supported |
| <wbr> | Supported |
HTML Attributes22
| Feature | Support |
|---|---|
| [align] | Supported |
| [aria-describedby] | Unsupported |
| [aria-hidden] | Unsupported |
| [aria-label] | Unsupported |
| [aria-labelledby] | Unsupported |
| [aria-live] | Unsupported |
| [background] | Supported |
| [cellpadding] | Supported |
| [cellspacing] | Supported |
| [command] | Supported |
| [dir] | Supported |
| [height] | Supported |
| [hidden] | Supported |
| [lang] | Supported |
| [loading] | Supported |
| [popover] | Partial |
| [required] | Supported |
| [role] | Supported |
| [srcset] | Supported |
| [target] | Partial |
| [valign] | Supported |
| [width] | Supported |
HTML & Email Structure8
| Feature | Support |
|---|---|
| amp4email | Unsupported |
| anchor-links | Supported |
| doctype | Unsupported |
| html-comments | Supported |
| html5-semantics | Supported |
| image-maps | Supported |
| mailto-links | Supported |
| meta-color-scheme | Supported |
CSS At-Rules10
| Feature | Support |
|---|---|
| @font-face | Supported |
| @import | Unsupported |
| @keyframes | Supported |
| @media | Unsupported |
| @media device-pixel-ratio | Unsupported |
| @media hover | Unknown |
| @media orientation | Unsupported |
| @media prefers-color-scheme | Unsupported |
| @media prefers-reduced-motion | Unsupported |
| @supports | Unsupported |
Pseudo-Elements6
| Feature | Support |
|---|---|
| ::after | Supported |
| ::before | Supported |
| ::first-letter | Supported |
| ::first-line | Supported |
| ::marker | Supported |
| ::placeholder | Supported |
Pseudo-Classes & Selectors34
| Feature | Support |
|---|---|
| :adjacent-sibling | Supported |
| :attribute-selector | Supported |
| :chaining | Supported |
| :checked | Supported |
| :child-combinator | Supported |
| :class-selector | Supported |
| :descendant-combinator | Supported |
| :first-child | Supported |
| :first-of-type | Supported |
| :focus | Supported |
| :focus-visible | Unknown |
| :focus-within | Unknown |
| :general-sibling | Supported |
| :grouping | Supported |
| :has | Unsupported |
| :hover | Supported |
| :id-selector | Supported |
| :lang | Unknown |
| :last-child | Supported |
| :last-of-type | Supported |
| :link | Supported |
| :not | Supported |
| :nth-child | Supported |
| :nth-last-child | Supported |
| :nth-of-type | Supported |
| :only-child | Supported |
| :only-of-type | Supported |
| :target | Supported |
| :type-selector | Supported |
| :universal-selector | Supported |
| :visited | Supported |
| pseudo-class-active | Supported |
| pseudo-class-default | Supported |
| pseudo-class-nth-last-of-type | Supported |
CSS Functions8
| Feature | Support |
|---|---|
| calc | Supported |
| clamp | Supported |
| conic-gradient | Supported |
| fit-content | Supported |
| linear-gradient | Supported |
| max | Supported |
| min | Supported |
| radial-gradient | Supported |
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.