
Gotenberg
A Docker-based API that converts documents such as HTML, URLs, and Office files to PDF.
- Stars
- 13.5k
- Forks
- 900
- Licence
- MIT
- Language
- Go
- Last update
- 4 days ago
- Type
- App
What it is
Gotenberg is a server you run in Docker that accepts files or web addresses over HTTP and returns PDFs. You send a request with multipart/form-data, and it handles the conversion using tools like headless Chromium and LibreOffice so you do not have to install them yourself. The README also lists PDF operations such as merging, splitting, watermarking, and PDF/A compliance.
- Convert a URL to a PDF with a single curl request to the chromium route shown in the README
- Turn HTML or Markdown content into PDF files from a web application
- Convert Office documents to PDF using LibreOffice through the API
- Merge, split, or watermark PDFs as part of a document pipeline
Great for
- Developers who need to turn HTML or web pages into PDFs from their own application
- Teams that generate Office documents and want them delivered as PDFs through an API
- Backend services that want PDF conversion without installing Chromium or LibreOffice on the host
- People who want to run document conversion inside their own infrastructure
Not ideal for
- People who only need occasional conversions and prefer a ready-made web tool; this is a self-hosted API, so you must run and maintain it
- Users who want a desktop application with a graphical interface; the README describes an API served via Docker
- Projects that need a feature not listed in the README; the README is truncated, so check the full documentation before relying on specific capabilities
How to get it
- 1
Run with Docker
You'll need: Docker
Start Gotenberg with Docker
docker run --rm -p 3000:3000 gotenberg/gotenberg:8 - 2
Run it
- Start the container with the docker run command from the README
- Send a POST request to http://localhost:3000/forms/chromium/convert/url with a url form field
- Save the response to a file, such as invoice.pdf, to receive the generated PDF
- 3
Get the most out of it
- Use the chromium URL conversion endpoint to render web pages to PDF
- Explore the merge, split, and watermark features for post-processing PDFs
- Review the full documentation at gotenberg.dev for PDF/A and PDF/UA options
- Check the live demo linked in the README to test conversions before deploying
Downloads
Strengths
- Runs as a single Docker container, so setup on a server is straightforward
- Exposes conversion through a simple HTTP API that works from any language
- Hides the complexity of Chromium, LibreOffice, and fonts behind one interface
Trade-offs
- Requires Docker to run in the way the README describes, which adds a dependency for non-container setups
- The README is truncated, so details on configuration, security settings, and limits are not visible here
- Latest release is listed without binaries, so you will rely on Docker images or building from source
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| gotenberg (this) | 13.5k | App | intermediate | 4 days ago | Developers who need to turn HTML or web pages into PDFs from their own application |
| FlareSolverr | 16.1k | App | intermediate | 12 days ago | Developers whose scripts are blocked by Cloudflare challenges on pages they are allowed to access |
| quivr | 39.6k | Framework | advanced | 4 days ago | Developers building a search or monitoring pipeline over a stream of documents |
| headless-recorder | 15.3k | App | beginner | 3.9 years ago | Developers who want a rough starting script for a Playwright or Puppeteer flow |
| transfer.sh | 15.9k | App | intermediate | 5 days ago | Developers who want to share files from a terminal without a web browser |
| uptime-kuma | 93.2k | App | beginner | 4 days ago | People who want to monitor their own websites or services without paying a hosted monitoring service |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.