DocuSeal
Contracts signed on your own server: DocuSeal is the most feature-complete open-source, self-hosted alternative to DocuSign. A WYSIWYG builder turns any PDF into a fillable form with 14 field types: signature, initials, date, file upload, checkbox, dropdown, radio, stamp, and more. Documents route to multiple submitters in sequence or parallel, with automated SMTP email notifications, reminders, and a mobile-optimized signing experience that works on any device without an account. Every completed document carries an automatic PDF eSignature with verification and an audit trail. Templates are reusable and can also be generated programmatically - from HTML via API or from PDFs and DOCX files with embedded field tags - and the REST API plus webhooks drive full workflow automation, with embedded signing forms and form builders for React, Vue, Angular, and plain JavaScript. Files store on disk or in S3, Google Cloud Storage, or Azure. The UI ships in 7 languages with signing in 14. Runs on SQLite, PostgreSQL, or MySQL; AGPL-3.0 licensed with unlimited documents and no per-signature fees.
StirlingPDF
Adobe Acrobat and Smallpdf, answered by a self-hosted Java web application: Stirling PDF processes every file with its 60+ tools on your own server and deletes it after the task completes. Nothing is uploaded to a third party, which is the whole point for contracts, invoices, and medical records. The toolbox covers page operations (merge, split at page numbers or scanned dividers, rotate, reorder, crop, extract), conversion in both directions between PDF and Word, Excel, PowerPoint, images, HTML, and Markdown, OCR that turns scans into searchable PDFs via Tesseract/OCRmyPDF (including PDF/A archival conversion), and security tools for passwords, permissions, watermarks, signatures, and true UI-driven text redaction. A built-in viewer handles annotation, drawing, and text or image insertion, and V2 added stateful processing - upload once, chain multiple tools - plus undo/redo history. For automation, nearly every tool has a REST API endpoint, no-code pipelines combine operations into custom logic chains, and watched folders process files automatically. Enterprise deployments get SSO, user management, and audit logging; the interface ships in 40+ languages. With 84K+ GitHub stars it is the most popular PDF tool in self-hosting, replacing $20/month Acrobat subscriptions with flat infrastructure cost.
BentoPDF
Merge, split, compress, convert, edit, annotate, redact, OCR, and sign PDFs - BentoPDF packs over 130 tools into a privacy-first toolkit that runs entirely in the browser through WebAssembly. Files are never uploaded - processing happens in browser memory on the user's machine and disappears when the tab closes, which makes the tool GDPR-clean by architecture and safe for financial, legal, and internal documents. The engine combines WASM builds of PyMuPDF, Ghostscript, and CoherentPDF; Tesseract handles OCR with searchable text-layer output; Office conversions cover Word, Excel, and PowerPoint; and digital signatures use X.509 certificates (PFX/PEM) with the private key staying on the client. Because there is no server-side processing, deployment is a static-file exercise: a single Docker container, or any static host. A dedicated self-hosted build strips the marketing pages while keeping every tool, and air-gapped deployments are first-class - an automated script bundles the WASM modules, OCR language data, and fonts for fully offline networks. No accounts, no limits, no watermarks; TypeScript and Vite under the hood.
Gotenberg
Send a document, receive a PDF: Gotenberg is a Docker-based, stateless HTTP conversion API trusted in production by thousands of companies and adopted by notable open-source projects. Send files as multipart/form-data, get a PDF back; Chromium, LibreOffice, and fonts are the container's problem, not yours. Headless Chromium handles URLs, HTML templates, and Markdown with pixel-perfect browser rendering: it executes JavaScript, loads web fonts, waits for network idle, a JS expression, or a DOM selector before rendering SPAs, and accepts injected cookies and HTTP headers for authenticated pages. LibreOffice converts 100+ office formats - .docx, .xlsx, .pptx, and legacy formats - with page-range extraction and PDF/A archival conformance. Built-in PDF engines round out the pipeline in every image variant: merge, split, rotate, flatten, encrypt, watermark, stamp, read/write metadata and bookmarks, plus Factur-X/ZUGFeRD e-invoicing and PDF/UA accessibility compliance. Screenshots of URLs and HTML come from the same endpoints. Zero-transfer pipelines stream files directly between S3, MinIO, or GCS presigned URLs and Gotenberg, bypassing your application entirely, and webhooks enable async processing. Statelessness means horizontal scaling is trivial - run as many replicas as your conversion volume demands. Three image variants (full, Chromium-only, LibreOffice-only) trim the footprint to what you actually use.
Carbone
Document-generation code is the worst kind of code in your backlog - Carbone kills it. Its insight is separating design from data - templates are ordinary office documents (DOCX, ODT, XLSX, PPTX, HTML, even custom XML) built in LibreOffice, Microsoft Office, or Google Docs, with mustache-like markers such as {d.companyName} typed directly into the text. Send a template plus JSON from your existing APIs to the HTTP API, and Carbone returns the finished document - exported as-is or converted to PDF, XLSX, CSV, HTML, PNG, EPUB, and more via its integrated LibreOffice converter (Chromium and OnlyOffice engines are also supported for HTML-fidelity and office-format conversions). The template language goes well beyond substitution: loops over arrays render dynamic table rows, filters and aggregations run inside the document, and built-in formatters handle dates, numbers, currencies, timezones, and locales, with custom JavaScript formatters when needed. One template serves multiple languages through translation markers with auto-maintained translation files. The XML-agnostic engine means anything your document editor can design - pagination, headers, footers, nested tables, charts - survives generation intact, and Carbone guarantees no breaking changes in template syntax. Node.js-based, fast via multi-threaded LibreOffice conversion. The invoices, contracts, and reports your product owes its users become template edits, not sprints.