SafePDF - Privacy-First PDF Toolkit
SafePDF is a free, open-source desktop app for Windows, macOS and Linux. It merges, splits, compresses, converts, rotates and repairs PDFs entirely on your own device — your sensitive documents never leave your computer.
Why SafePDF?
100% Offline - No cloud uploads, no internet required
Fast & Lightweight - Operations run directly on your device
Privacy First - Ideal for sensitive documents (legal, healthcare, financial)
Multi-language - English, German, Turkish support
Read more: The Security Concerns of Online PDF Tools
Features
- Compress - Reduce PDF file size with quality control
- Split - Separate PDFs by pages or custom ranges
- Merge - Combine multiple PDF files into one
- Convert to Images - Export PDF pages as JPG/JPEG
- Rotate - Rotate pages (90°, 180°, 270°)
- Repair - Fix corrupted PDF files
- Convert to Word - Export PDF as DOCX documents
- Extract Text - Extract plain text from PDFs
- Extract Info - View PDF metadata and properties
Interface Features:
- Drag & drop file selection
- Real-time progress tracking
- Multi-language UI
- Modern, intuitive design
Quick Start
Option 1: Download Executable (Recommended)
- Download the latest release from Releases
- Extract the ZIP file
- Run
SafePDF.exe
Option 2: Install from PyPI
Requirements:
- Python 3.8+
- pip
Installation:
# Install from PyPI
pip install SafePDF
# Optional extras
# OCR support: pip install "SafePDF[ocr]"
# All optional extras: pip install "SafePDF[full]"
# Run the app
safepdf
Option 3: Run from Source
# Clone the repository
git clone https://github.com/mcagriaksoy/SafePDF.git
cd SafePDF
# Install core dependencies
pip install -r requirements.txt
# Optional extras
# OCR support: pip install ".[ocr]"
# All optional extras: pip install ".[full]"
# Run the application
python run_safe_pdf.py
OCR note: OCR uses Tesseract. Install the Python extra with SafePDF[ocr] and make sure the Tesseract OCR application is installed on your system as well.
How to Use
- Select Operation - Choose what you want to do (compress, split, merge, etc.)
- Select File - Drag & drop your PDF or click to browse
- Adjust Settings - Configure operation-specific options
- Execute - Click to process your file
- View Results - See output and open the processed file
Development
Project Structure
SafePDF/
├── SafePDF/
│ ├── ctrl/ # Controllers
│ ├── ui/ # User interface
│ ├── ops/ # PDF operations
│ ├── logger/ # Logging
│ └── text/ # Localization files
├── docs/ # Marketing website (safepdf.de)
├── run_safe_pdf.py # Main launcher
└── requirements.txt # Dependencies
Website
The marketing site lives in docs/ and is published at safepdf.de. It is plain HTML, CSS and JavaScript with no build step:
cd docs
python3 -m http.server 8000
# open http://localhost:8000
The homepage and the converter pages are also available in German (docs/de/) and Turkish (docs/tr/). Language switching uses real, static URLs so search engines index each language separately — no client-side machine translation.
Contributing
Contributions are welcome! Please:
- Report bugs via Issues
- Submit pull requests for improvements
- Follow existing code style
Support
- Website: safepdf.de · Deutsch · Türkçe
- Guides: Offline PDF tools · Secure PDF processing
- Email: info@safepdf.de
- Bug reports & feature requests: GitHub Issues
License
Released under GPL-3.0 by @mcagriaksoy.
Support the Project
Made for privacy-conscious users
Metadata
Release files for SafePDF 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| safepdf-1.1.0.tar.gz | 1.9 MB | With provenance | Details for safepdf-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| safepdf-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for safepdf-1.1.0-py3-none-any.whl |
Total release size: 3.9 MB
Release files / safepdf-1.1.0.tar.gz
| Download URL | safepdf-1.1.0.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0be9703cfb7ed603fe4631b0f951450628ea5c846d322949bc86efd3394cf70
|
|
BLAKE2b-256 checksum How to use checksums |
15105997e756e04d4a8596a9b50bafe9a385d4fec9203699f7710d5d609d7b07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / safepdf-1.1.0-py3-none-any.whl
| Download URL | safepdf-1.1.0-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef1c3da952618f104268f89965936e65a060b13bafe41eb96fcbe4ba264bea2c
|
|
BLAKE2b-256 checksum How to use checksums |
785f36d90c068d2a442a3ff5374550e27deba0872611e0d38fa64b5f9234b94e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logSecurity for SafePDF 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for safepdf-1.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.