How it works
ShrinkLocal is for people who need to compress large images (often 5MB, 10MB, or more) without sending files to a cloud service. You can process multiple files in parallel and download them individually or as a ZIP.
- You choose or drop one or more images. Files stay on your device.
- You pick an output format: JPEG (MozJPEG) or WebP.
- Web Workers load encoders (WebAssembly) from this website โ up to several images at once.
- Each worker decodes your image, optionally scales very large dimensions, then encodes to your chosen format.
- You download files one by one or as a ZIP archive. Nothing is stored on our servers.
Verify no upload (Chrome / Edge / Firefox)
- Open ShrinkLocal.
- Open Developer Tools โ Network tab.
- Enable Preserve log. Filter by Fetch/XHR (optional).
- Compress one or more images.
- Inspect requests: you should see loads for
.js,.wasm, and HTML โ not multiโmegabyte POST bodies of your photos.
Your image bytes are processed inside the browser. We have no API that accepts image uploads.
Output formats
JPEG (MozJPEG)
- Best for photos, email attachments, and tools that expect
.jpg. - PNG and WebP inputs with transparency are composited on a white background.
WebP
- Often smaller than JPEG at similar visual quality โ ideal for websites and blogs.
- Transparency is preserved when the source PNG or WebP has an alpha channel.
For both formats: if either side exceeds 8192px, the image is scaled down proportionally first.
Batch & ZIP
- Up to 20 images per batch (configurable in our app).
- All files in one batch use the same output format you select before processing.
- Download all as ZIP bundles every successful result locally โ still no server upload.
Recommended browsers
Latest Chrome, Edge, or Firefox on desktop. Large files (50MB+) need enough RAM; mobile may struggle with very large batches.
Technology
Encoders come from jSquash (MozJPEG and libwebp, same family as Googleโs Squoosh). WASM modules are self-hosted on this domain.