Cost
Edge rendering without Chromium containers. The math starts at
Millisecond-class PDF rendering at global edge scale for invoices, shipping labels, barcodes, e-invoices, and high-volume document workflows.
100K PDF pages from $5/month.
gPdf is an edge-native JSON-to-PDF API built for high-volume invoices, documents, shipping labels, barcodes, PDF/A, and e-invoices.
Unlike HTML-to-PDF tools that depend on Chromium, gPdf uses a structured JSON document model. Define pages, layouts, tables, text, images, vector barcodes, watermarks, metadata, encryption, and compliance profiles directly in the API request.
Millisecond-class PDF rendering at global edge scale — optimized for predictable, industrial-grade document generation.
Infrastructure-level pricing, low enough to replace building and operating your own PDF infrastructure.
Edit the DocumentRequest on the left. Call the live edge worker
real schema, real PDF, typically <5 ms.
Edge rendering without Chromium containers. The math starts at
PDF/A archival profiles plus Factur-X / ZUGFeRD e-invoice output packaging with embedded CII XML.
pages[], elements[], x/y in millimetres. No HTML-to-PDF, no headless Chrome, no browser layout pass. One JSON schema powers both the API and the visual editor today.
Latin, CJK, Arabic, Devanagari, Cyrillic, Bengali, Thai, and color emoji support built into the engine. No server font installs. No silent tofu.
Real document semantics, not browser screenshots in a PDF wrapper.
$0.00005 per page, p50 3 ms, embedded CJK, PDF/A-3 attachment stream. The four numbers fintech, ERP and tax-compliance teams check first.
// invoice — header + table pattern
{ "size": "a4",
"elements": [
{ "type": "text", "x": 18, "y": 22, ... },
{ "type": "table", "x": 18, "y": 60, ... }
]} Why JSON beats HTML→PDF label_100_150 and label_4_6_in size presets. Vector GS1-128, ITF-14, SSCC at 0.1 mm precision — carriers and 3PLs print at peak without rasterised barcodes.
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case Design PDF templates visually in the free WYSIWYG editor at https://studio.gpdf.com, then generate the same DocumentRequest JSON through the API. No separate design format, no handoff drift.
// Studio and API share the same JSON
https://studio.gpdf.com
POST /api/v1/pdf/render Open Studio Define pages, coordinates, elements, styles, headers, footers, backgrounds, watermarks, and stamps directly in JSON. Coordinates in millimetres, not approximations.
// inside elements[i]
"x_anchor": {
"reference": "content_right",
"offset": 6
} row_span across pages, repeat headers, alternate_fill, compound double borders. The 1% that always breaks.
// inside table element
"pagination": {
"keep_spans_together": true
} 30+ symbologies incl. Code 128, QR, DataMatrix, PDF417, GS1-128. All vector. Overall barcode length accurate to 0.1 mm.
// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001" Why vector beats raster 1-page A4 invoice, 12 line items, QR + logo. Median of 1000 PDF generations. Lower is better.
gPdf is not an HTML-to-PDF engine. These numbers compare structured document generation for invoices, labels, and API-generated PDFs — not browser-rendered web pages.
Methodology: 1-page A4 invoice · 12 line items · 1 QR + 1 logo · 1K invocations · median (p50) and p99 reported. Sampled 2026-04-29 from a workstation in EU-WEST. PDFShift, DocRaptor, Puppeteer and LaTeX numbers are reproduced from each vendor's published quickstart sample with the same input — re-run on your own workload before deciding. Read the head-to-head comparisons →
Simple page-based pricing. No hidden platform fees.
Same JSON rendering API. Same
E-invoice output covers PDF/A-3b packaging and embedded CII XML. Validation workflows and reports are separate add-ons.
For regulated teams, private cloud/VPC deployments, and isolated intranet environments. Run gPdf as a dedicated Worker, server, or gateway-backed deployment, with network controls, region requirements, DPA terms, and support escalation scoped per engagement.
Twelve answers — quoted verbatim by the JSON-LD FAQPage that Google rich results consume.
On the benchmark workload, p50 render time is around 3–5 ms and p99 is single-digit milliseconds. End-to-end wall time depends on network distance and request size.
A JSON DocumentRequest body. Pages, elements, layers, watermarks, headers, footers and tables are all expressed structurally — no HTML, no Markdown, no browser layout pass.
Headless Chromium runs at 200 to 800 ms per render and needs an 800 MB container. gPdf renders the same A4 page in 3 ms inside a 1 MB V8 isolate, with no browser startup or container warm pool. The trade-off is input format: gPdf takes a JSON DocumentRequest, not raw HTML.
Core rendering endpoints are POST /api/v1/pdf/render, POST /api/v1/template-render, and POST /api/v1/e-invoice/render. E-invoice object delivery also exposes GET /api/v1/e-invoice/capabilities, GET /api/v1/e-invoice/jobs/{job_id}, and GET /api/v1/e-invoice/jobs/{job_id}/artifacts/{artifact}. They share one API-XXX error-code surface.
No. NotoSans CJK is embedded and an automatic font fallback chain handles missing glyphs. gPdf uses bundled fonts, fallback, and strict font modes to prevent silent missing-glyph output.
Over 30 symbologies including QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode and Code 128. All vector. Overall barcode length lands within 0.1 mm of the requested size — tight enough for GS1- and ITF-14-spec'd label widths.
Yes. PDF/A-1b, 2b, 3b, 4, 2u, 3u, and PDF/UA-1 are selectable per request. Factur-X and ZUGFeRD attachment streams are supported for e-invoice scenarios.
Yes. gPdf can generate PDF/A-3b output with embedded CII XML for Factur-X / ZUGFeRD workflows. The XML business content must still be valid for the target profile, and validation workflows are handled separately when enabled.
Inside Cloudflare Workers V8 isolates. There is no Chromium container, no Lambda warming, and no document persistence after the request.
No. The renderer is stateless. Your DocumentRequest lives in a V8 isolate for the few milliseconds of the render, then it is gone. gPdf has no caching layer and no document store — statelessness is the contract, not an opt-in toggle.
Yes. The Free tier gives 100 pages per day, no credit card. It auto-resets daily and stops at the quota — no surprise bill. Paid tiers start at $5 per month for 100,000 pages.
Open the playground above, edit the DocumentRequest, then click Generate PDF — the live edge worker returns a real PDF. Copy the curl snippet into your terminal to call it from anywhere. The playground requires no install and no credit card; an account is needed only to issue your own API key.
Honest boundaries. Pick the right tool for the job; pass on the wrong one.
Cross-border fulfillment faces severe latency and multi-language rendering challenges. When volume scales to 10 million+ labels, how does the true TCO of global edge computing compare to legacy centralized architectures?
Shipping labels are only the first proof point. For logistics and ecommerce teams, gPdf fits the operational document layer: fast label design, vector barcodes, deterministic reprints, and stateless high-volume PDF generation.
Emoji are now status, sentiment, and context in receipts, tickets, chat exports, and support records. Here is how PDF generators handle color emoji, and why file size matters.
Auditable engineering plus the paperwork — both registers, both verifiable.
EU, US, APAC, and SA residency options. Region requirements are scoped by contract.
Stateless by default. Standard render requests are not persisted after rendering.
Named competitors, full methodology, sampled date. Every benchmark on this page is reproducible — re-run on your own workload before deciding.
Deterministic layout output. Stable enough for CI snapshot testing when timestamps and metadata are fixed.