Resize Image

Give a width, a height or a percentage, and get the picture back at that size.

Runs on your deviceImagesWorkingNo account needed

What this tool does

Resize Image redraws the picture at a new pixel size. In dimensions mode you can give a width, a height, or both: leave either box at 0 and the missing number is worked out from the original proportions, so a 4000 × 3000 photo asked for a width of 800 comes back at 800 × 600. Percentage mode scales images on both sides at once, anywhere from 1% to 400% of what you started with.

When a width and a height are both filled in, the Keep the aspect ratio checkbox decides what those two numbers mean. Left on, they describe a box the picture has to fit inside, so 800 × 800 applied to that same landscape photo still produces 800 × 600 rather than a square. Switched off, the image is stretched to exactly the numbers typed, which visibly distorts faces, logos and anything else with a shape you would recognise. Give only one of the two and the ratio is followed either way — the checkbox has nothing to decide.

Big reductions are done in stages rather than in one jump: the canvas is halved repeatedly until it is close to the target, then drawn once at the final size. That is what keeps a 6000 px photo taken down to 400 px looking smooth instead of speckled with the aliasing a single-step redraw leaves behind. Output can be JPG, PNG, WebP or AVIF, or left at Same as the input — though "same" holds only for the formats a canvas can write, so a GIF, a BMP or an SVG all come back as PNG whichever way that box is set.

Three things this tool will not do, all worth knowing up front. It cannot invent detail: Never enlarge is on by default, and with that switched off the browser interpolates the pixels already present, so a 300 px image pushed to 1200 px is larger and softer rather than clearer — Upscale Image runs a resampler built for enlarging instead. It cannot keep what the canvas discards: re-encoding drops EXIF and any embedded colour profile, an animated GIF survives only as its first frame, and HEIC, TIFF, RAW and PSD files cannot be decoded in a browser at all. And it will not go past 20000 px on a side, a request that is refused with an error — in practice sizes well under that ceiling can fail too, because browsers cap the total pixel area of a single canvas.

How to use it

  1. Add your images. Readable inputs are JPG, PNG, GIF, BMP, WebP and SVG, with AVIF on browsers new enough to decode it. Several files at once is fine — each one is resized with the same settings, one after another. Folders are not read, so pick the files themselves.
  2. Choose pixel dimensions or a percentage. Dimensions mode takes a width and a height, each capped at 20000 px, and either of the two may be left at 0 and derived from the other. Percentage mode replaces both boxes with one slider covering 1% to 400%.
  3. Decide whether the ratio is locked. Keep it on and the two numbers act as a bounding box the picture fits inside. Turn it off only when the output has to match an exact size and stretching is acceptable.
  4. Choose what the file is written as. The format list offers Same as the input alongside JPG, PNG, WebP and AVIF. Quality starts at 88 and moves only the lossy three; the background colour has exactly one job, filling transparent pixels when the output is JPG.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Fitting a content management system's width limit

Many themes render images at a fixed column width. Type that width, leave the height at 0, and the height follows the original proportions without any arithmetic on your part.

Making a set of screenshots consistent

Documentation looks wrong when captures arrive at four different sizes. Add the whole set, give one width, and every file comes out matching.

Cutting a camera photo down to email size

A 24-megapixel JPG at 25% lands near 1500 × 1000 — still more than an inline preview shows, at a small fraction of the bytes to send.

Hitting an exact banner or avatar size

Crop Image first to get the right shape, then resize the crop to the required pixels — that reaches an exact size without the stretching an unlocked ratio would cause.

Questions

Does the picture leave this computer?
No. Decoding, scaling and encoding all happen in this browser tab through the canvas, and no request carries the file anywhere. Switch the network off once the page has loaded and a resize still finishes — a reload would not, because there is no offline cache.
Why is the result smaller than the width and height I asked for?
With the ratio locked, the two numbers are a box rather than a target, and the image is fitted inside it — so the side with less room decides the outcome. Never enlarge can also pull it back: when the request is bigger than the original, both sides are scaled down together until neither exceeds the source, and the summary line says so.
Can it make a small image bigger?
Yes, once Never enlarge is turned off, as far as 400% or any size up to the 20000 px ceiling. Understand what you get: the pixels are interpolated, not reconstructed, so the picture is larger without being sharper. Upscale Image is the tool aimed at enlarging.
Does resizing lose quality?
Reducing a picture throws away pixels permanently, so scaling down then back up will not return the original. Writing to JPG, WebP or AVIF adds the encoder's own loss on top, and PNG output adds none. Always resize from the original file rather than a previous result.
What happens to the EXIF and camera data?
All of it is dropped. The canvas hands back raw pixels, so the date, camera model, GPS tags and any embedded colour profile do not survive the round trip. Remove EXIF exists for when that removal is the point rather than a side effect.
Can I resize an animated GIF?
Not in a way that keeps it moving. Only the first frame is decoded, and because the canvas cannot write GIF here, Same as the input produces a still PNG. Treat this as a way to change dimensions on a single frame, not to shrink a moving image.
What comes back if I feed it an SVG?
A raster PNG. The browser draws the vector once at the size you asked for and the pixels are what get saved, so the result no longer scales cleanly. When the file has to stay a vector, change its width and height attributes in the markup instead of resizing it here.
Why was my HEIC or TIFF file refused?
No browser ships a decoder for either, so there is nothing to draw. HEIC Converter handles iPhone photos on the OmniKitly server; a TIFF or a RAW file needs exporting to JPG or PNG before this tool can read it.

Related tools