DEV Community

Max
Max

Posted on

I Built a Free Client-Side Image Compressor (No Upload, Works Offline)

I got tired of uploading sensitive images to servers just to compress them. TinyPNG is great but requires server upload. Squoosh only does one image at a time.

So I built QuickShrink — a browser-based image compressor where everything happens client-side. Your images never leave your device.

What it does

  • Client-side compression — uses Canvas API + WebP encoding in-browser
  • Batch processing — drag multiple files, compress all at once
  • WebP output — 30-50% smaller than JPEG at same quality
  • Resize + compress — set max dimensions
  • Quality presets — Web, Social Media, Email, Print
  • PWA — install it, works offline

Why client-side matters

If you are compressing screenshots with credentials, internal docs, or client work — you probably do not want them hitting someone elses server. With QuickShrink, the files stay in your browser tab.

Try it

quickshrink.orthogonal.info

Free tier: 5 images/day. Pro (4.99/mo): unlimited + priority features.

Tech stack

Vanilla JS, Canvas API, Web Workers for non-blocking compression, Service Worker for offline support. No framework, loads in under 1 second.


Would love feedback from fellow devs. What features would make this more useful for your workflow?

Top comments (0)