Skip to content

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
Step-by-step guide: how to use GotenbergInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: Docker

    Start Gotenberg with Docker

    docker run --rm -p 3000:3000 gotenberg/gotenberg:8
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
gotenberg (this)13.5kAppintermediate4 days agoDevelopers who need to turn HTML or web pages into PDFs from their own application
FlareSolverr16.1kAppintermediate12 days agoDevelopers whose scripts are blocked by Cloudflare challenges on pages they are allowed to access
quivr39.6kFrameworkadvanced4 days agoDevelopers building a search or monitoring pipeline over a stream of documents
headless-recorder15.3kAppbeginner3.9 years agoDevelopers who want a rough starting script for a Playwright or Puppeteer flow
transfer.sh15.9kAppintermediate5 days agoDevelopers who want to share files from a terminal without a web browser
uptime-kuma93.2kAppbeginner4 days agoPeople 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.