Build email, web, and PDF
in code.
Write content as familiar React components. Render it to email-safe HTML, responsive web, or print-ready PDF, from the same component library.
import { Section, Heading, Text, Button, renderToHtml } from '@unlayer/elements';
export function InvoiceNotification({ invoice, user }) {
return (
<Section padding="32px" backgroundColor="#09090b">
<Heading level={1}>Invoice for {user.name}</Heading>
<Text>Amount due: {invoice.total}</Text>
<Button href={invoice.paymentUrl}>Pay Invoice →</Button>
</Section>
);
}Built for engineering teams.
Zero friction, type-safe components with round-trip visual canvas serialization.
Framework-Native
Import familiar JSX or template components for React, Angular, Vue, and vanilla TypeScript.
Three Render Modes
Compile one component tree into email-safe table HTML, responsive web DOM, or print-ready PDF.
TypeScript-First
Full type definitions for layout props, styling tokens, dynamic merge variables, and event payloads.
Tiny Bundle
Lightweight runtime optimized for server-side rendering in Node, Next.js, Bun, and edge workers.
Clean HTML Output
No bloated nested tags or brittle inline scripts. Produces minified, compliant code.
JSON Round-Trip
Seamlessly serialize between React component trees and Unlayer visual editor JSON schemas.
Ready to embed content creation
into your app?
Start your 14-day free trial today, or schedule a technical walkthrough with our solutions engineers to see Unlayer running inside your stack.

