Smaller files,same image.
tool / 001
image compression
Drop a PNG, JPEG, or WebP. Squish recompresses it in memory, strips invisible metadata, and hands the result back. The bytes never touch a disk and the file never leaves the request.
drop your images
png · jpeg · webp · up to 10 mb · max 20 files
section
how
palette quantize
PNGs get colour-quantised to a curated palette — the same trick screenshot tools use. For UI assets and illustrations, the savings are dramatic; for photos, sometimes nothing budges.
mozjpeg
JPEGs run through mozjpeg with progressive scans and tuned chroma. Quality 78 is the comfortable corner of the rate-distortion curve — small files, no visible artefacts.
webp smart subsampling
WebP gets re-encoded with effort 5 and smart subsampling. Already-tiny files are returned untouched: you should never get a bigger file than you brought.
section
privacy
No accounts, no analytics, no cookies. Files are processed in memory and discarded the moment the response is sent. EXIF, GPS, ICC profiles, and other metadata are stripped during recompression.
The server uses strict content-type sniffing on the magic bytes of every uploaded file — declared MIME types are ignored. SVG, TIFF, GIF, and animated formats are rejected outright.
section
api
POST /api/compress with multipart/form-data. Up to 20 files per request, 10 MB each. Response is JSON containing per-file results with base64-encoded compressed bytes.
curl -X POST https://your-host/api/compress \ -F "files=@photo.jpg" \ -F "files=@logo.png"