ScriptsApr 10, 2026·3 min read

Stirling PDF — Self-Hosted PDF Editor & Toolkit

Stirling PDF is the #1 open-source PDF tool on GitHub. Merge, split, convert, compress, OCR, sign, and edit PDFs — all self-hosted with no data leaving your server.

TL;DR
Stirling PDF provides a full-featured PDF editing suite that runs entirely on your own server, keeping all document data private.
§01

What it is

Stirling PDF is an open-source, self-hosted web application for performing PDF operations. It handles merging, splitting, converting, compressing, OCR, signing, and editing PDFs through a browser-based interface. No data leaves your server, making it suitable for environments with strict data privacy requirements.

Teams handling sensitive documents, IT administrators looking for a self-hosted alternative to cloud PDF tools, and developers who need PDF processing in their infrastructure will find Stirling PDF practical. It runs as a Docker container with a web UI accessible from any browser.

§02

How it saves time or tokens

Cloud PDF services charge per document or per user and require uploading files to third-party servers. Stirling PDF eliminates both costs -- there are no per-document fees and no data leaves your network. The web UI provides all common PDF operations in one place, removing the need for multiple tools or command-line utilities like qpdf, ghostscript, or pdftk.

§03

How to use

  1. Deploy with Docker:
docker run -d --name stirling-pdf -p 8080:8080 \
  -v stirling-data:/usr/share/tessdata \
  frooodle/s-pdf:latest
  1. Open http://localhost:8080 in your browser.
  2. Select the operation you need (merge, split, convert, OCR, etc.) from the web UI.
  3. Upload your PDF files, configure options, and download the result.
§04

Example

# Docker Compose with persistent storage and OCR language packs
version: '3.8'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080'
    volumes:
      - ./tessdata:/usr/share/tessdata
      - ./configs:/configs
      - ./logs:/logs
    environment:
      DOCKER_ENABLE_SECURITY: 'false'
      LANGS: 'en_GB,de_DE,fr_FR'
# API usage for automation
curl -X POST http://localhost:8080/api/v1/general/merge \
  -F 'fileInput=@file1.pdf' \
  -F 'fileInput=@file2.pdf' \
  -o merged.pdf
§05

Related on TokRepo

§06

Common pitfalls

  • OCR requires Tesseract language data files. The default image includes English only. Mount additional language packs to the tessdata volume for other languages.
  • Large PDF files (100+ MB) can consume significant memory during processing. Allocate sufficient Docker memory limits for heavy workloads.
  • The API endpoints use multipart form uploads. Ensure your client handles file boundaries correctly when automating PDF operations.

Frequently Asked Questions

What PDF operations does Stirling PDF support?+

Stirling PDF supports merging, splitting, rotating, converting (PDF to image and back), compressing, OCR (text recognition), adding watermarks, signing, password protection, and metadata editing. The web UI organizes these operations into categories for easy discovery.

Is Stirling PDF truly self-hosted with no external calls?+

Yes. All processing happens on your server. No document data is sent to external services. The application runs entirely within its Docker container, making it suitable for air-gapped environments and organizations with strict data sovereignty requirements.

Can I use Stirling PDF through an API for automation?+

Yes. Stirling PDF exposes REST API endpoints for all operations. You can send PDF files via multipart form POST requests and receive processed files in the response. This enables integration into document processing pipelines and CI/CD workflows.

How do I add OCR language support?+

Mount Tesseract language data files to the /usr/share/tessdata volume. Download .traineddata files for your target languages from the Tesseract GitHub repository and place them in the mounted directory. Restart the container to load new language packs.

What are the system requirements for Stirling PDF?+

Stirling PDF runs as a Docker container and requires minimal resources for basic operations. For OCR and large file processing, allocate at least 2GB of RAM to the container. Storage depends on your document volume. The application works on any platform that supports Docker, including Linux, macOS, and Windows.

Citations (3)
🙏

Source & Thanks

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets