Adjust quality and size to shrink file size
This tool solves one narrow problem: an image is too big to upload. It shrinks each picture to no wider than the limit you set, re-encodes it as a JPG at the quality you set, and shows the before and after size in KB next to every file. It does not aim for a target size on its own (there is no "squeeze under 200KB" mode), so you find the setting by dragging sliders, and it does not preserve formats: the output is always JPG. It suits anyone sending pictures to a form, forum or CMS with a size cap, or slimming down a batch of photos before sharing them.
We generated a synthetic 3000×2000 test image with a script (gradient, colored blobs and noise; not a real photo, and the noise inflates sizes) and re-encoded it as JPEG the same way this tool does, after scaling. At 3000px wide, quality 95% came to about 2700KB, 70% to about 675KB and 30% to about 203KB. Capped at 1280px wide, 70% came to only about 117KB. In this sample, cutting the width from 3000 to 1280 saved more than dropping quality from 95% to 70%. Real photos will give different numbers because file size depends heavily on image content (busy textures compress worse), so treat this as a pattern, not a promise: if the picture will only be viewed on a web page or phone screen, reduce the width first, then fine-tune with quality. 60%-80% is a sensible range to start testing in.
The original was probably already a heavily compressed JPG, or a small image, and the quality is set very high (close to 100%). Re-encoding a JPG is lossy and not guaranteed to produce a smaller file. Lower the quality or the max width.
The output is JPG, which has no transparency. Transparent areas of a PNG turn black after conversion. Do not use this tool for images that must stay transparent.
There is no target-size mode, so it is trial and error: first reduce the max width to the size you actually need, then lower the quality step by step until the compressed KB shown on the page is below your limit. The page counts 1KB as 1024 bytes and rounds to a whole number, so leave a little margin when you are close to the cap.
Names inside the ZIP are the original file name plus "-compressed.jpg". If several selected images share the same name (say image.jpg from different folders), they collide in the ZIP and later ones overwrite earlier ones. Rename them first, or download them one by one.
No. Reading, resizing and re-encoding all happen in your browser, and the tool's code makes no network request that sends images anywhere. The only thing fetched on demand is the script module that builds the ZIP, loaded when you click "Download all as ZIP".