Everything you need for PDFs
Powerful tools, one container.
Chromium Engine
Convert URLs, HTML, and Markdown to PDF with pixel-perfect rendering.
curl \
--request POST \
--url http://localhost:3000/forms/chromium/convert/url \
--form url=https://my.url \
--form landscape=true \
-o my.pdf
Office Suite
Automate LibreOffice to convert Word, Excel, and PowerPoint documents.
curl \
--request POST \
--url http://localhost:3000/forms/libreoffice/convert \
--form files=@my.docx \
--form pdfa=PDF/A-1b \
-o my.pdf
PDF Operations
Merge, split, and standardise (PDF/A) multiple PDF files efficiently.
curl \
--request POST \
--url http://localhost:3000/forms/pdfengines/merge \
--form files=@page1.pdf \
--form files=@page2.pdf \
--form files=@page3.pdf \
-o merged.pdf
Customizable Platform
Configure the container to fit your stack: timeout, logging, and more.
docker run --rm -p 3000:3000 \
-e API_PORT=3000 \
-e API_TIMEOUT=10s \
-e LOG_LEVEL=debug \
-e CHROMIUM_MAX_QUEUE_SIZE=50 \
-e LIBREOFFICE_MAX_QUEUE_SIZE=20 \
gotenberg/gotenberg:8
Cloud Native
Zero-Transfer Pipelines
Process files without them ever touching your backend. Gotenberg can fetch documents directly from your Cloud Storage (S3, MinIO, GCS) and upload the resulting PDF back to it.
Direct FetchGotenberg pulls the file directly from an S3 Presigned GET URL.
Auto UploadGotenberg pushes the result to an S3 Presigned PUT URL.
EfficiencySave bandwidth. Your server orchestrates; Gotenberg does the heavy lifting.
curl \
--request POST http://localhost:3000/forms/libreoffice/convert \
# 1. Tell Gotenberg where to upload the result (S3 PUT) \
--header 'Gotenberg-Webhook-Url: https://my-bucket.s3.amazonaws.com/out.pdf?Start=...' \
--header 'Gotenberg-Webhook-Method: PUT' \
# 2. Tell Gotenberg where to fetch the input file (S3 GET) \
--form 'downloadFrom=[{ \
"url": "https://my-bucket.s3.amazonaws.com/file.docx?Start=..." \
}]'

