PDFs that build themselves.
You design. We generate.
The modern document automation platform. Design pixel-perfect templates visually, fill them with data via API, and generate thousands of PDFs in seconds — invoices, contracts, healthcare forms, reports, and more.
No credit card required · Unlimited templates in free tier
Everything you need to automate documents
From visual design to API-driven generation at scale — one platform, zero PDF headaches.
Visual Template Builder
Drag-and-drop fields onto pixel-perfect pages. Text, dates, tables, signatures, checkboxes, images — position everything exactly where it belongs.
Schema-Driven Rendering
Templates are stored as structured JSON schemas. Feed data via API and get pixel-perfect PDFs every time — deterministic, testable, version-controlled.
API-First Design
RESTful endpoints for sync, async, and batch PDF generation. TypeScript SDK included. Generate from any language with a simple POST request.
Multi-Tenant Workspaces
Organize teams with workspaces and projects. Role-based access control — Owner, Admin, Editor, Viewer — keeps your templates secure.
Digital Signatures
Built-in signing flows with secure signer sessions. Capture typed or drawn signatures and embed them directly into generated documents.
Async & Batch Generation
Queue thousands of PDFs with BullMQ + Redis. Automatic retries, dead-letter queues, and webhook notifications when jobs complete.
Version Control
Publish immutable template versions. Edit drafts freely, then publish when ready. Roll back anytime. Full audit trail of every change.
Live Preview
Instant HTML preview of your templates with sample data. See exactly what the final PDF will look like before generating a single page.
Webhooks & Events
Get notified when documents are generated, signed, or failed. HMAC-signed webhook payloads integrate with any workflow or CI/CD pipeline.
Three steps to automated documents
Design Your Template
Use the visual builder to drag fields onto pages. Configure tables, signatures, dates, images — any field type your document needs. Set styles, alignment, and layout.
Send Data via API
POST your data as JSON. The auto-generated data model tells you exactly what fields to fill. Use our SDK, curl, or any HTTP client.
POST /api/v1/documents/generate-sync
{
"templateId": "cms-1500-v3",
"payload": {
"patientName": "Jane Doe",
"dob": "1990-03-15",
"procedures": [
{ "service": "Consultation",
"code": "99213",
"charges": "$150.00" }
]
}
}Get Your PDF
Receive a pixel-perfect PDF instantly (sync) or via webhook (async). Download, email, archive, or pipe it into your next workflow step.
Built for developers, loved by teams
First-class API, typed SDK, auto-generated code snippets, and a data model explorer for every template.
TypeScript SDK
import { PuppetPdfClient } from "@puppetpdf/sdk";
const client = new PuppetPdfClient(url, key);
const res = await client.generateDocument({
templateId: "invoice-v2",
payload: { customer: "Acme Corp", total: 4250 }
});Auto-Generated Data Model
interface InvoicePayload {
/** text field */
customer: string;
/** date field */
invoiceDate: string;
/** table field */
lineItems: Array<{
description: string;
qty: string;
amount: string;
}>;
/** text field */
total: string;
}Webhooks
// Your webhook endpoint receives:
{
"event": "document.completed",
"data": {
"documentId": "doc_8f3k2...",
"templateId": "invoice-v2",
"outputUrl": "https://..."
},
"signature": "sha256=..."
}Ready to automate your documents?
Join thousands of developers generating pixel-perfect PDFs at scale.