Peter Lightspeed

All Products

PLS Compress

FastAPI / Pillow / pikepdf

A 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.

PLS Compress screenshot 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.

PythonFastAPIUvicornPillowpikepdfpypdfJinja2Vanilla JS

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