Image Resizer & Compressor

Files & data

Resize, compress and convert a photo, the right way up and in your browser.

Result

Choose a photo, set the size, then press Resize.

How to use

What it's for

Make a photo smaller — fewer pixels, a smaller file, or both — so a form, an email or a website will accept it.

Before you start

Have the photo on this device, and know the limit you are aiming for, such as "maximum 300 KB" or "600 × 600 pixels". The photo is worked on in your browser and is never uploaded.

  1. Choose the photo

    Press Choose a file and pick the photo, or drag it onto the box. It is read here in your browser — Nothing leaves this page.

  2. Pick how to measure the new size

    In Fit by, Longest edge sets the bigger side and keeps the shape, which suits most photos. Width or Height fixes one side when a form asks for it, and Percentage scales both. Then type the number in Size.

  3. Pick the format

    In Format, choose JPEG for a photo. PNG is for logos and screenshots with sharp edges or a see-through background — a photo saved as PNG usually comes out bigger, not smaller. Keep the format leaves it as it was.

  4. Fit a file-size limit, if you have one

    Tick Aim for a file size and type the limit in Target (KiB), and the page tries different qualities until the file fits. With no limit, use Quality instead: lower gives a smaller file and a slightly softer picture.

  5. Resize, check, then save

    Press Resize. Look at the preview and the sizes under it, then press Download to save the new copy. Your original file is not changed.

Reading the result

  • Original: how big the file you chose was.
  • Result: how big the new copy is, with its new width × height in pixels beside it.
  • Saved or Larger: the difference between the two. Larger usually means the format or the quality does not suit this picture.
  • With a target set, a note says which quality the page settled on to fit it.

If it goes wrong

  • A note says the image will not fit the target: lower Size as well. Past a point, a picture only gets smaller by having fewer pixels.
  • An iPhone photo (HEIC) will not open: on the iPhone, set Camera to Most Compatible, or share the photo out of Photos, which converts it on the way.
  • A logo came back with a white box around it: JPEG cannot keep a see-through background, so choose PNG or WebP in Format.

What this is

A phone held sideways stores the photo sideways, with a small tag saying which way up it goes.

Every viewer honours that tag. A canvas does not, unless it is told to — and a canvas export carries no tag, so once the photo has been redrawn the information is gone and it stays rotated forever. That is why resized photos come out sideways in almost every tool on the web.

This page reads the tag with the Metadata Remover’s own parser and turns the pixels themselves before saving. One place knows which way up the picture goes.

And there are two things no tool can give you.

Enlarging adds no detail. It fills in between the pixels that exist, so what you get is a smoother, softer version of the same picture.

And re-encoding a JPEG loses something every time, even at quality 100 — which means “quantise as little as possible”, not “do not quantise”. It is why the Metadata Remover beside this page uses no canvas at all.

Questions

Why will it not take my iPhone photo?

Because an iPhone writes HEIC by default, and no browser except Safari on Apple hardware can decode one — the codec belongs to the operating system, not to the browser. Reading it here would mean downloading several megabytes of decoder before your photo could even be opened, which this page has not taken on. Two ways round it: set Camera to Most Compatible in Settings so the phone writes JPEG, or share the photo out of Photos, which converts it on the way. Either way what you get is a JPEG and this page will handle it.

Is my photo uploaded anywhere?

No. The file is read from your disk into this browser tab, resized by the browser itself, and handed back as a download. There is no upload and no server — you can watch the network tab while you use it. Every other resizer that asks you to upload first has your photo on somebody else’s disk before it does anything.

Why do resized photos usually come out sideways, and does this one?

A phone held sideways stores the photo sideways along with a tag saying which way up it goes. Viewers honour the tag; a canvas does not unless it is told to — and a canvas export has no tag, so once the photo is redrawn the information is gone and it stays rotated. This page reads the tag itself and turns the pixels the right way up before saving, so the result is upright permanently.

Does making it bigger make it sharper?

No, and no tool can. Enlarging fills in between the pixels that exist; it cannot recover detail that was never captured. What you get is a smoother, softer version of the same picture at a larger size. The page says so when you ask for one, rather than quietly producing it.

Why did my file get bigger instead of smaller?

Usually one of two reasons. Saving a photograph as PNG makes it several times larger — PNG is lossless and stores photographs very inefficiently, and it is for flat colour and sharp edges. Or the quality is set above what the original was encoded at, in which case the encoder spends more bytes preserving the compression artefacts that were already there.

How does “aim for a file size” work?

It encodes the image several times at different quality settings and keeps the best one that fits, narrowing the range each round. There is no formula for it: the same quality that gives 180 KB for a portrait gives 900 KB for a photo of leaves, so the only honest way to hit a target is to try. It stops after eight attempts and tells you what quality it settled on.

What if it cannot reach the size I asked for?

It says so, and gives you the smallest file it could make. Past a point a picture cannot be made smaller by throwing away more detail — the quality is already at the floor and what remains is the sheer number of pixels. Reduce the dimensions as well and it will fit.

My PNG logo came out with a black or white background.

That is JPEG, which has no transparency at all — every see-through pixel has to become something. This page paints it white rather than leaving it black, which is what most people expect, and warns you before you download when the image actually has transparency in it. Save it as PNG or WebP to keep it.

Does resizing a JPEG lose quality?

Yes, always, even at quality 100 — that setting means “quantise as little as possible”, not “do not quantise”. The blocks are decoded, resampled and quantised again, and every round trip softens it a little. If all you wanted was to strip the metadata, the Image Metadata Remover does that without re-encoding anything.

Is there a size limit?

Two, and both are about memory rather than policy. The file itself is capped where the page says, and the output is capped at 20,000 pixels on an edge — a canvas needs about four bytes per pixel while it is being drawn, so a 48-megapixel image is roughly 190 MB before a single byte is encoded. That is most of what a phone browser will give a tab.

The maths

What each format can hold
JPEGphotographs, no alpha
PNGflat colour, alpha
WebPboth, smaller
A photo as PNGseveral times larger
A canvas is four bytes a pixel while it is being drawn. A 48-megapixel photo is about 190 MB before a single byte has been encoded.
How a target size is hit

There is no formula. The same quality that gives 180 KB for a portrait gives 900 KB for a photo of leaves — more detail, more bytes. So it encodes repeatedly, narrowing the range each round, up to eight attempts. The only honest way to hit a target is to try.

Keep going

Important

The photo is read and redrawn in your browser and nothing about it is transmitted or stored. Resizing re-encodes the image, so some quality is always lost — and the result carries no metadata at all, including the orientation tag, which is why the pixels are turned the right way up before saving. Nothing you type here is sent to our servers — the calculation runs entirely in your browser.