Build and send emails using React and TypeScript.
JSX email provides a set of React components and helpers for building delightful, responsive email templates that work across modern email clients. The components handle compatibility and client inconsistencies so designers and developers can focus on building impactful templates instead of fighting email rendering quirks.
Version 3 modernizes the runtime, package exports, preview app, scaffold, plugins, and CLI. It requires Node.js 22.0.0 or newer and React 19.1.0 or newer. Please read the v3 Migration Guide before upgrading existing projects.
To browse the source code and documentation markdown for v2.8.4, use the jsx-email-v2.8.4 tag.
Everything to know about components, props, and usage is available in the Documentation.
For new projects, use create-mail:
npx create-mail my-email-projectThe packages and components that make up JSX email require an LTS Node version, v22.0.0 or newer, and React v19.1.0 or newer.
A list of available components can be found in the JSX email documentation.
The goals of this project are to provide an improved focus on Developer Experience, maintenance, fast improvements, and fast releases. JSX email includes:
- Email Client Compatibility Checking
- Exclusive Components
- Handles cross-client inconsistencies for you
- Optional Configuration Files
- Plugins
- Crazy fast Tailwind support
- Support for
<Suspense>andasyncwithin Components - Enhanced Developer Experience (DX)
- Wonderful Command Line tools
- Works with Monorepos out of the box. No exhaustive setup needed.
- A smooth and simple Preview Server
- Fast improvements, feature development, and releases
- Community-driven, not Company-driven
- No vendor lock-in for tools.
jsx-emailuses only generic components and tools
Email built and rendered with JSX email can be used with any email provider that provides an API for sending email as a string. This includes AWS SES, Loops, Nodemailer, Postmark, Resend, Plunk, and SendGrid. See Email Providers for more info and example usage.
We welcome contributions. This is a community-driven project with no corporate sponsorship or backing. The maintainers and users keep this project going.
Please check out our Contribution Guide.
We, the maintainers, use JSX email daily.