Resize Images

Resize JPG, PNG and WebP images to exact pixel widths or a percentage in your browser. Free and private, no upload, batch resize, aspect ratio kept.

🌐 Español

Drop your files here (.jpg, .jpeg, .png, .webp)

🔒 Private by design: your files are processed locally in your browser and never uploaded to any server.

The height is calculated, never chosen

Every option on this page describes one number: a width, or a percentage of the original. The height is then derived from your image’s own proportions and rounded to a whole pixel. There is no way to type both edges, and that is on purpose, because typing both is how people accidentally squash faces.

The arithmetic is unremarkable but worth spelling out. Pick 1920 px wide for a 4000x3000 photo and the tool computes 3000 multiplied by 1920 divided by 4000, giving 1440, so you get 1920x1440. Pick 50% and both edges halve to 2000x1500. Occasionally the rounding lands a pixel away from the round number you had in mind, which is the correct behaviour rather than a defect: the alternative is a fractional pixel that no format can store.

If you need a specific shape rather than a specific size, resizing is the wrong tool for that step. Change the shape first with Crop Image, which trims to a ratio, and resize the result. Working the other way around leaves you resizing pixels you are about to throw away.

Percentages for a mixed batch, pixel widths for a fixed slot

The two kinds of option answer different questions. A percentage is relative, so every file in a mixed batch shrinks by the same proportion and their relative sizes are preserved. That is what you want for a folder of holiday photos taken on two different cameras, or for an archive pass where nothing has a specific destination.

An exact width is absolute, so every file comes out the same width regardless of what it started at. That is what a website template, a marketplace listing or a document layout actually needs, since the slot is a fixed number of pixels and a 4000 px image and an 800 px image both have to end up filling it identically.

What the presets are sized for

1920 px is a full-HD screen’s width, which makes it the practical ceiling for a web hero image or a desktop wallpaper. 1280 px covers general web use and email, where the difference from 1920 is invisible but the file is much smaller. 1080 px matches the widest image an Instagram feed post is displayed at. 640 px is thumbnail territory, for a gallery grid or a list view. 600 px exists for one specific reason: a 2 by 2 inch passport print at 300 dots per inch.

For anything else, Custom width (set below) takes any value from 1 to 10000 pixels, entered in the Custom width in px (used with “Custom width”) box. Ten thousand is a deliberate ceiling; browser canvases have their own limits above that, and a resize that exceeds them fails rather than degrading gracefully.

Resizing a batch

  1. Drop your JPG, PNG or WebP files into the box above, or use Choose files. Files accumulate across drops, so a batch can be assembled from several folders.
  2. Choose a New size. Percentages shrink proportionally, pixel widths make everything the same width.
  3. For a size the list does not cover, choose Custom width (set below) and type a width into the number box beneath it.
  4. Click Resize Images. The progress bar steps forward once per completed file.
  5. Download the results. Each filename carries its own new dimensions, for example photo-1920x1440.jpg.

Asking for a width larger than the original

Nothing stops you entering a width above the source’s own. The browser will interpolate the extra pixels using high-quality smoothing, and the result is a bigger file that is softer than the original rather than more detailed, because the detail was never captured. Small enlargements are fine; large ones look exactly like what they are.

When the goal really is more detail, an interpolating resize is the wrong mechanism entirely. Upscale Image runs a model that reconstructs plausible detail instead of averaging neighbours, and for artwork that exists as vectors, SVG to PNG rasterizes the real paths at any size with no interpolation at all.

What the resized copy no longer carries

The output is drawn fresh onto a canvas, and a canvas holds pixels and nothing else. So the copy you download has no EXIF block: no GPS coordinates, no camera model, no capture timestamp, and no embedded colour profile either. For most uses that is a quiet bonus, and on a wide-gamut photo it can mean a very slight shift in how saturated colours render in a colour-managed viewer.

If you wanted the metadata gone but the dimensions intact, Remove EXIF Data from Photos is the direct route for a JPG or a PNG, the two formats it accepts. If the file is still too heavy after resizing, Compress Images applies a quality setting on top, though that number only reaches a JPG or a WebP; a PNG there responds to the downscale option alone. Both, and everything else in this family, are listed on the image tools hub.

See it in action

Screenshot of the Resize Images tool with sysfenix-sample.png (466 KB) loaded, New size set to 50% (half size), Custom width in px (used with "Custom width") set to 1280
Resize Images mid-process: sysfenix-sample.png (466 KB) loaded, New size set to 50% (half size), Custom width in px (used with "Custom width") set to 1280.
Screenshot of the Resize Images result screen showing sysfenix-sample-320x210.png ready to download (109 KB, 77% smaller)
The finished result: sysfenix-sample-320x210.png ready to download (109 KB, 77% smaller). The download link is a local blob URL — the file never leaves your device.

Frequently asked questions

Can I set the height instead of the width?

Not directly. Every option here is expressed as a width or as a percentage, and the height follows from your image's own proportions. To hit a specific height, work out the matching width from the aspect ratio first, or crop to one of the four preset ratios the crop tool offers and resize that.

Why is my resized photo 1920x1441 instead of 1920x1440?

Rounding. The height is computed from the source ratio and then rounded to a whole pixel, and a source whose dimensions are not a tidy multiple of the target can land one pixel off the number you expected. Nothing is stretched by that pixel; it is the closest whole-pixel match to your original proportions.

Do the percentage options work for enlarging?

No. Percentages are capped at 100, so 50% and 25% only ever shrink. Enlarging is done through an exact width instead, so pick a preset above your image's current width, or type one into the custom width box, up to 10000 px.

Does resizing a JPG lose quality beyond the smaller size?

A little. The image is decoded, redrawn at the new dimensions with high-quality smoothing, and re-encoded, and a JPEG re-encode always discards a small amount on top of whatever the original had lost. PNG is the exception, since it is rewritten losslessly at the new size. WebP is not an exception, because no quality value is passed for it either, so the browser encodes it in its own lossy mode at its own default, exactly as it does for the JPEG. In practice the reduction in dimensions dominates and the re-encode is invisible.

What is the 600 px preset for?

Printing a passport-style photo. A 2 by 2 inch print at 300 dots per inch is 600 pixels across, which is why that figure appears on so many application forms. Requirements differ by country and several of them specify millimetres or a face-height percentage as well, so check the actual specification before you rely on it.

Will the resized files overwrite my originals?

No. Each output is named after the source with its new dimensions appended, so photo.jpg saved at 1920 pixels wide arrives as photo-1920x1440.jpg. That also makes a batch self-documenting, since you can read each file's size straight off its name.

Related tools