PLS Compress
FastAPI / Pillow / pikepdfA no-sign-up toolkit for shrinking images, shrinking PDFs, and merging PDFs — everything processed in memory through a Python backend, nothing stored after the response goes back.
Product
The Problem
Shrinking a photo or a bloated PDF for email or upload usually means signing up for a web tool, and merging multiple PDFs into one is rarely free. PLS Compress needed no account and left nothing stored server-side.
Overview
PLS Compress rebuilds a PDF's internal structure with pikepdf and, where it's safe to do so, re-encodes oversized embedded photos at a lower quality — page text is never touched, so documents stay sharp and stay searchable. Images are re-encoded through Pillow with a chosen format, quality, and optional width cap, with EXIF rotation respected. Every tool shows a before-and-after size comparison and percentage reduction before download. The frontend is server-rendered HTML with a single Jinja2 template and vanilla JS — no build step, no framework, so anyone can clone the repo and run it immediately.
Features
- Image compression (JPG/PNG/WEBP/BMP) with format, quality, and width controls
- EXIF-aware rotation handling
- PDF compression that re-encodes oversized embedded images without touching page text
- Merge 2-20 PDFs into one, in upload order
- Before/after size comparison with percentage reduction
- In-memory processing — no database, no persistence, nothing stored after the response
Editions
Free / Open Source
- Image compression (JPG/PNG/WEBP/BMP)
- PDF compression & merging
- 25MB per-file limit, up to 20 files merged
- Free to explore, learn from, and adapt
Live Now
Try It Live