Skip to main content

Thunderbird

Engine: Gecko·desktop·Dark mode: Yes

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 203 of 251 tracked CSS and HTML features fully, with 4 partially supported and 9 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.

203

Supported

4

Partial

9

Unsupported

251

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.

HTML Elements40

FeatureSupport
<abbr>Supported
<acronym>Supported
<address>Supported
<audio>Supported
<base>Supported
<bdi>Supported
<blockquote>Supported
<body>Supported
<code>Supported
<del>Supported
<dfn>Supported
<dialog>Supported
<div>Supported
<form>Supported
<h1>Supported
<hr>Supported
<img>Unknown
<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

CSS At-Rules5

FeatureSupport
@font-faceSupported
@importUnsupported
@keyframesSupported
@mediaUnsupported
@supportsUnsupported

Pseudo-Elements6

FeatureSupport
::afterSupported
::beforeSupported
::first-letterSupported
::first-lineSupported
::markerSupported
::placeholderSupported

Pseudo-Classes & Selectors32

FeatureSupport
:adjacent-siblingSupported
:attribute-selectorSupported
:chainingSupported
:checkedSupported
:child-combinatorSupported
:class-selectorSupported
:descendant-combinatorSupported
:first-childSupported
:first-of-typeSupported
:focusSupported
:general-siblingSupported
:groupingSupported
:hasUnsupported
:hoverSupported
:id-selectorSupported
:langUnknown
:last-childSupported
:last-of-typeSupported
:linkSupported
:notSupported
:nth-childSupported
:nth-last-childSupported
:nth-of-typeSupported
:only-childSupported
:only-of-typeSupported
:targetSupported
:type-selectorSupported
:universal-selectorSupported
:visitedSupported
pseudo-class-activeSupported
pseudo-class-defaultSupported
pseudo-class-nth-last-of-typeSupported

CSS Functions8

FeatureSupport
calcSupported
clampSupported
conic-gradientSupported
fit-contentSupported
linear-gradientSupported
maxSupported
minSupported
radial-gradientSupported

CSS Properties160

FeatureSupport
!importantSupported
accent-colorUnknown
align-itemsSupported
animationSupported
aspect-ratioUnsupported
backdrop-filterUnknown
backgroundSupported
background-blend-modeSupported
background-clipSupported
background-colorSupported
background-imageSupported
background-originSupported
background-positionSupported
background-repeatSupported
background-sizeSupported
bimiUnsupported
block-sizeSupported
borderSupported
border-collapseSupported
border-imageSupported
border-inlineUnknown
border-inline-individualUnknown
border-inline-longhandUnknown
border-radiusSupported
border-radius-logicalUnknown
border-spacingSupported
bottomSupported
box-shadowSupported
box-sizingSupported
caption-sideSupported
clearUnknown
clip-pathSupported
colorSupported
color-schemeSupported
column-countSupported
columnsSupported
css-commentsSupported
cursorSupported
custom-propertiesSupported
directionSupported
displaySupported
display:flexSupported
display:gridSupported
display:noneSupported
empty-cellsUnknown
filterSupported
flex-directionSupported
flex-wrapSupported
floatSupported
fontSupported
font-familySupported
font-kerningSupported
font-sizeSupported
font-stretchSupported
font-weightSupported
gapSupported
grid-template-columnsSupported
heightSupported
hyphenate-characterUnknown
hyphenate-limit-charsUnsupported
hyphensUnknown
inline-sizeSupported
insetSupported
justify-contentSupported
leftSupported
letter-spacingSupported
light-darkSupported
line-heightSupported
list-styleSupported
list-style-imageSupported
list-style-positionSupported
list-style-typeSupported
marginSupported
margin-block-start-endUnknown
margin-inline-blockSupported
margin-inline-start-endUnknown
mask-imageUnknown
max-block-sizeUnknown
max-heightSupported
max-inline-sizeUnknown
max-widthSupported
min-block-sizeUnknown
min-heightSupported
min-inline-sizeUnknown
min-widthSupported
mix-blend-modeSupported
modern-colorUnsupported
nestingSupported
object-fitSupported
object-positionSupported
opacitySupported
orphansUnknown
outlineSupported
outline-offsetSupported
overflowSupported
overflow-wrapUnknown
paddingSupported
padding-block-start-endUnknown
padding-inline-blockUnknown
padding-inline-start-endUnknown
positionSupported
resizeUnknown
rgbSupported
rgbaSupported
rightSupported
scroll-snapSupported
shape-marginSupported
shape-outsideSupported
system-uiPartial
tab-sizeUnknown
table-layoutUnknown
text-alignSupported
text-align-lastUnknown
text-decorationSupported
text-decoration-colorSupported
text-decoration-lineSupported
text-decoration-skip-inkSupported
text-decoration-styleSupported
text-decoration-thicknessSupported
text-emphasisUnknown
text-emphasis-positionUnknown
text-indentSupported
text-justifyUnknown
text-orientationSupported
text-overflowSupported
text-shadowSupported
text-transformSupported
text-underline-offsetSupported
text-underline-positionSupported
text-wrapUnknown
topSupported
transformSupported
transitionSupported
unit-chSupported
unit-cmSupported
unit-emSupported
unit-exSupported
unit-inSupported
unit-initialSupported
unit-mmSupported
unit-pcSupported
unit-percentSupported
unit-ptSupported
unit-pxSupported
unit-remSupported
unit-vhSupported
unit-vmaxSupported
unit-vminSupported
unit-vwSupported
user-selectUnknown
vertical-alignSupported
visibilitySupported
white-spaceSupported
white-space-collapseUnknown
widowsUnknown
widthSupported
word-breakSupported
word-spacingSupported
writing-modeSupported
z-indexSupported

Test your email across all 15 clients

Preview rendering, catch CSS issues, and get actionable fixes — free.

Try Emailens Free

Support data last updated Apr 27, 2026 · synced from caniemail.com via @emailens/engine.