React Email vs Resend: Understanding the Modern Email Stack
React Email and Resend are often mentioned together but serve different purposes. Understanding how they complement each other helps you build a modern email system.
Key Clarification
React Email and Resend are not competitors but complementary tools from the same team. React Email is for building templates, while Resend is for sending emails. You can use either independently or together.
What Each Tool Does
React Email: Template Building
React Email is an open-source library for building email templates using React components. It provides a component library, development server with hot reload, and tools to render React components to email-compatible HTML.
Key capabilities:
- Write emails as React components with JSX
- TypeScript support for type safety
- Preview emails during development
- Render to HTML for any sending provider
- Component library with common email elements
Resend: Email Delivery
Resend is an email API service for sending transactional and marketing emails. It handles delivery, including authentication, deliverability optimization, and analytics.
Key capabilities:
- RESTful API for sending emails
- SDKs for multiple languages
- Domain verification and authentication
- Delivery analytics and webhooks
- Native React Email integration
How They Work Together
The intended workflow combines both tools: use React Email to build your templates, then use Resend to send them. This creates a seamless developer experience where you write templates in React and send them through a modern API.
// Build template with React Email
import WelcomeEmail from './emails/welcome';
// Send with Resend
import { Resend } from 'resend';
const resend = new Resend('re_123456789');
await resend.emails.send({
from: 'hello@example.com',
to: 'user@example.com',
subject: 'Welcome!',
react: WelcomeEmail({ name: 'John' })
}); Using Them Independently
React Email Without Resend
You can use React Email to build templates and send them through any email provider. Render your React components to HTML, then send via SendGrid, Mailgun, AWS SES, or any other service.
import { render } from '@react-email/render';
import WelcomeEmail from './emails/welcome';
// Render to HTML
const html = await render(WelcomeEmail({ name: 'John' }));
// Send via any provider
await sendgrid.send({
to: 'user@example.com',
html: html
}); Resend Without React Email
Resend accepts HTML strings, so you can use it with templates built any way: MJML, handlebars, plain HTML, or any other method.
await resend.emails.send({
from: 'hello@example.com',
to: 'user@example.com',
subject: 'Welcome!',
html: '<h1>Welcome, John!</h1>'
}); Resend Pricing
Resend offers a generous free tier and competitive pricing:
- Free: 3,000 emails/month, 100/day limit
- Pro: From $20/month for 50,000 emails
- Enterprise: Custom pricing for high volume
When to Consider Alternatives
The React Email and Resend combination works well for developer-heavy teams comfortable with code-based workflows. However, it requires technical skills and time investment to build templates.
Recommendation
For development teams already working in React who want code-level control over templates, React Email with Resend provides a modern, developer-friendly stack. The tools work well together and represent the current state of the art for code-based email.
Resend Pricing Deep-Dive
Resend prices primarily on outbound email volume per month, with tiered plans that scale as your sending grows. React Email itself is open-source, so your "tooling" cost is essentially zero and the money is on the delivery side. Published plan terms change often — verify current limits, overage policy, and feature gates on the official Resend pricing page before budgeting.
| Pricing question | Resend | React Email |
|---|---|---|
| Free tier | Yes, with monthly and per-day sending limits; confirm current allowance | Free, open-source MIT-licensed components |
| Paid entry | Low monthly price; check current inclusion limits | None — the library is free to use |
| Main cost driver | Volume of emails sent per month | Engineering time only |
| Beyond listed tiers | Custom enterprise plans at high volume | Not applicable |
| Hidden-cost watch-list | Per-day throttling, overage policy, extra sending domains | Developer time for client rendering QA and maintenance |
Always check official pricing pages before budgeting decisions; volume thresholds and per-day caps change more often than the headline tier names.
Who Owns What: A Responsibility Split
A common source of confusion in this stack is which problems each tool actually owns. React Email owns your template source: components, props, styling decisions, and the render step to HTML. Resend owns delivery: domain authentication, retries, bounce and complaint webhooks, and analytics. Everything in between — content QA, dark-mode behaviour, accessibility checks, unsubscribe handling, and data safety in dynamic fields — is your responsibility regardless of the stack.
| Concern | Owned by |
|---|---|
| Component library and JSX templates | React Email |
| Rendering to email-compatible HTML | React Email (@react-email/render) |
| Preview server during development | React Email |
| Domain verification, SPF/DKIM/DMARC | Resend (config) + your DNS |
| Delivery webhooks and analytics | Resend |
| Client rendering QA (Outlook, dark mode) | Your team — test in real clients |
| Accessibility, alt text, link checks | Your team |
When This Stack Is the Wrong Choice
Choose another path when marketers, not developers, must own template edits. If designers need visual editing, a tool like MJML or a visual builder with export to HTML will fit your process better; see the MJML vs React Email comparison for the code-oriented alternative. If non-technical teammates need to change copy or layout without touching source, add a governance workflow — or review template creation tools that support handoffs in the alternatives guide.
React Email vs Resend FAQ
Do I have to use Resend to use React Email?
No. React Email renders to plain email-compatible HTML that you can send through any provider — SendGrid, Mailgun, AWS SES, Postmark, or anything else accepting HTML. The Resend integration is an ergonomic shortcut, not a requirement. The reverse is also true: Resend accepts HTML strings from any template source, not just React Email.
Is React Email free? Is Resend free?
React Email is a free, open-source library. Resend offers a free tier with monthly and daily sending limits alongside paid tiers that scale with volume. Because both the free limits and the paid inclusion counts change periodically, check the official Resend pricing page for the current numbers before you commit — and check whether your expected per-day spikes fit within the free tier, since daily throttles often bind before the monthly total does.
Does Resend handle marketing campaigns too, or only transactional email?
Resend's core strength is API-driven sending, which naturally suits transactional and application-triggered messages. If your primary need is newsletter-style broadcasts with segmentation, subscriber management, and campaign reporting, a campaign-focused platform may be smoother. Verify the current feature scope on Resend's official product page before building a broadcast workflow on it. For template inspiration, browse our transactional templates and newsletter templates guides.