Image · Batch

Bulk Image Resize / Convert / Compress

Upload as many images as you need. Set a target size, output format, and quality once — apply it to every image in the batch, and save it as a preset to reuse next time.

1. Upload images

Drag images here or click to browse
PNG, JPG, WebP — multiple selection supported · max 20 MB/image, 60 images/batch

2. Batch settings

3. Results

// Processed images will appear here

How it works

Each image is drawn onto an HTML canvas at the target dimensions, then re-encoded in the format and quality you choose. This all happens locally in your browser using the Canvas API — files are never uploaded anywhere, and you can confirm that by checking the Network tab in dev tools while a batch runs. See this post for why that distinction matters specifically for client screenshots and other work you can't drop into a random upload box.

Limits

Each image is capped at 20 MB and each batch at 60 images — enforced up front, not just a suggestion. This keeps browser-based processing from risking an unresponsive tab on very large jobs. For bigger jobs, run them in multiple batches. If you're weighing this against just asking an AI model to convert the batch for you, this post compares the two approaches directly.

Choosing settings

PNG vs JPG vs WebP — which should I pick?

PNG is lossless and keeps transparency, which makes it the right call for logos, icons, and screenshots with sharp text — but it produces the largest files for photos. JPG is smaller for photographic images but has no transparency support and introduces compression artifacts as quality drops. WebP generally beats both for file size at comparable visual quality and supports transparency, but confirm it's supported everywhere your images will be used before switching entirely. This tool doesn't output AVIF — see this comparison if you're deciding between the two newer formats specifically.

What quality setting should I use?

0.8 is a reasonable default for JPG and WebP — visually close to the original at meaningfully smaller file size. Going below 0.6 starts to show visible artifacts on photos, especially in skies, gradients, and skin tones. PNG ignores the quality setting entirely since it's lossless.

"Fit to width" vs "Fit within max width/height" — what's the difference?

"Fit to width" forces every image to the exact width you set, scaling height proportionally — useful when every output needs to match a fixed layout slot. "Fit within max" scales images down only if they exceed your limit in either dimension, without upscaling smaller ones or forcing a uniform width — better when your batch has mixed orientations (portrait and landscape together).

When should I use "Crop to exact size" instead?

The other two modes always preserve the original aspect ratio, so the output dimensions vary from image to image unless every source image already shares the same proportions. "Crop to exact size" is for when you need every output to be exactly the width and height you specify, no exceptions — thumbnails, avatar grids, social banners, or any layout slot that doesn't tolerate a mismatched size. It scales each image so it fully covers your target box, then trims the overflow evenly from the center on whichever axis is too large. This means some of the original image is cropped away at the edges — for a portrait photo forced into a square, that's typically the sides; for a landscape photo, the top and bottom.

FAQ

Can I save my resize + compress settings so I don't have to redo them every time?

Yes — set up your resize mode, size, format, and quality once, then click "Save as preset" and give it a name (e.g. "Thumbnail 400px WebP"). It'll show up in the "Saved presets" dropdown on your next visit, ready to reload with one click. Presets are stored in your browser's local storage, not on any server, so they're private to this browser/device and won't carry over if you switch browsers or clear site data.

Will this upscale a small image if I set a larger target size?

With "Fit within max width/height," no — images smaller than your target are left at their original size, since Canvas-based upscaling just stretches pixels and produces blurry results rather than adding real detail. "Fit to width" will scale up if needed, since it targets an exact width. "Crop to exact size" will also scale up when necessary — since it has to guarantee the exact output dimensions you set, an image smaller than the target box gets stretched to cover it before cropping, which can look soft if the source was much smaller than the target.

Does converting to a different format lose EXIF data (camera info, GPS)?

Yes. Re-encoding through canvas strips EXIF metadata by design — this is actually a common reason people convert images before sharing them, since EXIF can carry GPS coordinates and other details you may not want attached to a shared photo.

Can I convert PNGs with transparency to JPG?

You can, but JPG doesn't support transparency, so the transparent areas get filled with a solid color (typically white) during conversion. If you need to keep transparency, use PNG or WebP as the output format instead.