Stirling PDF
A powerful, self-hosted open-source PDF editing platform with over 50 tools for merging, splitting, converting, and OCR.
Why consider Stirling PDF?
Stirling PDF is an open-source, locally hosted PDF editor with over 55 features and a REST API.
Learn Stirling PDF by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Stirling PDF: The Private, Self-Hosted Document Editor
Managing PDF documents securely is a requirement for many teams, especially when handling sensitive personal or corporate data. According to the official documentation, Stirling PDF is a locally hosted web application that allows you to perform various operations on PDF files. Because it is designed to run locally or on your own servers, the platform guarantees privacy: Files are processed by your own instance, never a third-party service. This eliminates the privacy risks typically associated with sending proprietary documents to external cloud conversion services.
A Comprehensive PDF Toolkit
Out of the box, Stirling PDF is equipped with a robust array of features, providing 55+ tools covering signing, converting, merging, editing, OCR, and redaction. This extensive toolkit means that typical document workflows—whether you are combining multiple reports into a single file, applying digital signatures, extracting text from scanned images, or permanently redacting sensitive information—can be handled entirely within a single unified interface.
A significant advantage of this platform is its user-friendly approach to document manipulation. Users benefit from a stateful workspace where they can Upload once and chain tools together, with full undo and redo history. Instead of processing a single operation, downloading the result, and re-uploading it for the next step, you can perform a complete sequence of complex edits seamlessly in the browser.
Automation and Integration Capabilities
Beyond the standard graphical web interface meant for end users, Stirling PDF provides extensive integration points for developers and system administrators. Teams looking to automate their document processing can leverage a REST API, pipelines, folder scanning, and an MCP server for AI assistants.
These automation capabilities allow you to programmatically apply transformations to large batches of files or monitor specific local directories for incoming documents, processing them instantly according to predefined rules. The REST API exposes almost all of the platform's core tools, making it straightforward to build custom internal applications that programmatically generate, convert, or secure PDF documents.
Setting Up Your Instance
Stirling PDF supports numerous deployment methods, including bare-metal installations, native desktop applications for Windows, Mac, and Linux, and Kubernetes. However, the officially recommended path for most server deployments is Docker, as it simplifies dependency management and environment configuration.
You can quickly launch a standard Stirling PDF container with the following command officially documented:
docker run -d \ -p 8080:8080 \ -v ./stirling-data:/configs \ docker.stirlingpdf.com/stirlingtools/stirling-pdf:latestThis configuration achieves several things. It exposes the web interface on port 8080, allowing you to access the application locally via your browser. It also mounts a local ./stirling-data directory to the container's /configs path, ensuring that your custom configurations and system settings remain persistent across container updates or restarts. Once the service is running, you can immediately begin uploading and modifying your PDF files with complete data privacy.
Related tools
More options with a similar category or technology profile.
marimo
A reactive Python notebook that is reproducible, git-friendly, and executable as a script.
JupyterLab
The next-generation web-based user interface for Project Jupyter computational notebooks.
Trafilatura
Python package and command-line tool designed to gather text and metadata on the Web.
ScrapeGraphAI
Python scraper library that uses LLMs and direct graph logic to extract website data.