How to compress images in bulk
Compress and convert dozens of images at once: prepare the batch, pick settings that suit every file, check the results and download the ones you need.
· 5 min read
Compressing one image is easy. Compressing a product shoot, a holiday’s worth of iPhone photos or every image on a website is where time disappears. The trick is to make a few decisions up front, apply them to the whole batch, and check the results quickly. This guide walks through that process.
Before you start
- Keep the originals. Compress copies and keep the full-size files somewhere safe. Lossy compression cannot be undone, and you may need a different size later.
- Group by type. Photos and screenshots need different settings. A quality that suits a landscape photo blurs the text in a screenshot, and PNG settings that suit a screenshot leave photos huge. Run them as two batches.
- Know the destination. A website, a marketplace, an email and an exam form each want something different. Decide the format and the size limit before you begin.
Settings for common batches
| Batch | Format | Goal | Resize |
|---|---|---|---|
| Photos for a website or blog | WebP | Quality 75 | 1920 px |
| Product photos for a marketplace | JPG | Quality 85 | 2048 px, or the platform’s size |
| iPhone photos to share | JPG | Quality 75–85 | Off, or 2560 px |
| Photos for one email | JPG | Quality 75 | 1600 px |
| Screenshots and graphics | Same (PNG) | Default | Off |
| Uploads with a size limit | JPG | Exact file size, such as 1 MB | Off (shrink to fit if offered) |
A few rules make mixed batches predictable:
- “Same” format keeps each image’s format, except HEIC, which becomes JPG.
- For a batch, resize values are maximums: proportions are kept, and smaller images stay as they are unless you turn on Enlarge smaller images.
- An exact file size applies to every image in the batch, so each one ends up at or under the target.
- Converting to JPG fills transparent areas with white, so keep transparent PNGs out of a JPG batch.
- Animated GIFs stay animated only when compressed as GIF. Converting them keeps the first frame.
What “Same format” does with a mixed folder
Folders are rarely tidy. If you leave the format on “Same”, each file is handled according to what it is, so you can drop a mixed folder in without sorting it first:
| Input | Output with “Same” | How it is compressed |
|---|---|---|
| JPG | JPG | Re-encoded with MozJPEG |
| PNG | PNG | Palette reduction with dithering, then OxiPNG |
| WebP | WebP | Re-encoded with libwebp |
| AVIF | AVIF | Re-encoded with libavif |
| GIF | GIF | Re-encoded frame by frame, keeping every frame |
| HEIC | JPG | Converted to JPG with MozJPEG |
Graviton identifies each file by its contents rather than its extension, so a WebP saved with a .jpg name is still treated as a WebP. Choose a specific output format instead when everything must end up the same, for example JPG for a marketplace.
Compress a batch in Graviton
- Drop the images in. Drag a selection from your file manager, choose files, or paste. Up to250 images at once, up to 100 MB each, in JPG, PNG, WebP, AVIF, GIF or HEIC.
- Pick your settings from the table above, then run the batch.
- Review the list. Each image shows its size before and after. “Kept original” means the file was already smaller than any compressed version, so you get your original image back, pixel for pixel, without its metadata unless you chose to keep some. “Over target” means an image could not reach your exact size with the options you allowed; turn on “Shrink dimensions if needed” or pick another format.
- Adjust if needed. Change a setting and run the batch again. Compressing is unlimited, so this never counts against the free daily limit.
- Download. Sign in with a free account (no card) to download one by one or as a ZIP:3 a day on Free, unlimited on Pro. On Free, each image counts once a day, however many times you download it on the same device.
File names in the ZIP
The ZIP keeps each original file name and sets the extension to match the output format, so IMG_2041.HEIC becomes IMG_2041.jpg. If two files end up with the same name, the second becomes name (2).jpg rather than overwriting the first. That makes it easy to replace images on a website or in a store without renaming anything.
Downloads and large batches
| Plan | Downloads a day |
|---|---|
| Free | 3 |
| Pro | Unlimited |
Compressing is unlimited on both plans. On Free, downloads count against the daily limit, which resets at midnight UTC, and whatever you can’t download yet stays ready on the page. Both plans have every format and setting, and Pro only removes the daily limit. A batch can hold up to 250 images, and on Pro one ZIP can hold all of them, so even a catalog of several hundred images takes only a few batches. Compareplans.
Why it is fast, and private
Graviton compresses in your browser, in parallel across your processor’s cores. There is no upload or download wait, so most photos are done in about a second, and a 24-megapixel photo takes a couple of seconds. AVIF takes longer to encode than other formats.
Because nothing is uploaded, your images never leave your device. Open your browser’s network tab while a batch runs and you will see no image being sent. Only when you download do our servers receive a one-way fingerprint of each image, to count and approve the download, and they don’t store it. Read more about how Graviton handles privacy.
Very large images use a lot of memory. On an older phone, turn on Resize or split huge batches into smaller ones.
Checking a big batch quickly
- Scan the list for images that barely shrank; they were probably already compressed.
- Open the three or four most detailed images and look at faces, text and skies.
- If one image needs special care, compress it on its own to use the before-and-after slider, with compress JPEG or compress PNG.