Cadmeo

Image Resizer

Choose an image

Pick a file above and the resized version appears here. Nothing is uploaded. The image is read and processed in this page.

Resizing takes an image to exact pixel dimensions or scales it by percentage, and saves as JPEG, PNG or WebP. Large reductions are done in stages rather than one jump, which is the difference between a sharp result and a soft one, and it is the thing most browser-based resizers get wrong.

How it works

When a browser shrinks an image by more than about half in a single draw, it switches to a cheap sampling filter that simply throws pixels away. Detail that should have been averaged into the result is discarded, and the output looks soft and aliased.

  • The image is halved repeatedly until one more halving would overshoot, then drawn once at the target size. A 4000px image heading for 200px goes 2000, 1000, 500, 250, then 200.
  • Each intermediate step uses high-quality smoothing, so detail is averaged rather than dropped.
  • Keeping the aspect ratio derives the locked dimension from the exact ratio rather than from the rounded one, so repeated resizes do not drift.
  • Enlarging cannot add detail. Scaling a 200px image to 800px interpolates between the pixels that are there; it does not recover anything.

The file is read with the browser file API and processed on a canvas in this page. Nothing is uploaded, which matters for photographs more than for most file types.

Examples

A photo down to a thumbnail

From

4000 × 3000

To

200px wide

Result

200 × 150, drawn in 5 steps

The area factor is 300× smaller. Done in one draw the result is visibly soft; stepped down it holds its edges.

Halving by percentage

Scale

50%

Result

Both dimensions halved, area quartered

Halving each side quarters the pixel count, which is why a 50% resize saves far more file size than it sounds like it should.

A ratio that does not divide evenly

From

1920 × 1080

To

500px wide

Result

500 × 281

1080 × (500/1920) is 281.25, rounded to 281. The locked dimension is computed from the exact ratio so the shape stays right.

Frequently asked questions

Why does resizing here look sharper than in other browser tools?

Because large reductions are done in halving steps. A browser drawing a 4000px image straight down to 200px uses a fast filter that discards pixels rather than averaging them. Stepping down keeps every pixel contributing to the result.

Can I make a small image bigger without losing quality?

Not really. Enlarging interpolates between existing pixels. It invents plausible values. It does not recover detail that was never captured. Up to about 150% is usually acceptable; beyond that the softness is obvious. Machine-learning upscalers guess convincingly, which is a different thing from accuracy.

Which format should I save as?

JPEG for photographs, WebP for photographs where the destination supports it since it is typically 25 to 35% smaller, and PNG for anything with sharp edges, flat colour or transparency. Saving a photograph as PNG produces a very large file for no visible benefit.

Does resizing reduce the file size?

Substantially, because file size tracks pixel count. Halving both dimensions quarters the pixels, which usually cuts the file to roughly a quarter. Resizing saves far more than adjusting compression quality does, which is why it is the first thing to try.

Is my photo uploaded?

No. It is read with the browser file API and drawn to a canvas in this page. No network request carries the image, which is worth knowing before putting personal photographs into any web resizer.

Compared with

  • Image Resizer vs Image Compressorthe image is larger than it will ever be displayed, which is true of almost every photo straight from a camera or phone : compared with image-compressor
  • Sharpen Image vs Image Resizerthe image is larger than it needs to be, which is what caused the softness in the first place : compared with sharpen-image