Convert & compress images. Nothing uploads.
Drop any number of photos. Convert format, shrink to an exact size, download them all as one zip — everything runs in your browser.
Start with the right size
If you already know the limit you are working to, these pages open with the correct settings selected.
Why nothing is uploaded
Most online image tools send your file to a server, convert it there and give you back a download. That means your photographs — often identity documents or application photos — sit on someone else's machine under a retention policy you have not read.
This site works differently. Browsers already contain a complete image decoder and encoder, because they need one to display web pages. These tools use it directly, in a background thread so large batches don't freeze the page. There is no upload step and no server that could receive a file. Load the page, disconnect from the internet, and it still converts.
The practical consequences are worth spelling out. Nothing waits on an upload, so conversion starts the moment you drop a file and finishes at the speed of your own processor rather than your connection. There is no queue, no daily limit and no file-size cap imposed by a free tier, because there is no cost to anyone else in you converting a hundred images. And no retention policy applies to your photographs, since no copy of them is ever made outside the tab.
Formats and batches
Input can be JPG, PNG, WebP, GIF, BMP, AVIF or HEIC — including the HEIC files iPhones produce by default, which most desktop software still refuses to open. Output is JPG for anything headed to an upload form or another person, WebP when you control the destination and want roughly a third off the file size, or PNG when the image must stay pixel-exact or keep transparency.
You can add as many files as you like and apply one setting to all of them, then download the results together as a zip. Each image is given its own size budget rather than sharing one across the batch, so a folder containing both large and small originals ends up entirely under the limit you set.