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
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)