shrunkpy

Compress, resize, and convert images. Free, no upload.

Runs entirely in your browser. Nothing you drop here ever leaves your device — no server, no upload, no accounts, no watermark.

01 // Size Analyzer

Drop files here, or click to choose

02 // Image Resizer

Drop an image here, or click to choose

03 // Image Converter

Drop an image here, or click to choose

04 // Image Compressor

Drop an image here, or click to choose

05 // PDF Compressor

Recompresses JPEG images embedded in the PDF. Text stays selectable — only photos/scans shrink. Images already saved in other formats (like PNG) inside the PDF are left untouched.

Drop a PDF here, or click to choose

FAQ

Does this upload my files anywhere?

No. Every tool here runs entirely in your browser using the Canvas API and pdf-lib. Your files never leave your device — there's no server involved at all.

Is this really free, with no limits?

Yes. No account, no watermark, no daily file limit, no upgrade prompt. It's a static page — there's no backend cost that would need recovering from you.

What image formats are supported?

JPG, PNG, and WebP for the resizer, converter, and compressor. The converter also correctly flattens transparent PNGs onto a white background when converting to JPG, since JPEG can't store transparency.

How does the PDF compressor work?

It finds JPEG images embedded in the PDF and recompresses them at a lower quality, then rebuilds the PDF with the smaller images swapped in. Text and vector content stay untouched and selectable — only embedded photos/scans shrink. Images already in other formats (like PNG) inside the PDF are left as-is.

Why isn't there a file organizer or bulk renamer here?

Browsers can't rename or move files on your actual filesystem — that's a sandboxing restriction, not something a web app can work around. Those two tools exist as Python CLI scripts instead, in the related side-quests repo.