Gotenberg Alternative
PDFBolt HTML to PDF API
A cloud alternative to Gotenberg – same Chromium engine, no Docker to deploy, no infrastructure to manage.
Send HTML directly – no temp files, no containers to scale. Works from Python, Node.js, PHP, Go, or any HTTP client.
Cloud API
vs Self-Hosted Docker
Auto-Scaling
vs 6 Parallel Max
$19/mo All-In
vs Free + Your Servers
Zero Ops
vs Docker + K8s
Self-Hosted Docker API
Gotenberg
Open‑source Docker‑based API for converting documents to PDF, built in Go (MIT license, 58M+ Docker pulls, 11.8K GitHub stars). Uses Chromium for HTML, URL, and Markdown to PDF, and LibreOffice for DOCX, XLSX, PPTX, and 100+ other formats. Includes PDF merge, split, watermark, encrypt, and PDF/A conversion. Single Chromium instance supports up to 6 parallel conversions.
Cloud REST API
PDFBolt
Cloud REST API that converts HTML, URLs, and reusable templates to PDF using the same Chromium engine as Gotenberg. Send HTML directly in the request body – no Docker container needed. Three endpoints (Direct, Sync, Async), HMAC‑SHA256 signed webhooks, direct S3 upload, and AI‑powered template generation. EU‑hosted with GDPR compliance and automatic data deletion. Free tier of 100 PDFs/month, paid plans from $19/month.
Gotenberg vs PDFBolt: Feature Comparison
Both render with Chromium – architecture, deployment, PDF features, and pricing compared side by side.
Gotenberg | PDFBolt | |
|---|---|---|
| Architecture | ||
Type | Self-hosted Docker container | Cloud REST API |
API Format | Multipart form-data (file upload) | JSON with Base64 HTML |
Scaling | Manual (add containers) | Automatic |
| Rendering | ||
HTML to PDF Engine | Chromium | Chromium |
Cold Start | Up to 30s (default config) | None |
Office Docs + Screenshots | ||
| PDF Features | ||
PDF Manipulation (merge, split, watermark) | ||
PDF/A Compliance | ||
PDF/X Print Production (CMYK, ICC) | ||
PDF Compression (post-generation) | ||
Handlebars Templates + AI Generation | ||
| Operations | ||
Webhooks | Basic URL | HMAC-SHA256 signed |
| Pricing | ||
Software Cost | Free (MIT license) | From $19/mo (free tier available) |
Infrastructure Cost | Your servers + DevOps | Included |
Why Switch from Gotenberg to PDFBolt
Gotenberg and PDFBolt render HTML to PDF with the same Chromium engine.
The difference is who handles the infrastructure, scaling, and security patches – your team or ours.
No Docker infrastructure to manage
Gotenberg runs as a self-hosted Docker container that you deploy, monitor, and maintain. Production deployments typically include Docker Compose or Kubernetes, health checks, log aggregation, and restart policies. When the container crashes at 3 AM, your team gets paged. PDFBolt is a managed API – no containers, no orchestration, no on‑call.
No Chromium scaling headaches
Gotenberg’s single Chromium instance handles a maximum of 6 parallel operations. A single LibreOffice instance cannot run parallel operations due to its lock mechanism. Scaling office‑heavy workloads means running more Gotenberg instances behind a load balancer. PDFBolt auto‑scales in the background – you send requests, we handle capacity.
JSON API instead of file uploads
For HTML content, Gotenberg requires a file upload via multipart/form‑data – you save your HTML to a file, then POST it as a form field named index.html. PDFBolt accepts HTML as a Base64‑encoded string in a JSON body – no temp files, no multipart encoding, just a standard JSON POST.
Built-in templates with AI
Gotenberg has no built‑in template management – you maintain HTML templates in your own code. PDFBolt provides Handlebars‑based reusable templates with a visual designer, AI template generation from a prompt or reference files, version control with draft/publish workflow, and a gallery of ready‑to‑use templates.
Managed EU hosting with GDPR
With Gotenberg you self‑host, so GDPR compliance is your responsibility – you choose the region, configure data retention, and handle DPA requests. PDFBolt runs in the EU (Germany), is GDPR‑compliant out of the box, provides a formal DPA, immediately discards HTML content and template data after conversion (never stored or logged), and auto‑deletes generated PDFs after 24 hours.
No cold starts or restart cycles
Gotenberg’s first request takes up to 30 seconds while Chromium initializes (GitHub #1047). LibreOffice suffers the same cold‑start behavior – both auto‑start flags are disabled by default. The server then auto‑restarts Chromium after every 100 conversions, and LibreOffice after every 10. PDFBolt runs Chromium continuously on warm infrastructure – no cold starts, no restart cycles, and consistent response times under load.
Gotenberg vs PDFBolt: A Closer Look
How the differences in infrastructure, total cost, and developer experience affect real projects.
Infrastructure and Scaling
Gotenberg
Running Gotenberg in production means maintaining Docker containers with enough RAM for Chromium (512 MB minimum for Kubernetes, 1 GB recommended for Cloud Run, more for heavy documents). You configure auto‑restart intervals, set maximum queue sizes, build a custom Dockerfile for fonts not in the default stack (Microsoft Core Fonts require EULA acceptance; specialized script fonts and custom brand fonts each need their own packages), handle LibreOffice locking (cannot run parallel operations), and monitor for 503 timeouts under load. Scaling means adding more containers behind a load balancer – a single Chromium instance handles up to 6 parallel conversions, and LibreOffice just one.
PDFBolt
PDFBolt runs the same Chromium engine on managed infrastructure. Your application makes an HTTPS call and gets a PDF back – no Docker, no Kubernetes, no load balancer configuration. We handle Chromium scaling, memory management, fonts, and uptime monitoring – including security patches and Chromium updates. For high‑volume workloads, the async endpoint sends HMAC‑SHA256 signed webhook callbacks when documents are ready, and direct S3 upload keeps PDFs in your own storage. Concurrency scales with your plan – up to 20 parallel requests on Enterprise, with custom limits for higher volumes and no extra containers to spin up.
Real Cost in Production
Gotenberg
Gotenberg is MIT‑licensed – the software is free. But running it in production means paying for container hosting (AWS ECS, GCP Cloud Run, or a VPS), allocating RAM for Chromium (512 MB to 1 GB per instance), configuring monitoring and alerting, managing Docker image updates, and spending engineering time on scaling when throughput bottlenecks appear. Depending on platform and redundancy, infrastructure typically runs $30–200/month (2‑3 containers, monitoring, load balancer) before counting engineering time – often exceeding the cost of a managed API like PDFBolt.
PDFBolt
PDFBolt Basic is $19 per month for 2,000 documents – that includes the Chromium engine, scaling, monitoring, font management, EU hosting, and GDPR compliance. No server to provision, no Docker image to update, no engineering time on infrastructure. Even at Enterprise tier ($249/mo for 50,000 documents), the total is predictable and includes everything. A Free tier of 100 documents per month is available for evaluation. See full pricing details.
Developer Experience
Gotenberg
Gotenberg uses multipart/form‑data for all conversions. For HTML content, you save it to a file named index.html, then POST it as a form field. Headers and footers are separate HTML files (header.html, footer.html) uploaded alongside your main document. This works but adds multipart boilerplate vs a plain JSON call. Only the PHP client is officially maintained; other languages rely on community SDKs of varying update cadence. Support comes from GitHub Issues and community Discussions.
PDFBolt
PDFBolt accepts HTML as a Base64‑encoded string inside a JSON body. No temp files, no multipart encoding – just POST a JSON object with your HTML and parameters. Headers and footers are Base64‑encoded HTML in the same JSON body. Quick start guides cover C#, Python, Node.js, Java, PHP, Go lang, and Rust. Live chat and email support are included on every plan, backed by a 99.9% annual uptime guarantee.
How to Migrate from Gotenberg to PDFBolt
Replace your Gotenberg HTML file upload with a single JSON POST.
Side‑by‑side examples in PHP, Python, Node.js, Java, and cURL. More languages in our quick start guides.
Gotenberg (official SDK)
<?php
// composer require gotenberg/gotenberg-php php-http/guzzle7-adapter
require_once 'vendor/autoload.php';
use Gotenberg\Gotenberg;
use Gotenberg\Stream;
$html = '<h1>Invoice #1042</h1><p>Amount: $250.00</p>';
$request = Gotenberg::chromium('http://localhost:3000')
->pdf()
->html(Stream::string('index.html', $html));
Gotenberg::save($request, './');
PDFBolt
<?php
// composer require guzzlehttp/guzzle
require_once 'vendor/autoload.php';
use GuzzleHttp\Client;
$html = '<h1>Invoice #1042</h1><p>Amount: $250.00</p>';
$base64Html = base64_encode($html);
$jsonHeaders = '{"API-KEY":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","Content-Type":"application/json"}';
$phpHeaders = json_decode($jsonHeaders, true);
$jsonBody = '{"html":"' . $base64Html . '"}';
$phpBody = json_decode($jsonBody, true);
$client = new Client();
$response = $client->post(
'https://api.pdfbolt.com/v1/direct', [
'headers' => $phpHeaders,
'json' => $phpBody
]);
file_put_contents('invoice.pdf', $response->getBody());
When to Choose Gotenberg
Need DOCX, XLSX, or PPTX to PDF conversion – Gotenberg includes LibreOffice for 100+ formats
Need PDF merge, split, encrypt, or watermark operations – Gotenberg includes QPDF, pdfcpu, and PDFtk
Need on‑premise or air‑gapped deployment – Gotenberg runs entirely on your infrastructure
Need screenshots (PNG, JPEG, WebP) from URLs or HTML
Need PDF/A archival compliance (PDF/A‑1b, 2b, 3b)
Have a DevOps team and prefer open‑source with full control over the stack
When to Choose PDFBolt
Want zero infrastructure management – no Docker, no Kubernetes, no container orchestration
Need consistent performance without cold starts or Chromium restart cycles
Need async PDF generation with HMAC‑SHA256 signed webhooks and direct S3 upload for large document workloads
Need reusable templates with visual designer and AI generation
Need managed EU hosting with GDPR compliance, DPA, and 99.9% uptime SLA backed by live chat support
Need PDF/X print production (CMYK, ICC) and built‑in compression in a single API call
What Developers Say About PDFBolt
See how teams save time and reduce complexity with our developer‑first PDF solution.
"It has a very intuitive User Interface and easy to use API with a great documentation. What's best, that the support is super fast and even feature requests are discussed and implemented in just a couple of days. It helps us to create individualised PDF gift cards both for digital use as well as print production on the base of modern HTML / CSS."
"Amazingly, the owner personally helped solve the issues I was having creating an exported lesson plan with hyperlinks and complex styling. This is a great piece of software. But more importantly, it’s the people behind a product that truly make a company great. His willingness to support my project without payment is truly unique – a rare product and a rare individual. This product just works. Thank you, PDFBolt!"
"There's a lot of products that convert to PDF out there, but this one stood out to me, because the output quality is good, it's very easy to use, and pay per use. I also love the interactive API documentation, my request just worked out of the box in my app. And of course the focus on privacy, which is important when working with GDPR data. (...) PDFBolt just works, so I can focus on the business logic."
Frequently Asked Questions
Common questions about Gotenberg alternatives, self-hosted deployment, and pricing.
Is Gotenberg free?
What is the easiest Gotenberg alternative?
Does PDFBolt support DOCX or XLSX conversion?
Can I migrate from Gotenberg to PDFBolt?
How does Gotenberg scaling compare to PDFBolt?
Does PDFBolt have a free plan?
What’s the best self-hosted HTML to PDF tool?
Is PDFBolt affiliated with Gotenberg?
More HTML to PDF Comparisons
Different tools, different tradeoffs – see how PDFBolt stacks up against other HTML to PDF approaches.
