Open Core — AGPL-3.0

PDF generation
without the bloat

Chromium rendering quality. Single binary. No browser process. Signing, encryption, PDF/A — batteries included. Cloud API with regional deployments — your data stays in your region.

example.ts
import { Converter } from 'printwell';

const converter = new Converter();
const pdf = await converter.htmlToPdf('<h1>Hello World</h1>');

// Write to file
await Bun.write('output.pdf', pdf.data);

Try it live

Edit HTML and see the PDF output instantly

Preview
Generating PDF...

Everything you need

Professional PDF features without the complexity

Chromium Quality

Same render engine as Chrome. Perfect CSS support, web fonts, and modern layouts.

Single Binary

No browser process to manage. ~50MB binary with everything included.

Digital Signatures

Sign documents with X.509 certificates. LTV signatures and timestamping support.

Encryption

Password protection and permission controls. AES-256 encryption.

PDF/A Compliance

Generate archival-compliant PDFs for long-term preservation and regulatory needs.

PDF/UA Accessibility

Create accessible documents that meet WCAG and PDF/UA standards.

Data sovereignty built in

Your documents stay in your region. No exceptions.

EU Data Residency

Your data never leaves the EU. Processing, storage, and backups stay within European borders. Full GDPR compliance by design.

Global Regions

Deploy in the region closest to your users. EU (Frankfurt), NA (Virginia), and AP (Singapore) available.

Zero Retention

Your HTML goes in, your PDF comes out, everything else is discarded. No logs, no storage. Processing happens entirely in memory.

Want complete control?

Self-host with our open-source core. Same features, your infrastructure.

View on GitHub
🇪🇺 EU (Frankfurt)
🇺🇸 NA (Virginia)
🇸🇬 AP (Singapore)

Built on EU infrastructure from EU-headquartered providers. No US hyperscalers, no Cloud Act exposure. Read our security practices

How we compare

The features you need, without the tradeoffs

printwell Puppeteer wkhtmltopdf WeasyPrint
Binary size ~50MB 300MB+ ~40MB Python deps
Browser process No Yes No No
Render engine Chromium Chromium QtWebKit Custom
Render quality Excellent Excellent Dated Good
Digital signatures
PDF/A
PDF/UA
Encryption
Form fields

Ready to get started?

Check out the docs or explore the source code on GitHub.