Iteration Layer vs Puppeteer
Puppeteer spins up Chromium to generate PDFs from HTML — a browser engine doing a printer's job.
Why developers switch from Puppeteer
Puppeteer needs a headless Chromium instance — 200-300MB of RAM per container.
No Chromium to deploy or scale
Each Puppeteer PDF generation runs a full Chromium instance consuming 200–300 MB of RAM. Scale to 50 concurrent renders and you're running 50 browsers. We are a managed API: no binaries, no containers, no OOM kills.
Native headers, footers, and page numbers
Chromium doesn't support CSS Paged Media — the spec designed for paginated documents. Headers and footers in Puppeteer are injected HTML strings that can't access document content and require JavaScript workarounds for page numbers. Ours are native.
PDF, DOCX, EPUB, and PPTX in one API
Puppeteer produces only PDF. If a client needs the contract as DOCX for redlining, or the report as PPTX for a presentation, that's a separate tool. We output all four from the same JSON content definition.
Feature-by-feature comparison
We went through the docs so you don't have to. Here's how every feature compares — including the ones where we're not the better choice.
| Feature | Iteration Layer | Puppeteer |
|---|---|---|
| Output formats |
4 formats
PDF, DOCX, EPUB, and PPTX from the same JSON content definition |
PDF only
Generates PDF output only |
| Template model |
JSON blocks
Content defined as JSON block arrays — versionable and diffable |
HTML/JS
HTML and CSS rendered through a full Chromium browser engine |
| Custom fonts |
Yes
Upload and use custom fonts in any document |
System fonts
Uses fonts installed on the system or loaded via CSS @font-face |
| CSS Paged Media |
Native
Native support for headers, footers, and page numbers as part of the block model |
Not supported
Chromium does not support CSS Paged Media — headers and footers require workarounds |
| Serverless deployment |
Built-in
Managed serverless infrastructure with no cold start concerns |
Difficult
Large Chromium binary causes slow cold starts and deployment difficulties in serverless environments |
| Open source |
Proprietary
Closed-source managed SaaS platform |
Free
Open source and free to use with no per-document cost |
| Visual fidelity |
JSON rendering
Renders documents from a JSON content model |
Pixel-perfect
Pixel-perfect rendering matching exactly what Chrome displays in the browser |
| Community & docs |
Growing
Actively growing platform with expanding documentation |
Established
Large community with extensive documentation and widespread adoption |
| EU hosting |
EU only
All processing happens exclusively on EU-hosted servers |
Your choice
Runs on your infrastructure, so data residency depends on where you deploy |
| Pricing |
$0.066
2 credits per action |
Compute only
Self-hosted OSS |
| Infrastructure required |
None
Fully managed API with no binaries, containers, or infrastructure to manage |
Chromium
Requires Node.js and a Chromium instance consuming 200-300 MB per concurrent render |
| GDPR / Data privacy |
Zero retention
No files or results stored beyond temporary 90-day logs |
Your responsibility
Data privacy depends entirely on your deployment and infrastructure choices |
Pricing
Start usage-based. Switch to a subscription when your volume becomes predictable.
Usage-based
Graduated pricing. Your effective rate decreases automatically as monthly usage grows.
- No monthly commitment
- Pay only for credits used
- Automatic volume discounts as usage grows
Predictable volume
Fixed recurring credit packs with lower effective credit prices for steady usage.
- Lower effective per-credit prices
- Fixed recurring credit packs
- Predictable monthly budget
Still evaluating?
See how we compare — and where the competition still wins. Choosing the right tool shouldn't require a week of research.
Start building in minutes
Free trial credits included.