DEV Community

Max
Max

Posted on

I Made an Image Compressor That Never Sees Your Images (100% Client-Side)

Ever notice how most "free" image compressors upload your files to their servers?

I got fed up with this — especially when compressing screenshots that might contain sensitive data — so I built QuickShrink: an image compressor that runs entirely in your browser.

Why client-side matters

  • Privacy: Your images never leave your device
  • Speed: No upload/download round-trip. Compression is instant
  • Works offline: It's a PWA. Install it and use it without internet
  • No account needed: Just drag, drop, done

What it does

  • Compress JPEG/PNG/WebP with adjustable quality (1-100)
  • Batch compress multiple images at once
  • Convert between formats (PNG to WebP for 60-80% size reduction)
  • Resize images with aspect ratio lock
  • See before/after comparison with file sizes

The tech

Built with vanilla JavaScript + Canvas API + OffscreenWorker for non-blocking compression. The entire app is about 50KB. No React, no framework, no build step.

Try it

quickshrink.orthogonal.info

Free tier: 5 compressions/day
Pro: Unlimited + batch + format conversion ($4.99 one-time)

I'd love feedback on compression quality vs file size. Is the default quality slider (80%) a good default for web images?

Built this as a weekend project after TinyPNG's free tier dropped to 20 images/month. If you're compressing screenshots or blog images regularly, give it a shot.

Top comments (0)