Image Resizer & Compressor

[ RESULT ]

Choose a photo to resize it.

[ 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.

[ NEXT ]
86Image Metadata RemoverTo strip a photo without re-encoding it
41QR Code GeneratorThe other image this site makes in your browser
44Base64 Encoder / DecoderIf you need the image as text
39Unit ConverterFor everything that is not pixels
[ 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.