{"data":{"slug":"gotenberg","name":"Gotenberg","tagline":"MIT Docker API that turns HTML and Office files into PDFs","category":"devops","categoryName":"DevOps","url":"https://gotenberg.dev","github":"https://github.com/gotenberg/gotenberg","pricing":"open-source","hook":"Gotenberg is a Docker container with an HTTP API for making PDFs: POST a URL, an HTML or Markdown file, or a Word, Excel or PowerPoint document as multipart/form-data, and get a PDF back — without installing Chromium, LibreOffice or fonts on your own servers.","whatsGood":"MIT (gotenberg/gotenberg), release v8.38.1 (2026-10-15), running since 2018. HTML, URL and Markdown go through headless Chromium; Office files go through LibreOffice, which covers 100+ formats. It can also merge, split, rotate, flatten, watermark, stamp and encrypt PDFs, produce PDF/A and PDF/UA, and take screenshots of pages. docker run -p 3000:3000 gotenberg/gotenberg:8 is the whole install, and any language that can send an HTTP request can use it. ★~13.3k.","theCatch":"It converts to PDF, not from it: it won't turn a PDF back into Word or text. It is a service you run next to your app, not a library you import, so you deploy, scale and secure the container yourself, and the bundled Chromium and LibreOffice make it a heavy image. Keep it off the public internet: its URL route fetches whatever address it is sent.","verdict":"The default way to add HTML or Office-to-PDF to any backend — keep it on your private network.","addedAt":"2026-10-17","featured":false,"domain":"DevOps","subSpecialty":"Documents","subcategory":"Documents","tags":["api","self-host","permissive","containers","active"],"capabilities":["pdf","api","docker"],"surfaces":["API","Self-host"],"ecosystem":["Go","Multi-platform"],"licenseModel":"OSS/MIT","githubStars":13342,"starsPerWeek":30,"access":"free","archived":false,"repo":{"createdAt":"2018-03-23","pushedAt":"2026-10-16","license":"MIT","archived":false,"checkedAt":"2026-10-19"}},"related":[{"slug":"github-actions","name":"GitHub Actions","tagline":"CI/CD that lives where your code does"},{"slug":"docker","name":"Docker","tagline":"Container runtime that changed deployment"},{"slug":"kubernetes","name":"Kubernetes","tagline":"Container orchestration at scale"},{"slug":"pulumi","name":"Pulumi","tagline":"Infrastructure as code in real languages"},{"slug":"fly-io","name":"Fly.io","tagline":"Deploy apps to VMs close to your users"}],"links":{"self":"/api/gems/gotenberg","html":"/gems/gotenberg","markdown":"/gems/gotenberg.md","category":"/api/gems?category=devops","categoryPage":"/stacks/devops"}}