FreeToGenerate.com

100% free · no sign-up · nothing leaves your browser

Everything happens inside your browser — the image is not sent to any server, and nothing is saved.

Also available in: Español · Português · Français · العربية

Free Image Resizer: Resize, Compress and Convert in Your Browser

Resize, compress and convert images without a single byte leaving your device.

What is an image resizer?

An image resizer changes the pixel dimensions of a photo, and usually its file size along with them, so it fits wherever you are putting it: a product listing, an email attachment cap, a forum's upload limit. This one does that entirely inside the browser tab you are reading this in. Drop a file in and it is read, decoded, redrawn and re-encoded by the browser itself; nothing is uploaded, so there is no server that ever sees the image and nothing to delete afterwards.

Most sites that call themselves an image resizer work by sending your file to a server, resizing it there, and handing back a link. You have no way to know what happens to the original in between. This one skips that step entirely — the resize, the recompression, even the format conversion between JPEG, PNG and WebP happen in memory on your own machine, and the result downloads straight to your downloads folder.

How to use it

  1. Drop in an image. Drag a photo onto the drop zone, or click it to pick a file. Once it loads you will see a preview alongside the original's dimensions, file size and format.
  2. Choose how to resize it. Pick Width, Height, Percentage or Exact size from the pills and fill in the matching field. Exact size gives you both dimensions at once, with Lock aspect ratio on by default so the image fits the box rather than stretching to it; tick Allow enlarging if you actually want to scale a small image up.
  3. Pick a format, check the result, download. Choose JPEG, PNG or WebP, then drag the Quality slider — it greys out for PNG, since PNG is lossless and does not use one. The new dimensions, new file size and size saving update live; hit Download when you are happy, or load another image and start over.

What happens to the file

A canvas, the part of the browser doing the actual resizing, holds pixels and nothing else. So the file that comes out has no EXIF block at all: no GPS coordinates, no camera model or shutter speed, no embedded colour profile. If you are about to post the photo somewhere public, that is exactly what you want — the location data is gone along with everything else. If you were resizing a copy to archive, it is a real loss worth knowing about: you are trading the original's metadata for a smaller, cleaner file, not keeping both.

One thing that does survive is which way up the photo is. Phones often store pixels sideways and add an EXIF tag saying to rotate on display — decode without asking for that tag to be honoured and you get a sideways image, which is the classic bug in canvas-based resizers. This tool asks the browser to apply the orientation while decoding, so what you see in the preview is what downloads. There is a matching trap on the way out: JPEG has no alpha channel, so saving a transparent PNG as JPEG would paint the transparent areas black. This tool fills the canvas white first.

You can save as JPEG, PNG or WebP. HEIC, AVIF and animated GIF can usually be read on the way in, but they have to leave as one of those three, and an animated GIF loses its animation, since only the first frame gets drawn. Worth knowing before you hit download: re-encoding a file that is already compressed, especially a JPEG, can make it bigger rather than smaller, because the tool is encoding from decoded pixels with no memory of the original's compression choices. The size-saving figure shows that as a negative number rather than hiding it, and every JPEG re-encode loses a little more detail even at quality 100 — so it is worth resizing from the original file rather than a copy of a copy.

The arithmetic and the ceilings

Locking the aspect ratio does what it says with real precision: across 14,820 measured resizes, the worst drift on an image with a short side of 50 pixels or more was 0.987 percent, on a 1013x341 image brought down to 150x50. Round numbers land exactly — 1920x1080 to a width of 800 comes out 800x450 on the nose — and the rest land within a rounding error, because a target like 1000x667 to a width of 800 has a true height of 533.6 pixels, and that has to round to 534 somewhere.

Below about 50 pixels, there are not enough pixels left for a fraction of one to matter, so the ratio cannot hold exactly. Ask a 2904x23 image for a width of 64 and the true height works out to 0.51 of a pixel; the tool rounds that up to a whole image rather than down to a blank one, so you get 64x1. It will never hand you a zero-height file — a one-pixel side is a shape, an empty file is an error.

Enlarging is off by default, because stretching a 400x300 image out to a width of 4000 adds pixels without adding any detail — it stays 400x300 unless you tick Allow enlarging. Output is capped at 16,777,216 pixels, 4096 by 4096, with anything bigger scaled down proportionally and flagged on the page: an 8000x8000 image comes out 4096x4096, a 20000x1000 panorama comes out 18317x915, deliberately short of the limit rather than exactly at it, because rounding both sides to the nearest whole pixel can carry the total back over that ceiling — an earlier version of this tool put a 20000x1000 request 2,072 pixels over the limit before it was fixed to round down instead. The same care applies at decode time, which is where memory actually runs out on a phone: a 50-megapixel photo costs about four bytes per decoded pixel, roughly 200 MB, no matter what size you actually asked for, so this tool hands the target size to the browser's decoder up front and lets it downsample while decoding rather than allocating the full image first.

Why is it free?

FreeToGenerate.com runs on tools like this one: no accounts, no watermarks, no upload limit disguised as a pricing tier. That is easier to keep true here than almost anywhere else, because there is genuinely nothing to pay for on our end — the resizing happens on your device, using your battery and your browser's own image decoder, not a server we would have to provision and pay for by the gigabyte.

Most free resizers are free because storage and bandwidth are cheap enough to eat, right up until a photo turns out to cost more to host than it is worth. There is no version of that trade to make when the file never leaves your tab. This one stays free because there is no server cost to recoup in the first place.