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.