Image
Image compressor to 20KB
Built for the case where you have thirty files and every one of them has to come in under 20KB.
Sample
Loading a sample to compress…
1Images
Drag images in, paste, or click to choose
A whole folder works too · Ctrl/Cmd+V pastes · on phone this opens your photo library · up to 40 MB per file
No file handy?
No images added yet.
2Target
How this works
Files enter a queue that runs three at a time, so a large photo does not block the small ones behind it. Each result is written back into its original slot, which means the output order always matches the order you dropped the files in, whatever order they actually finished in. A file that fails leaves the rest of the batch running and can be retried on its own. When the queue drains, everything packs into one zip, stored rather than deflated because JPEGs are already compressed.
What it cannot do
- Duplicate filenames get renumbered inside the zip so nothing is silently overwritten, which means the names you get out may not be the names you put in.
- Every file in a batch shares the same 20KB target. If some of yours need a different ceiling, run them as a second batch.
- Very large batches are bounded by your device's memory, since each image is decoded to a bitmap before it is re-encoded.
Questions people actually ask
- How many files can I do at once?
- There is no hard cap in the code. The practical limit is your device's memory, because each image is decoded into a bitmap before being re-encoded. A few dozen photos on a laptop is comfortable. Several hundred on a phone is not.
- Does one broken file ruin the batch?
- No. A file that fails to decode is marked as failed and the queue carries on. You can retry that one file by itself once the rest have finished.
- Why is the zip not compressed?
- Because its contents are JPEGs, and JPEG data is already compressed. Running deflate over it would spend time and battery to save close to nothing, so the zip is used purely as a container.
- Does a batch get uploaded for processing?
- No, and the batch queue is exactly why that is worth stating. Thirty files would be thirty uploads on a server-side tool. Here the whole queue runs in Web Workers on your machine, so a large batch costs you CPU time and nothing else.