Compress an image without uploading it
What this tool does
Drop one image or a whole batch and optionally set a target file size. The work happens inside a Web Worker in this browser tab, so your files never leave your device — and a finished batch downloads as a single ZIP.
This browser cannot run the compressor. It needs Web Workers with OffscreenCanvas support, and we will not fall back to processing on the main thread because that would freeze the page. Please try a current version of Chrome, Edge, Firefox or Safari.
- Saved
- —
- Dimensions
- —
- Quality
- —
How this works
Your images are decoded and re-encoded inside a Web Worker in this browser tab, so the page stays responsive and the files never reach a server. There is no backend, no queue and no account.
- The original files stay on your device from start to finish.
- A target file size searches for the highest quality that fits under it, per image. If an image cannot get that small, you still get the smallest one we could make and a note saying so.
- Max width and height shrink the pixel dimensions first, which often saves more bytes than quality alone.
- Drop several images at once and the finished ones come back together in a single ZIP.
- Nothing is stored: reloading the page discards everything.
Frequently asked questions
Does my image get uploaded anywhere?
No. The file is read locally, decoded and re-encoded inside this browser tab. There is no backend to upload to, which also means we never see, store or log your images.
What does the target file size actually do?
It runs a short search for the highest quality setting that still produces a file at or under your target. If even the lowest setting is too large, you still get the smallest file we could make, plus a note saying how far over the target it landed.
Can I compress more than one image at a time?
Yes. Drop a batch and each image is compressed one after another in the same worker, with its own progress bar and its own target size. When they finish you can save them individually or download the whole batch as one ZIP file.
Why did my compressed image end up bigger?
Re-encoding an image that is already heavily optimised can add bytes, especially when converting to a format that handles its content less well. The result panel says so when it happens, and switching the output format or setting a target size usually fixes it.
Will compressing reduce the visual quality?
It can, because the file is being re-encoded. Raise the target size, leave it blank to use the highest quality setting, or lower the max width and height to trade pixels for a smaller file instead.
Why is WebP the default output?
WebP usually produces a smaller file than JPEG at the same visual quality and keeps transparency from PNG sources. JPEG is available in the format selector if you need maximum compatibility.