Resize an image
Change an image's dimensions free, with no signup and no watermark. Set a width, a height or both, keep the aspect ratio, and pick the output format.
Drop files here (up to 50)
or paste from the clipboard
Preview
Choose an image and the result appears here as you change the options.
Shows the framing and geometry exactly. Compression quality is not simulated.
How it works
The image is decoded with createImageBitmap and drawn into an OffscreenCanvas of the target size inside a Web Worker, with the browser's image smoothing set to high quality so downscaling does not alias. If only one dimension is given, the other is derived from the source ratio so the picture is never distorted by accident. When both are given and the ratio is kept, the image is fitted inside that box rather than filled, so nothing is cropped. No wasm module is downloaded.
Measured results
These figures come from running this exact tool over a fixed set of sample files on every build, not from an estimate.
| Sample file | Settings | Before | After | Change |
|---|---|---|---|---|
| logo-transparent.avif | to 1280px wide, WebP | 3 KB | 53 KB | +1484% |
| logo-transparent.png | to 1280px wide, WebP | 19 KB | 30 KB | +63% |
| logo-transparent.webp | to 1280px wide, WebP | 8 KB | 31 KB | +274% |
| photo-gradient.avif | to 1280px wide, WebP | 15 KB | 47 KB | +206% |
| photo-gradient.jpg | to 1280px wide, WebP | 504 KB | 219 KB | −57% |
| photo-gradient.png | to 1280px wide, WebP | 3.36 MB | 210 KB | −94% |
| photo-gradient.webp | to 1280px wide, WebP | 519 KB | 201 KB | −61% |
| screenshot-text.png | to 1280px wide, WebP | 219 KB | 82 KB | −63% |
| logo-transparent.avif | to 640px wide, JPG | 3 KB | 16 KB | +377% |
| logo-transparent.png | to 640px wide, JPG | 19 KB | 15 KB | −20% |
| logo-transparent.webp | to 640px wide, JPG | 8 KB | 15 KB | +77% |
| photo-gradient.avif | to 640px wide, JPG | 15 KB | 21 KB | +37% |
| photo-gradient.jpg | to 640px wide, JPG | 504 KB | 29 KB | −94% |
| photo-gradient.png | to 640px wide, JPG | 3.36 MB | 29 KB | −99% |
| photo-gradient.webp | to 640px wide, JPG | 519 KB | 29 KB | −94% |
| screenshot-text.png | to 640px wide, JPG | 219 KB | 44 KB | −80% |
- logo-transparent.avif: from: 512x512 · to: 1280x1280
- logo-transparent.png: from: 512x512 · to: 1280x1280
- logo-transparent.webp: from: 512x512 · to: 1280x1280
- photo-gradient.avif: from: 1600x1000 · to: 1280x800
- photo-gradient.jpg: from: 1600x1000 · to: 1280x800
- photo-gradient.png: from: 1600x1000 · to: 1280x800
- photo-gradient.webp: from: 1600x1000 · to: 1280x800
- screenshot-text.png: from: 1280x800 · to: 1280x800
- logo-transparent.avif: from: 512x512 · to: 640x640
- logo-transparent.png: from: 512x512 · to: 640x640
- logo-transparent.webp: from: 512x512 · to: 640x640
- photo-gradient.avif: from: 1600x1000 · to: 640x400
- photo-gradient.jpg: from: 1600x1000 · to: 640x400
- photo-gradient.png: from: 1600x1000 · to: 640x400
- photo-gradient.webp: from: 1600x1000 · to: 640x400
- screenshot-text.png: from: 1280x800 · to: 640x400
Benchmark run 2026-08-02.
What to watch out for
Scaling a 400 pixel wide image up to 1600 gives you a larger, softer version of the same information. There is no detail in the file to recover, so upscaling is best avoided when the original can be found instead.
The canvas pipeline decodes one frame, so an animation is reduced to its first image. Resizing animation while preserving it needs a frame-by-frame encoder, which this tool does not use.
Only pixels pass through the canvas, so camera data and GPS coordinates do not survive. Rotation stored purely as an EXIF tag is applied during decode and then discarded, which is usually the desired outcome.
Limits
Files up to about 50 MB work reliably. Beyond that, the ceiling is your device's memory rather than any rule we impose — the work happens on your own machine. Tested in Chrome 140, Firefox 143, Safari 18.
Setting one dimension is usually the right move
The most common mistake with resizing is specifying both dimensions and accidentally distorting the picture. Leaving one at zero avoids this entirely: give a width of 1280 and the height follows from the original proportions, whatever they were. That is what you want for a batch of mixed portrait and landscape photos, where no single pair of numbers suits all of them.
When both dimensions are set with the ratio kept, the image is fitted inside that box. A 4000×3000 photo constrained to 1280×1280 comes out 1280×960 — inside the limit on both axes, with nothing cropped and nothing stretched. Turning the ratio option off forces the exact dimensions and will squash the image, which is occasionally what you need for a fixed-size slot.
Why downscaling quality varies between tools
Reducing an image means throwing away pixels, and how you throw them away decides whether the result looks crisp or fuzzy.
The naive approach samples one source pixel per destination pixel. Fine detail then either survives intact or vanishes depending on where it happens to land, which produces the shimmering, jagged look familiar from cheap resizers, especially on text and thin lines.
Good downscaling averages across all the source pixels that contribute to each destination pixel. This tool asks the browser for high-quality smoothing, which is the same well-optimised native path used to render images throughout the browser. For ordinary photographs and screenshots it is visually equivalent to a dedicated resampling library at a fraction of the download.
Choosing the output format
The three options are genuinely different tools rather than preferences.
PNG is lossless and keeps transparency. Right for logos, screenshots, diagrams and anything with text or sharp edges. Files are larger.
JPG is lossy with no transparency. Right for photographs, where it is dramatically smaller at quality 85 or above with no visible difference.
WebP is lossy but does support transparency, and is typically 25 to 35% smaller than JPG at comparable quality. Right for the web, and supported by every current browser. Its one drawback is that some older desktop software still will not open it.
Your files never leave your browser. Last updated 2026-07-31.
Next step
Your file is already here in this browser, so the next tool starts with it loaded.
Related tools
- Convert PNG to JPGConvert PNG images to JPG free, with no watermark and no daily limit. Pick the quality and the colour that replaces transparency. Nothing is uploaded.
- Convert JPG to PNGConvert JPG photos to lossless PNG free, with no signup and no watermark. Useful when a tool refuses JPEG or you need to edit without further loss.