# Batch image resizer and compressor: JPEG, WebP, AVIF, metadata removed

> Resize many photos at once by longest side, width, height or percent, re-encode them as JPEG, WebP or AVIF with a quality slider that shows the real file size, and strip EXIF and GPS data. Runs in your browser; nothing is uploaded. Includes measured file sizes and quality for each setting.

By PhotoAIBench. Updated 7 October 2026. Canonical URL: https://photoaibench.com/image-resizer-compressor/

> **Interactive tool.** The batch image resizer and compressor runs in the browser on the HTML version of this page: https://photoaibench.com/image-resizer-compressor/. Photos are processed on your device and never uploaded. It resizes by longest side, width, height or percent (keeping the aspect ratio), re-encodes as JPEG, WebP, AVIF (where the browser can encode it) or PNG with a quality slider and the real output size, lists the metadata it finds in each original (camera, date, GPS position, XMP, ICC profile) and checks that the output carries none of it.


## Measured: what each quality setting costs

<section class="pricing-data" data-block="data" markdown="1">

We ran this tool's own encoding path on the 12 photos of our [test set](/methodology/#the-test-photos), each resized to 2000 px on the long side, in Chromium 153.0.8010.12 (Playwright, headless) on 7 October 2026. The size is the median over the 12 files; the quality columns compare each output with the uncompressed 2000 px image, using the [PSNR and SSIM calculator](/psnr-ssim-calculator/)'s code.

<div class="table-wrap" markdown="1">

| Format | Quality | Median file size | Bits per pixel | Median PSNR (Y) | Median SSIM |
|---|---|---|---|---|---|
| JPEG | 50 | 192 kB | 0.61 | 34.2 dB | 0.9464 |
| JPEG | 70 | 280 kB | 0.92 | 35.7 dB | 0.9651 |
| JPEG | 80 | 357 kB | 1.22 | 37.5 dB | 0.9754 |
| JPEG | 90 | 536 kB | 1.90 | 41.1 dB | 0.9847 |
| WebP | 50 | 144 kB | 0.45 | 34.8 dB | 0.9489 |
| WebP | 70 | 214 kB | 0.68 | 36.5 dB | 0.9630 |
| WebP | 80 | 281 kB | 0.97 | 38.7 dB | 0.9746 |
| WebP | 90 | 464 kB | 1.65 | 43.1 dB | 0.9857 |
| PNG (lossless) | n/a | 5,578 kB | 16.49 | ∞ (lossless) | 1 (lossless) |


</div>

At quality 80, the median photo was 357 kB as JPEG and 281 kB as WebP, against 5,578 kB as lossless PNG. WebP files were on average 21% smaller than JPEG at the same quality number, with median SSIM 0.9746 (WebP) and 0.9754 (JPEG) at quality 80.

Raw numbers per photo: [encoder-sizes.json](/tools/image-resizer-compressor/encoder-sizes.json).

</section>

What this means in practice:

- **For the web, WebP at quality 75 to 85 is the sensible default** where the browser can make it. In our measurement it gave files about 21% smaller than JPEG at the same quality number. The two quality scales are not the same thing, so compare PSNR and SSIM in the table, not just the setting.
- **JPEG is the safe choice for email and old software.** Every program opens it.

- **PNG is for screenshots, diagrams and images with sharp text,** not photos: it is lossless, so photo files come out about 16 times larger than JPEG at quality 80.
- **AVIF** is available only in Safari among the browsers we tested (see below); elsewhere the option is off.

## What the tool does to your photos

1. **Reads the file and applies its orientation.** Phones often store a photo sideways with an EXIF tag saying "rotate 90°". The tool rotates the pixels first, because the output will not carry that tag.
2. **Resizes in steps.** A single large reduction on a canvas can skip pixels and produce moiré on fine patterns (fabric, brick, foliage). The tool halves the image repeatedly with the browser's high-quality smoothing until it is within 2x of the target, then makes one final step to the exact size. It never enlarges unless you tick the box, and enlarging adds pixels, not detail.
3. **Re-encodes with the browser's own encoder** at the quality you chose. Quality numbers are not comparable between formats, and differ slightly between browsers, so the tool shows you the real size of the real file rather than a guess. Sizes in the batch table marked "est." are estimates from the photos already encoded (bytes per pixel), until you convert.
4. **Fills transparency for JPEG.** JPEG has no transparency, so transparent areas get the fill colour you choose (white by default). WebP, AVIF and PNG keep transparency.

## Metadata: what is removed, and how you can check

A photo from a phone or camera usually carries more than pixels:

| Metadata | What it can reveal |
|---|---|
| EXIF GPS tags | Where the photo was taken, often to a few metres |
| EXIF camera fields | Camera make and model, lens, serial number, settings, date and time |
| XMP | Edit history, ratings, keywords, captions, sometimes the editing software and your name |
| IPTC | Captions, credits, copyright, location names |
| ICC colour profile | How to interpret the colours (not personal, but removed too) |

**The output contains none of the personal fields.** A canvas holds only pixels, so when the browser encodes it to a file it writes no camera, date, GPS, caption or edit-history data. The tool doesn't take that on trust: after encoding, it scans the output file's bytes with the same parser it uses on your original and tells you what it found.

We checked this in three browser engines with a test photo carrying GPS coordinates, a camera make and model, and a date (7 October 2026):

| Browser engine | Personal metadata left in JPEG, WebP, AVIF or PNG output | Technical data the browser adds on its own |
|---|---|---|
| Chromium 153.0.8010.12 | None | ICC colour profile |
| Firefox 155.0 | None | Nothing |
| WebKit (Safari) 26.6 | None | EXIF block with technical fields only (such as pixel size or colour space; no camera, date or location); Photoshop resource block with no IPTC text |


Chrome writes a standard sRGB colour profile into its files, and Safari's engine writes a small EXIF block holding the colour space and pixel size, and an empty IPTC header. Neither says anything about you, your camera or where the photo was taken.

Two side effects to know about:

- **Colours are converted to sRGB.** Photos from recent iPhones and many cameras are in a wider colour space (Display P3 or Adobe RGB). The browser converts them to sRGB when it draws them, and colours outside sRGB are clipped. On most screens and for most uses this is invisible; for print work keep your originals.
- **Rotation is baked in,** as described above, so the output looks right everywhere, including in software that ignores orientation tags.

What it does **not** remove: anything visible in the picture itself (faces, house numbers, a street sign), and any watermark. Check the image, not just the metadata.

## Which browsers can make which format

The tool asks your browser on load which formats it can encode and turns off the ones it can't, with a note. What we found on 7 October 2026:

| Browser engine | Encodes | Asked for something else, returned |
|---|---|---|
| Chromium (Chrome, Edge) 153.0.8010.12 | JPEG, PNG, WEBP | AVIF: PNG |
| Firefox 155.0 | JPEG, PNG, WEBP | AVIF: PNG |
| WebKit (Safari) 26.6 | AVIF, JPEG, PNG | WEBP: PNG |


So WebP works in Chrome, Edge and Firefox, AVIF only in Safari, and JPEG and PNG everywhere. These are the browser engines Playwright ships, run on macOS; your browser's own version decides, which is why the tool checks at run time.

## Limits

- **iPhone and iPad:** Safari refuses canvases above about 16.7 megapixels. The tool warns when a photo or its output is larger; choose a smaller size or use a desktop browser.
- **HEIC photos** open only in Safari. Elsewhere, change the iPhone camera setting to "Most Compatible" or convert the photos first.
- **Animated GIFs** become a single still frame.
- **Very large batches** are processed one photo at a time to keep memory down, so a hundred 12-megapixel photos take a minute or two.

## Doing the same without a browser

If you prefer a command line, ImageMagick does the same job in one line. This resizes so the longest side is at most 2048 px, removes metadata and writes WebP at quality 80:

```
magick input.jpg -auto-orient -resize "2048x2048>" -strip -quality 80 output.webp
```

`-auto-orient` applies the rotation tag before `-strip` removes it, the same order this tool uses.

## Privacy

Your photos are read by JavaScript in this page and never leave your device: there is no upload and no server processing. The page works offline once loaded. See the [privacy page](/privacy/).
