Compress images without uploading them anywhere
Every image compressor wants your files. This one runs Squoosh WASM codecs in your browser. Same quality, no upload.
The problem
You need to compress an image. You search for a tool. Every result wants you to upload your file to their server.
That means your image sits on someone else's infrastructure. You do not know how long they keep it. You do not know who has access. You do not know if it ends up in a training dataset. For a personal photo, that is uncomfortable. For a client file or confidential document, it is a risk.
There are desktop tools, but they cost money or require installation. You just want to shrink a JPEG. This should not be complicated.
The alternative
Unwrite Images runs image compression entirely in your browser. Your files never leave your device. The tool loads once, then everything happens locally.
This is not a gimmick. The same codecs that Google built for Squoosh are compiled to WebAssembly and run in Web Workers inside your browser tab. The compression quality is identical to native tools because it is the same code, just running in a different environment.
What the tool does
Compress
Reduce file size while preserving visual quality. Adjust the quality slider and see the result in real time. The tool shows you the original and compressed versions side by side with the file size difference.
Resize
Change dimensions by pixels or percentage. Maintains aspect ratio by default. Useful for preparing images for specific contexts like email, social media, or web pages.
Convert
Change between formats. Turn a PNG into a WebP, a JPEG into an AVIF, or any combination. The tool handles the codec work transparently.
Batch processing
Select multiple files and process them together. Same settings applied across all images, downloaded as a zip. Useful for preparing a set of product photos or blog images in one go.
How it works
The technical stack is straightforward:
WASM codecs. The actual image encoding and decoding libraries (MozJPEG, OxiPNG, WebP, AVIF) are compiled from C/C++ and Rust to WebAssembly. They run at near-native speed in the browser.
Web Workers. Compression runs in background threads so the UI stays responsive. You can adjust settings and see previews without the page freezing, even on large images.
No network requests. After the initial page load, zero bytes go to any server. Open your browser's network inspector if you want proof. Your images stay in browser memory, get processed, and the result is saved to your downloads folder.
Format guide
Different formats suit different situations. Here is a practical comparison.
| Format | Best for | Trade-off |
|---|---|---|
| JPEG | Photos, gradients, complex images | Lossy. Quality degrades at low settings. No transparency. |
| PNG | Screenshots, graphics, text overlays | Lossless option. Larger files than JPEG for photos. Supports transparency. |
| WebP | General web use, replacing both JPEG and PNG | Good compression, supports transparency and animation. Not universal in older software. |
| AVIF | Maximum compression, modern browsers | Best compression ratios. Slower to encode. Limited support in older browsers and tools. |
JPEG (MozJPEG)
The workhorse. MozJPEG produces smaller files than standard JPEG encoders at the same quality level. For photos on the web, quality 75-80 is usually visually indistinguishable from the original at a fraction of the file size.
PNG (OxiPNG)
When you need lossless compression or transparency. OxiPNG optimises PNG files by trying different compression strategies and picking the smallest result. It will not change how the image looks but can meaningfully reduce file size.
WebP
Google's format. Typically 25-35% smaller than equivalent JPEG at the same visual quality. Supports both lossy and lossless modes, plus transparency. Every modern browser supports it. A good default choice for web images.
AVIF
The newest option and the most efficient. Consistently produces the smallest files. The catch: encoding is slower, and some older tools and browsers do not support it yet. If your audience uses modern browsers, AVIF is the best option for file size.
The privacy angle
This matters more than most people think.
When you upload an image to a compression service, you are handing over more than pixels. Images contain EXIF metadata: GPS coordinates, device information, timestamps, sometimes even serial numbers. A photo from your phone might include the exact location where it was taken.
Even services that strip metadata on compression still receive the original file with all that data intact. Their server processes it. Their logs record it. Their retention policy applies to it.
With browser-based compression, none of that happens. Your metadata stays on your device. If you want to strip it, the tool can do that locally too.
Open source
The image processing library is open-sourced at github.com/benpalmer1/Unwrite-Images. You can inspect the code, verify that it does not phone home, or run it yourself.
When you need more than images
If your workflow involves PDFs as well as images, Unwrite PDF Tools follows the same philosophy. Compress, merge, split, and edit PDFs entirely in your browser. Same privacy model, same no-upload approach.
Bottom line
Image compression does not require uploading your files to a stranger's server. The browser is powerful enough to run the same codecs that native tools use. Unwrite Images puts that capability in a tab. Your files stay yours.