HTML & Markdown → PDF

The PDF API for serverless & edge.

No headless Chrome. One HTTP request turns your HTML or Markdown into a pixel-perfect PDF — on Vercel, Cloudflare Workers, or Lambda.

No Chromeheadless browser
Edgenative runtime
5,000free / month
200 OK · application/pdf
render.sh
# one request → one PDF
curl -X POST "https://api.featherpress.dev/v1/render" \
  -H "X-API-Key: rk_live_…" \
  -d '{"input_type":"html","content":"<h1>Invoice #1024</h1>"}' \
  --output invoice.pdf
invoice.pdf

Invoice #1024

featherpress.example.com
Rendering — Free$0.00
Overage$0.00
Total$0.00
Runs natively onVercelCloudflare WorkersAWS Lambda
Why Featherpress

Built for the runtimes that killed the long-running server.

Most PDF APIs spin up a headless browser per request. We don't ship a browser at all — a purpose-built renderer runs inside the edge sandbox, so there's nothing to cold-start.

No headless Chrome

A purpose-built rendering engine — no Puppeteer, no Chromium binary to ship, patch, or keep warm.

Nothing to cold-start

HTML & Markdown → PDF

Send raw HTML or Markdown and get back a pixel-perfect PDF, styled with a documented CSS subset.

One POST /v1/render

Validate before you render

Catch unsupported CSS up front with /v1/validate instead of shipping a broken document.

Free — no quota cost
One endpoint, every stack

POST /v1/render from anywhere.

Send HTML or Markdown with your X-API-Key and get back a PDF stream. Pick your language — the contract is identical.

curl -X POST "https://api.featherpress.dev/v1/render" \
  -H "X-API-Key: rk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"input_type": "html", "content": "<h1>Hello, world!</h1>"}' \
  --output hello.pdf
✓ 200 OKapplication/pdf
TypePDF
Pages1
Size48 KB

Invoice #1024

Acme Inc · Apr 2026
Rendering — Free$0.00
Total due$0.00
No browser to boot

Why it's fast: there's no Chrome to start.

A headless browser pays a cold-start tax on every serverless invocation — launch the binary, build a page, paint, print. We skip all of it: a streaming layout engine writes PDF bytes as it parses.

Featherpresspurpose-built engine
no boot
Headless Chromefull browser per request
cold boot

Illustrative of the architectural difference — not a published benchmark.

Building in public

We're in early access.

Featherpressis a brand-new product, so you won't find made-up customer quotes here — just an honest invitation to build on it early.

No headless Chrome layer to ship, patch, or keep warm — that's the whole idea.

The pitchwhat we're betting on

Be one of the first teams on it. Your feedback shapes the roadmap directly.

Early accessfree, 5,000 / month

We won't fake testimonials or claim certifications we don't hold. Honest by default.

How we operatebuild in public
Pricing

Start free. Scale when you ship.

5,000 conversions a month, free. Paid tiers are on the way — no fabricated limits, no surprise bills.

FreeAvailable
$0 /mo
forever
  • 5,000 conversions / month
  • HTML & Markdown input
  • Unlimited /v1/validate calls
  • Unlimited API keys
  • Usage dashboard
Get an API key
ProComing soon
Coming soon
higher limits + credits
  • Higher monthly limits
  • Pay-as-you-go credits
  • Priority rendering
  • Email support
Contact us
ScaleComing soon
Coming soon
custom volume
  • Custom volume pricing
  • Dedicated capacity options
  • Invoicing & POs
  • Priority support & SLA (planned)
Contact us

Paid checkout isn't live yet. The Free plan is fully functional today.

FAQ

Questions developers actually ask.

Do you really not use headless Chrome?
Correct — Featherpress uses a purpose-built rendering engine, not a browser. There is no Chromium binary to ship or keep warm, which is what makes it small enough to call from edge functions. The trade-off is a documented CSS subset.
Which platforms does it work with?
Anything that can make an HTTPS request — Vercel, Cloudflare Workers, AWS Lambda, and traditional servers. There's no SDK to install.
What happens if my HTML uses unsupported CSS?
Unsupported features are ignored or approximated rather than failing the whole render. Call /v1/validate first to see exactly what is unsupported — it doesn't count against your quota.
How are API keys secured?
We never store your raw key — only a SHA-256 hash. The full key is shown once at creation, and you can revoke it instantly from the dashboard.

Render your first PDF
in the next five minutes.

Grab a key, paste the curl, ship it. No card, no Chrome, no cold starts.

Get an API keyBrowse the docs