HTML to PDF API

Send HTML, get a PDF back in under a second.

curl -X POST https://api.getpapyr.dev/v1/render/pdf \
  -H "Authorization: Bearer pk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<h1>Invoice #1042</h1><p>Amount: $420.00</p>",
    "options": { "format": "A4" }
  }' \
  --output invoice.pdf

That's it. No SDK required.

Everything wrong with the alternatives

We built Papyr because we spent too many hours on the same problems you're hitting right now.

Puppeteer on Linux

Missing system fonts, blank pages, 400 MB Docker images, random crashes in production. Works on your Mac, explodes on your server.

Papyr runs managed Chromium on our infrastructure. Your server sends HTML, we return a PDF.

wkhtmltopdf

Archived in 2023. Unpatched CVSS 9.8 CVE. No Flexbox. No Grid. Renders like it's 2012.

Modern Chromium rendering engine. Every CSS feature that works in Chrome works in Papyr.

Other PDF APIs

Credit-based pricing that runs out mid-month. Per-page charges that explode on reports. Surprise invoices.

Flat per-document pricing. One invoice per month. No surprises.

What you get

Full CSS support

Flexbox, Grid, custom fonts via Google Fonts or @font-face, background images, box shadows — if it renders in Chrome, it renders in Papyr.

Built-in templates

Invoice, receipt, and report templates. Pass JSON data, get a professional PDF back. No HTML required.

Under a second

Managed Chromium pool with concurrency control. No cold starts, no queuing at normal volumes.

Paper formats + margins

A0–A6, Letter, Legal, Tabloid, Ledger. Landscape mode. Per-side margin control down to the millimeter.

AI agent ready

MCP server included. Claude, Cursor, and Windsurf can generate PDFs directly — no integration code.

Simple REST API

One endpoint, Bearer token auth, binary PDF response. OpenAPI spec at /openapi.json. No SDK required.

What teams use it for

Invoices, reports, certificates — documents that have to look right every time.

Simple, predictable pricing

Per document, not per page, not per credit. One invoice a month.

Free

$0/mo

100 docs/mo

free

Get started

Starter

$19/mo

1,000 docs/mo

$0.019/doc

Get started

Pro

$49/mo

10,000 docs/mo

$0.0049/doc

Get started

Scale

$149/mo

100,000 docs/mo

$0.0015/doc

Contact us

Migrating from Puppeteer or wkhtmltopdf? Drop-in migration guide →