Bulk resize images

One longest-edge setting, sensible results for portrait and landscape alike.

Drop images here
or click to browse — as many files as you like
jpg · png · webp · heic → jpg
Output
Compress
Quality
85%
Max dimensionpx (optional)Caps the longest edge. Images smaller than this are never enlarged.

0 bytes of image data sent — processed on this device

Verify this yourself
  1. Open DevTools → Network, then convert a file.
  2. No request carries your image — the only requests are the page's own files.
  3. Or disconnect from the internet entirely and convert: it still works.
  1. Step 1Drop your imagesAnywhere on the page
  2. Step 2Set quality 85%Already selected for you
  3. Step 3Download the resultOne file or a zip

Resizing a single photo is straightforward: pick a longest edge and the image scales to it. Resizing a folder is where the confusion usually starts, because most folders mix portrait and landscape shots, and one longest-edge setting does not mean every output ends up the same pixel size — it means every output ends up the same size along its own longest edge, which is a different thing entirely.

Set the limit to 1600px and a landscape photo becomes 1600 wide by whatever its proportional height is; a portrait shot from the same folder becomes 1600 tall by whatever its proportional width is. Both respect the limit, but their dimensions look nothing alike side by side, and that is correct behaviour rather than an inconsistency to fix.

Files already smaller than your setting are left exactly as they are rather than being stretched up to match the rest of the batch. A folder that mixes a handful of thumbnail-sized images with full-resolution originals will keep producing a genuinely mixed set of output dimensions, because enlarging the small ones would add no real detail — only bytes.

Quality preserved

Longest edge, not fixed size

"Resize to 1600px" sounds like a fixed output size, but what actually gets set is a ceiling on the longer of the two dimensions. A square photo, a wide landscape and a tall portrait each end up with different width-by-height numbers after the same setting is applied — all three are correctly sized for their own shape, and none of them is stretched or cropped to force a uniform frame.

Not sure it held up? Every result has a Compare button — drag the divider to see your original against the processed version at full size.

Common questions

Why don't all my resized photos end up the same pixel dimensions?

Because the setting caps the longest edge, not the exact size. A landscape and a portrait photo resized to the same limit end up with different width-by-height numbers — both are correctly sized for their own orientation.

Will this stretch my smaller images to match the bigger ones?

No. Any file already below your chosen limit is left untouched. Enlarging it would only add file size, not real detail, so the batch ends up with genuinely mixed dimensions rather than a forced uniform size.

What longest-edge setting should I use for a batch going on a website?

1600px comfortably covers most page layouts, including high-density screens. Go smaller, around 800px, for a gallery of thumbnails where the images are shown much smaller than their source.

Can I resize a batch and compress it to a target size in the same pass?

This page resizes only, at a fixed quality. If you need an exact size in kilobytes for a batch, use the bulk compressor instead — that page searches quality per file to hit your target.

Private by design.Files are read and processed by your own browser. Nothing is sent to any server.