Comparison
PDFops vs PDFMonkey
PDFMonkey is a hosted PDF generator with an HTML+Liquid templating dashboard, priced from €5/mo (Starter, 300 docs, ~€0.017/doc) up to €300/mo (Premium, 60,000 docs, €0.005/doc), with overage only available on the €60/mo Pro+ tier and above. PDFops is a hosted form-fill + merge API for edge runtimes, free during beta (100 requests per IP per month, no signup). The two are different operations — this page covers the case where fixed-layout template-fill is the actual need.
Important clarification about "AcroForm" in PDFMonkey vs PDFops. PDFMonkey has a feature called PDF Forms that generates empty fillable AcroForm PDFs from an HTML template — markers in the template become form fields, and a human (or another tool) fills them later in Acrobat. PDFops does the opposite: it takes an already-existing AcroForm PDF plus a JSON of field values and returns the filled PDF. PDFMonkey can't fill an existing AcroForm with data; PDFops can't render HTML to create one. The migration story below reflects that.
The honest framing
If your templates need real templating-engine semantics — PDFMonkey still fits better. PDFops doesn't run a templating engine; it fills existing AcroForm fields with values you pass in. PDFMonkey's Liquid support is genuinely deep: tags (if, unless, case, for, tablerow), snippets / partials, custom filters (barcode, entities, in_time_zone), and a custom-JavaScript hook (Chart.js graphs, Day.js date formatting). If your template uses any of those, PDFops isn't an option.
If your templates are fixed-layout with variable fields (invoices, receipts, contracts, statements — most billing PDFs in production fall here), the wedge flips. The AcroForm + HTTP API path removes the Chromium-render-per-document cost; your code does the formatting it would do anyway. The migration is meaningful work though: you don't have AcroForm templates lying around (you have HTML+Liquid). You'd rebuild each template as a PDF-with-AcroForm-fields once, then keep using the new shape.
Side-by-side
| PDFops | PDFMonkey | |
|---|---|---|
| Primitive | Fills existing AcroForm fields with data; merges PDFs | Renders HTML+Liquid → PDF; can also emit empty fillable AcroForms from a template |
| Fill existing AcroForm with data | Yes (core endpoint) | No — PDF Forms feature emits empty forms, doesn't fill them |
| PDF merge | Yes (core endpoint) | No — not in the documents API |
| Pricing model | Per-document only (no subscription) | Tiered subscription; overage only above €60/mo (else buy boost packs) |
| Per-document price | Free during beta, 100 req/IP/month | €0.017 (Starter €5/mo) → €0.005 (Premium €300/mo); overage €0.006/doc on Pro+ tier |
| Free tier | 100 req/month/IP, no signup | 20 docs/mo, 1-day retention, 30s timeout |
| Auth model | None during beta (anonymous, IP-rate-limited) | API key required |
| Template authoring | Acrobat / Preview / LibreOffice Draw / pdftk (any AcroForm-aware editor) | Web dashboard with HTML+Liquid+SCSS editor |
| Template engine | None (field-name → value) | Liquid v4 + custom JS + Chart.js + barcode/in_time_zone filters |
| Per-request timeout | ~30s edge default | Tier-gated: 30s Free / 2min Pro / 3min Pro+ / 5min Premium |
| Rendering engine | pdf-lib (V8-isolate-compatible) | Chromium (Engine v5 = Chrome 133, May 2025) |
| Hosting substrate | Vercel Edge (globally distributed) | Headless Chromium pipeline; signed S3 URLs (1h TTL) for download |
| First-party SDKs | HTTP-native (no SDK; curl/fetch) | Ruby only (officially) |
| Dashboard / UI | None (API-only) | Yes (template editor + live preview + document gallery) |
| Best for | Fixed-layout fill + merge at scale on edge stacks | Templates with computed layouts; no-code/low-code ops (Make, Zapier, Glide, n8n) |
Pricing verified at pdfmonkey.io/pricing and PDF Forms docs as of 2026-05-19.
Try the migration in 30 seconds
If your invoice template has fixed positions for customer name + total (or you want to start from one — grab a sample invoice-template.pdf), the call shape is:
curl -X POST https://pdfops.dev/api/fill-form \
-F "pdf=@invoice-template.pdf" \
-F 'fields={"customer_name":"Acme Co","total":"$1,250.00"}' \
-o filled.pdf
You get a filled PDF back. No API key, no signup, no subscription. The full reference for the endpoint is in the fill-form docs.
Frequently asked
Is PDFops a drop-in replacement for PDFMonkey?
No — different operations entirely. PDFMonkey renders HTML+Liquid to a new PDF (and can emit empty fillable AcroForm fields from markers in the template). PDFops fills an existing AcroForm PDF with data and returns the result. Your PDFMonkey templates are HTML+Liquid, not AcroForm — migration means rebuilding each template once as a PDF with AcroForm fields, then sending field values via /api/fill-form.
How does PDFops pricing compare to PDFMonkey?
PDFMonkey runs €5/mo (Starter, 300 docs, €0.017/doc) up to €300/mo (Premium, 60k docs, €0.005/doc); overage only on Pro+ (€60/mo+) at €0.006/doc. PDFops is per-document only (no subscription floor), free during beta. No tier gates per-request timeout (PDFMonkey caps at 30s on Free, 5min on Premium).
Does PDFops support template variables and computed values like Liquid?
Not directly. PDFMonkey's Liquid is genuinely deep — loops, conditionals, snippets/partials, custom filters (barcode, in_time_zone), and a custom-JavaScript hook for Chart.js graphs. If your template uses those, PDFMonkey fits better than PDFops. PDFops handles fixed-layout fill where the variation is the data, not the layout.
Can I migrate my PDFMonkey templates to PDFops?
If your template is fundamentally a fixed layout with variable fields: (1) Recreate the layout as a PDF template in Acrobat / Preview / LibreOffice Draw with AcroForm fields where the variables go (you can't import your HTML+Liquid template; this is the migration cost). (2) Name the fields to match the JSON keys you'll send. (3) POST template + JSON to /api/fill-form. (4) Get the filled PDF back. Liquid loops / conditionals / Chart.js graphs need to move into the calling code or stay on PDFMonkey.
Does PDFops have a dashboard like PDFMonkey?
Not during beta. PDFops is API-first; no dashboard, no template-management UI. Templates live in your repo or object storage; the API is stateless. A dashboard could ship post-beta if buyer signal indicates it's load-bearing.
Move when ready
If the fixed-layout template-fill primitive matches your usage, join the waitlist to lock in early-tier pricing post-beta. The form's message field is the fastest way to tell me about your volume and migration constraints.
← PDFops home · Blog · Docs