DEV Community

Cover image for Stirling-PDF: The 94k-Star Open-Source PDF Platform That Actually Challenges Adobe Acrobat
Syed Anzar
Syed Anzar

Posted on

Stirling-PDF: The 94k-Star Open-Source PDF Platform That Actually Challenges Adobe Acrobat

Stirling-PDF: The 94k-Star Open-Source PDF Platform That Actually Challenges Adobe Acrobat

Most developers know Stirling-PDF by name. Few understand what it actually replaces.

You've seen the GitHub stars. You've seen the Docker pull counts. But here's what nobody explains properly: Stirling-PDF isn't just a "PDF tool." It's a complete, self-hosted document processing platform that covers 90% of what teams pay Adobe $20-30/user/month for — and it runs on a $4 VPS.

What Stirling-PDF Actually Is

Stirling-PDF is a web-based PDF manipulation platform with three deployment modes:

  • Cloud: Their hosted SaaS (free tier, paid for automation credits)
  • Desktop: Native Tauri apps for Windows, macOS, Linux — works offline
  • Server: Self-hosted Docker container with REST API, MCP server, and optional SSO

The server mode is what matters for teams. One container. 50+ PDF operations. REST API for every tool. MCP server so AI agents can drive it. No per-seat licensing until you exceed 5 users.

The Architecture Nobody Talks About

Stirling 2.0 is a complete rewrite. Here's the stack:

Backend (Spring Boot, JDK 25)

  • Apache PDFBox — core PDF reading, editing, form filling
  • JPDFium — PDFium-based engine for merge, split, text/table extraction
  • LibreOffice (via unoserver) — Office → PDF conversions
  • Tesseract OCR — text recognition via OCRmyPDF
  • qpdf, Ghostscript, Calibre, ImageMagick — compression, linearization, ebook conversion, image processing
  • FastAPI + Pydantic AI — Python AI engine for smart operations

Frontend (React SPA, TypeScript, Vite)

  • PDF.js — client-side rendering
  • pdf-lib (Cantoo fork) — client-side PDF manipulation
  • IndexedDB — local file storage with thumbnails
  • Mantine + TailwindCSS — UI
  • i18next — 40+ languages

Desktop (Tauri + Rust)

  • Native file associations
  • Bundled JRE via JLink
  • Open-with support

Infrastructure

  • Docker images: latest (4GB), latest-fat (6GB+AI), latest-ultra-lite (2GB, no OCR/Office)
  • ProcessExecutor pattern — concurrency limits, timeouts per tool
  • UnoServerPool — manages LibreOffice UNO server pool for conversions

50+ Operations, One API Pattern

Every server-side tool exposes a REST endpoint:

POST /api/v1/misc/compress-pdf
POST /api/v1/security/add-watermark
POST /api/v1/convert/pdf-to-img
POST /api/v1/pages/merge
Enter fullscreen mode Exit fullscreen mode

Send multipart/form-data. Get the processed file back. Add ?async=true for long jobs — poll /api/v1/general/job/{jobId}.

The Pipeline API chains operations: upload once, run multiple tools, download once.

MCP: AI Agents That Can Actually Edit PDFs

This is the part most people miss. Stirling-PDF includes a built-in MCP server (disabled by default). Enable it:

mcp:
  enabled: true
  scopesEnabled: true
  auth:
    mode: oauth  # or apikey
Enter fullscreen mode Exit fullscreen mode

It exposes 7 tools over JSON-RPC 2.0:

Tool Purpose
stirling_describe_operation Look up parameters/schema for any operation
stirling_pages Merge, split, rotate, reorder, add blank pages
stirling_convert Convert to/from PDF (images, Office, etc.)
stirling_misc Compress, flatten, repair
stirling_security Encrypt, decrypt, permissions
stirling_upload / stirling_download Large file handling via fileId
stirling_ai AI engine capabilities

An AI assistant can now: "Take this scanned contract, OCR it, extract the tables, redact the SSN fields, and save as PDF/A." All local. No document leaves your server.

The Open-Core Reality Check

Stirling moved to open-core in 2025. Here's what that actually means:

Feature Free (≤5 users) Team ($99/mo) Enterprise
All PDF tools, REST API, OAuth2/OIDC ✓ ✓ ✓
External DB, clustering, S3 storage ✗ ✓ ✓
Prometheus metrics, custom metadata ✗ ✓ ✓
SAML2, audit logs, DB backup alerts ✗ ✗ ✓
Offline activation (air-gapped) ✗ ✗ ✓
Text editing (alpha) ✗ ✓ ✓

Critical: The core 50+ tools stay free. The paid tiers unlock multi-user admin, enterprise integrations, and the alpha text editing feature. Individual users and teams ≤5 see zero change.

Deploying on a $4 VPS (Hetzner CX22)

# docker-compose.yml
services:
  stirling-pdf:
    image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    ports:
      - '8080:8080'
    volumes:
      - ./stirling-data/configs:/configs
      - ./stirling-data/logs:/logs
      - ./stirling-data/customFiles:/customFiles
      - ./stirling-data/pipeline:/pipeline
      - ./stirling-data/storage:/storage
      - ./stirling-data/tessdata:/usr/share/tessdata
    mem_limit: 4g
    restart: unless-stopped
Enter fullscreen mode Exit fullscreen mode
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Open http://your-vps:8080. Default login: admin / stirling (change immediately).

For production behind a reverse proxy, set X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port so MCP resource metadata resolves correctly.

When to Use Stirling vs. Adobe vs. Smallpdf

Scenario Use
Occasional personal PDF edits Stirling Cloud (free) or Desktop app
Team ≤5, self-hosted, no SSO needed Stirling Server Free
Team >5, need SSO/audit/clustering Stirling Team ($99/mo, unlimited seats)
Air-gapped, regulated, custom SLA Stirling Enterprise
Already deep in Adobe ecosystem, need cloud sync Adobe Acrobat Pro
One-off online conversion, no privacy concern Smallpdf / iLovePDF

The Mental Model Shift

Stop thinking "PDF tool." Start thinking document processing platform.

  • Automation: Pipeline API + REST API = CI/CD for documents
  • AI integration: MCP server = agents that can actually manipulate PDFs
  • Data sovereignty: Self-hosted = documents never leave your network
  • Cost model: $99/mo for unlimited seats vs. $20-30/user/mo = break-even at 4-5 users

What's Still Missing

  • Text editing is alpha (paid only, improving)
  • No real-time collaborative editing
  • Mobile UI is functional but not polished
  • ARM64 images exist but some binaries (unoserver) are amd64-only in older versions

TL;DR

Stirling-PDF is the only open-source PDF platform that covers the full lifecycle: view, edit, convert, OCR, sign, redact, automate, API, MCP — all self-hostable on commodity hardware. 94k stars isn't hype. It's developers realizing they've been overpaying for PDF infrastructure.


Try it: docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf

Docs: https://docs.stirlingpdf.com

GitHub: https://github.com/Stirling-Tools/Stirling-PDF

Top comments (0)