Media Optimizer

Choose an image, pick the largest side you want, and this page resizes it with your browser's own canvas engine. You see the original and optimized dimensions and file sizes, then download the result.

Private by design: the image is processed locally in this tab. It is never uploaded, stored, or sent anywhere — there is no server involved at any step.

Resize an image

Choose an image or drop it here

No file selected yet.

The longest side of the image will be shrunk to this many pixels; aspect ratio is preserved. Images already smaller are left alone.

Why resize images at all?

Cameras and screenshots routinely produce files far larger than the places you want to send them. Email attachments, chat apps, and content platforms each have size or dimension limits, and a 12-megapixel photo is wasted pixels when the receiving side displays it at 1,000 px.

This tool shrinks the longest side to your chosen bound and scales the other side to match, so the picture never looks stretched. It only ever makes images smaller — it never upscales.

How it works

When you choose a file, the page reads its dimensions, computes a scaled-down size using the maximum dimension you set, and redraws the image onto a hidden <canvas> element at the new size. The canvas is then encoded back to a file in the browser. Everything between "choose" and "download" happens in JavaScript in this tab, so your image never travels over the network.

The result card compares the original and optimized dimensions and file sizes so you can see exactly what you gained before downloading.

Privacy and limitations

Privacy. This page makes no network requests with your image. There is no upload endpoint, no analytics on file names or contents, and no server-side processing. Re-encoding through the canvas also strips embedded metadata such as EXIF and GPS data from the downloaded file — a useful side effect if you are sharing photos.

Limitations. This prototype resizes one image at a time. The formats you can load depend on what your browser can decode (JPEG, PNG, and WebP are widely supported; others vary), and output is re-encoded as PNG, JPEG, or WebP. Canvas re-encoding does not preserve EXIF, animation frames, or color profiles. A lossless PNG can sometimes come out larger after re-encoding, and there is no batch mode or quality slider yet — check the result card before downloading.