Skip to content
JSX TO PDF

JSX to PDF — render React components to paper

Stop maintaining a second, divergent PDF template. Send a React component and props to RenderKit and get back a paginated, print-grade PDF that uses your app's own design system.

PDF generation is usually a parallel universe — a separate templating language, separate styles, and a designer keeping two things in sync forever. JSX-to-PDF collapses that: the component your app already renders becomes the PDF.

Component in, PDF out

invoice.ts
import { RenderKit } from "renderkit-sdk";
const rk = new RenderKit(process.env.RENDERKIT_API_KEY);

const pdf = await rk.pdf({
  jsx: { component: "Invoice", props: { id: "INV-1024", total: 4200 } },
  format: "A4",
  margin: { top: "16mm", bottom: "16mm" },
});
// pdf.url -> signed CDN URL

Why JSX-to-PDF

  • One source of truth — the PDF and the on-screen view share a component
  • Real @media print rules, page size, and margins
  • Running headers/footers with page numbers
  • No HTML-template language to learn or keep in sync
  • Unique to RenderKit — ScreenshotOne, Urlbox, and PDFShift have no equivalent

Common uses

React PDF invoices, reports, certificates, and resumes. See the full HTML to PDF API.

Common questions

Send your component name and props to /v1/pdf as jsx. RenderKit renders the component server-side with print CSS and returns a signed PDF URL.

Yes — the component renders in a real browser, so Tailwind, CSS modules, and CSS-in-JS all apply, including @media print rules.

RenderKit is the only render API with native JSX-to-PDF. Others accept URL or raw HTML only, so you'd maintain a separate template.

Ship your first render in 60 seconds.

500 free renders to start. No card. Cancel by ignoring it.

Get your free key$npm i renderkit-sdk