I built ImgPakt because every image compressor I found uploads files to a server. TinyPNG, Compressor.io, iLoveIMG — they all require sending your images over the internet.
ImgPakt compresses images entirely in the browser using Canvas API and Web Workers. There's no fetch(), no XMLHttpRequest, no upload endpoint in the code. Files literally cannot leave your device.
Technical details: - FileReader → offscreen Canvas → toBlob() at target quality - Web Workers keep the UI thread free during batch processing - Supports JPEG, PNG, WebP, AVIF - 5 preset quality profiles instead of a manual slider
Free tier: 5 images per batch, all profiles. Pro ($3.99/mo): unlimited batch, format conversion, AVIF.
I'd appreciate any feedback on the compression approach or UX. Happy to answer questions about the architecture.