You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It has sm:rounded-xl and sm:py-8. The breakpoints work perfectly fine during development. However, when I send a test email and open it in Gmail (on both Chrome and Safari), the padding and border-radius don’t work, regardless of whether I view it on desktop or mobile.
edit: I just rolled back to the version mentioned above, and it is working again. The problem seems to occur when upgrading @react-email/components to 1.0.1
edit2: I had a look at the Html from the source email and I found that the style block is different:
Isn't this a huge issue? My react emails with tailwind 4 both from "@react-email/components": "1.0.3",
"@react-email/tailwind": "^2.0.3", are not working in gmail at all!
I'm surprised I'm not seeing this mentioned anywhere else.
Seems media queries like width>=40rem is being encoded as width>=3D40rem somewhere in the pipeline, which causes the styles to not get applied? Going back to min-width: 40rem might fix it but I don't know the code base. 🤷🏼
The original reproduction doesn't actually reproduce. Would you be willing to share the React source that generated the broken styles for you @quintenb?
I’m having a similar issue with emails generated from new.email. It uses a Tailwind wrapper that works fine in the macOS Mail client, but the styling breaks when viewing the email in a browser via Gmail.
Since no one shared a reproduction for this, I'm going to close it as not planned. If anyone still has this let me know with a proper reproduction, and once we can reproduce and we'll reopen.
React.email can mitigate this with a custom Tailwind v4 CSS config where it would disable the default breakpoints and add custom ones, like we're doing here:
+ lowering syntax with Lightning CSS, by passing it something like {targets: {ie: 1 << 2}} to force the lowest syntax support.
Unfortunately Tailwind CSS v4 doesn't allow passing anything else than minify: falseto Lightning's config, so this needs to be an extra step until/if the Tailwind team implements that.
Since no one shared a reproduction for this, I'm going to close it as not planned. If anyone still has this let me know with a proper reproduction, and once we can reproduce and we'll reopen.
This issue indeed exists; breakpoints like sm: do not work in Gmail.
While we are waiting for this... are no one using resend and tailwind then? Or are people just maintaining parallell implementations of their emails with non tailwind css? With claude it's not that hard actually, but it sucks that we can't rely on tailwind end to end
@kristianeboe Yeah this is a real pain point, I ran into the same thing building Emailens, which previews how HTML emails render across clients. Tailwind v4's compiler API skips the PostCSS/Lightning CSS pipeline that normally downlevels range syntax and nesting, so Gmail/Outlook just ignore the <style> block entirely.
PR #3086 fixes both issues (range syntax + nesting) using css-tree AST. Hoping to get it merged soon so everyone can use Tailwind end-to-end without workarounds.
Activity
quintenb commentedon Nov 27, 2025
I have the same issue. It worked fine an older version of react email. But since I have updated to the latest versions it is not working anymore.
Currently running:
I was running:
When i look at the source of the email send to Gmail I do see the styles present in the
<head>from the emailbut for some reason they are not applied.
edit: I just rolled back to the version mentioned above, and it is working again. The problem seems to occur when upgrading @react-email/components to 1.0.1
edit2: I had a look at the Html from the source email and I found that the style block is different:
Looks like gmail does not like the newly generated style block.
akshaybabloo commentedon Dec 13, 2025
Don't seem to be working in outlook/office 365 as well
jacobgad commentedon Dec 13, 2025
Not working for me either, this issue is blocking me from updating to
v1.0.1.Confirmed issue is not present in
v0.5.7akshaybabloo commentedon Dec 13, 2025
If I send a test email from the preview server it works fine but not from the actual template
kristianeboe commentedon Jan 6, 2026
Isn't this a huge issue? My react emails with tailwind 4 both from "@react-email/components": "1.0.3",
"@react-email/tailwind": "^2.0.3", are not working in gmail at all!
I'm surprised I'm not seeing this mentioned anywhere else.
PS:
They work in Notion mail though...
kristianeboe commentedon Jan 6, 2026
The live tailwind demo from the official docs is also crashing https://react.email/docs/components/tailwind
https://demo.react.email/preview/notifications/vercel-invite-user
gantoine commentedon Jan 9, 2026
Seems media queries like
width>=40remis being encoded aswidth>=3D40remsomewhere in the pipeline, which causes the styles to not get applied? Going back tomin-width: 40remmight fix it but I don't know the code base. 🤷🏼gabrielmfern commentedon Jan 13, 2026
The original reproduction doesn't actually reproduce. Would you be willing to share the React source that generated the broken styles for you @quintenb?
krisnaw commentedon Jan 15, 2026
I’m having a similar issue with emails generated from new.email. It uses a Tailwind wrapper that works fine in the macOS Mail client, but the styling breaks when viewing the email in a browser via Gmail.
gabrielmfern commentedon Jan 26, 2026
Since no one shared a reproduction for this, I'm going to close it as not planned. If anyone still has this let me know with a proper reproduction, and once we can reproduce and we'll reopen.
7 remaining items
Gyran commentedon Jan 30, 2026
There us nothing in https://developers.google.com/workspace/gmail/design/css#css_media_queries that indicates that the range syntax is supported
cossssmin commentedon Feb 13, 2026
Nested media queries, which Tailwind CSS v4 uses, are not supported in several big clients:
https://www.caniemail.com/features/css-at-media/
React.email can mitigate this with a custom Tailwind v4 CSS config where it would disable the default breakpoints and add custom ones, like we're doing here:
https://github.com/maizzle/tailwindcss
+ lowering syntax with Lightning CSS, by passing it something like
{targets: {ie: 1 << 2}}to force the lowest syntax support.Unfortunately Tailwind CSS v4 doesn't allow passing anything else than
minify: falseto Lightning's config, so this needs to be an extra step until/if the Tailwind team implements that.tomh4 commentedon Feb 16, 2026
this is literally breaking react email with tailwind on all major mail clients? how can this not get more attention?
fix: make Tailwind breakpoints Gmail-compatible
cjx-dev commentedon Mar 18, 2026
This issue indeed exists; breakpoints like sm: do not work in Gmail.
cjx-dev commentedon Mar 18, 2026
I think this issue should be taken seriously, but unfortunately, no one is paying attention to this issue.
fix(tailwind): downlevel CSS for email client compatibility
Ouranos27 commentedon Mar 18, 2026
Opened a PR for this: #3086
The root cause is two things:
compile().build()outputs Media Queries Level 4 range syntax (width>=40rem) which Gmail and most email clients don't understand.class{@media{...}}) which email clients also don't supportWhen React Email uses the Tailwind compiler API directly, the PostCSS/Lightning CSS pipeline that normally downlevels these features doesn't run.
The PR adds a transform step that converts both to legacy syntax before injecting into the
<style>tag.fix(tailwind): downlevel CSS for email client compatibility
kristianeboe commentedon Apr 4, 2026
While we are waiting for this... are no one using resend and tailwind then? Or are people just maintaining parallell implementations of their emails with non tailwind css? With claude it's not that hard actually, but it sucks that we can't rely on tailwind end to end
Ouranos27 commentedon Apr 9, 2026
@kristianeboe Yeah this is a real pain point, I ran into the same thing building Emailens, which previews how HTML emails render across clients. Tailwind v4's compiler API skips the PostCSS/Lightning CSS pipeline that normally downlevels range syntax and nesting, so Gmail/Outlook just ignore the
<style>block entirely.PR #3086 fixes both issues (range syntax + nesting) using css-tree AST. Hoping to get it merged soon so everyone can use Tailwind end-to-end without workarounds.
redac commentedon Apr 20, 2026
This specific issue has been stopping us for updating for almost a year now.
fix(tailwind): downlevel CSS for email client compatibility