Framework-Native
Works inside Next.js App Router, Remix, Vite, or any React SSR framework. No client hydration required.
Write content as familiar React components. Render it to email-safe HTML, responsive web, or print-ready PDF, from the same component library.
01import {02 Email, Row, Column, Image, 03 Heading, Paragraph, Button, renderToHtml,04} from '@unlayer/react-elements';05 06// Email-safe HTML, tables for every email client.07const html = renderToHtml(08 <Email>09 <Row>10 <Column>11 <Image src="/logo.png" alt="Acme" />12 <Heading>Welcome to Acme</Heading>13 <Paragraph>Thanks for signing up. Confirm your email to activate.</Paragraph>14 <Button href="/confirm">Confirm email</Button>15 </Column>16 </Row>17 </Email>18);Thanks for signing up. Confirm your email to activate.
A focused React library that fits the way modern stacks render content, from transactional emails to landing pages to PDF exports, without inventing yet another template language.
Works inside Next.js App Router, Remix, Vite, or any React SSR framework. No client hydration required.
Email, Page, and Document root wrappers turn the same JSX into tables, flexbox, or print-optimized HTML.
Every component prop, every render mode, every helper is typed end-to-end with autocomplete on day one.
Tree-shakeable ESM under 50KB with zero client JavaScript in the rendered output.
renderToHtml() emits production-ready markup. No React hydration markers, no framework comments.
renderToJson() exports Unlayer-compatible design JSON so code and the visual builders stay in sync.
From a single transactional email to a hundred-thousand-page marketing site, Elements covers the engineering surface that React already does best.
Render order confirmations, password resets, and receipts from the same React codebase that powers your app.
Generate invoices, contracts, and reports server-side without learning a separate PDF DSL.
Spin up campaign landing pages from versioned React templates and deploy them next to your app.
Pull design JSON from your CMS or database and render it on demand in any output mode.
Build internal or customer-facing template galleries from versioned JSX templates checked into your repo.
Publish the same content as both an email send and a web page archive from a single source.
Pick the right root for the job. Get HTML tuned for that surface, built from the same component library.
<Email> → email tablesTable-based HTML safe for Outlook, Gmail, Yahoo, and every major email client.
<Page> → responsive webModern div + flexbox HTML for landing pages, microsites, and in-app content.
<Document> → print PDFPrint-optimized HTML you can hand to any HTML-to-PDF renderer.
Thanks for signing up. Confirm your email to activate.
The all-in-one platform for modern product teams.
Issued April 12, 2026. Total $1,420.00 due May 12.
React-first today. Angular and Vue are next. No bespoke runtime, no proprietary template language. Just components your team already knows how to write.
Server Components, Suspense, and concurrent rendering, all supported out of the box.
Renders anywhere React renders. Server, edge, Bun, Deno, or your CI box.
Full type definitions for every component and prop. Autocomplete in every editor.
Under 50KB ESM. Zero client JS required. Pay only for the components you import.
v18 & v19, Server Components ready
StableApp Router and Pages Router
StableRemix v2 on Vite
StableBun and Deno included
StableStandalone components
Coming soonComposition API
Coming soonElements lives next to Unlayer's five visual builders. Different audiences, same JSON contract. Pick whichever surface fits the job.
Five embeddable drag-and-drop editors for email, page, document, popup, and image. Drop them into your product so non-engineers can author content without filing a ticket.
View buildersDesigners build in the visual editor, engineers consume the design JSON in Elements. The same template moves between code and UI without rewrites.
Read the docsA growing library of production-ready templates that work in both the visual builders and Elements. Start in either surface, switch whenever it suits your team.
Browse templatesInstall @unlayer/react-elements and start rendering email, web, and PDF from the same JSX tree. Free to start, scales to any volume.