Image Resizer

Scale images down to the dimensions you actually ship. Up to 5 images per batch.

100%
Up to 5 images per batch

How to use

01

Load up to five images

Sources can be PNG, JPEG or WebP and can be mixed freely. Each is checked against the 25 MB and 8192 pixel limits before it joins the queue.

Tip: Work from the largest original you have. Scaling up something already small will not add detail that was never captured.
02

Set the scale percentage

The slider runs from 10 to 100 percent and applies to the whole batch. Aspect ratio is preserved automatically, so both dimensions scale together.

Tip: Work out the percentage from the width you need. A 4000 pixel image at 20 percent gives you 800.
03

Process and download

Each image is resampled once and written out as PNG, then packed into a ZIP with its original filename intact.

Tip: For web delivery, resize here and then run the output through the WebP tool. Resizing first is what saves the most bytes.

Key Features

Single resampling pass

The image is drawn once from full resolution straight to the target size. Nothing is scaled in stages, so none of the softening that comes from repeated resampling accumulates.

Aspect ratio locked

Scaling is expressed as one percentage applied to both dimensions, which makes it impossible to accidentally stretch an image by editing one side and forgetting the other.

Lossless output

Results are written as PNG, so the only change to your pixels is the resampling you asked for. No lossy re-encoding happens behind your back.

Applies across the batch

One percentage covers all five images in the queue, which is what you want when you are preparing a set of assets that need to be visually consistent.

Nothing is uploaded

Decoding and resampling both run on a canvas inside a Web Worker in your browser. No image data is transmitted and the tool works offline.

Handles very large sources

Images approaching the browser's maximum canvas dimensions are routed through a working buffer first, which prevents the blank output that otherwise appears on hardware with a lower ceiling.

Frequently Asked Questions

Can I resize by entering exact pixel dimensions?+
Not directly. Scaling is set as a percentage of the original, which keeps the aspect ratio locked by construction. Divide your target width by the source width to get the percentage you need.
Why can I only scale down and not up?+
Because scaling up does not create detail, it only interpolates between pixels that already exist. The result is a larger file that looks softer than the original, which is almost never what someone actually wants.
Does resizing lose quality?+
Downscaling necessarily discards pixels, which is the point. What it should not do is soften the image more than that requires, and a single resampling pass to the final size is the way to avoid it. Output is PNG so nothing further is lost to compression.
Should I resize before or after converting format?+
Resize first. Encoding a large image and then shrinking it means you spent effort compressing pixels you were about to throw away, and the second pass re-compresses already-compressed data.

Resize here, then take the PNG output to the WebP or AVIF tool for the final encode.

Does the percentage apply to every image in the batch?+
Yes, one setting covers the whole queue. Since it is a percentage rather than a fixed pixel size, images of different original dimensions all shrink proportionally rather than being forced to match each other.
Why the five image limit?+
A decoded bitmap occupies roughly four bytes per pixel regardless of how small the compressed file is, so a 4000 by 3000 image is about 48 MB in memory. Five at once is what a modest laptop or a phone can hold without the browser terminating the tab.

Format Comparison

Feature Specificationimage resizingAlternative
Resampling passesOne, straight to targetSeveral, compounding softness
Aspect ratioLocked by constructionEasy to distort
Output compressionLossless PNGOften re-encoded lossily
Very large sourcesBuffered to stay in platform limitsCan silently produce blank output
Where it runsEntirely in your browserUploaded and processed remotely

Technical Overview & Specifications

Deep dive into image resizing architecture and processing.

Show Details

Platform Overview

Most images on the web are far larger than the space they occupy. A photograph straight off a phone is four thousand pixels wide; the container it is being dropped into is eight hundred. The browser will dutifully download all four thousand pixels worth of data, decode the whole thing into memory, and then throw three quarters of it away on every single page load for every single visitor. Resizing before you ship is the least glamorous performance work available and reliably one of the most effective, because it reduces bytes on the wire, decode time on the client, and memory pressure on whatever device is unlucky enough to be rendering it.

This tool scales down in a single pass. You set a percentage between 10 and 100, and the image is drawn once from its full resolution source into a canvas of the target size. One resample, not several: repeatedly halving an image, or scaling it down and then back up, softens edges a little each time and those losses accumulate visibly. Output is PNG so the resize itself introduces no compression loss on top of the resampling. Five images per batch, all processed locally, and if you want to change format afterwards the WebP and AVIF tools will take the result.

What happens during a downscale

Resizing is resampling: the output grid does not line up with the input grid, so every destination pixel has to be computed from some neighbourhood of source pixels. Browsers do this with a filtered interpolation rather than nearest-neighbour sampling, which is why a canvas downscale looks smooth instead of aliased and full of jagged edges. The important consequence is that resampling is not free and it is not reversible. Each pass makes a set of decisions about how to blend neighbouring pixels, and doing it repeatedly compounds those decisions until edges that were crisp in the original have been averaged into something noticeably softer.

That is the reason this tool computes a single target size and draws once. Inside the worker the source is decoded to an image bitmap at full resolution, a target width and height are calculated from your percentage, and one drawImage call maps the source rectangle onto a canvas of exactly those dimensions. Any crop you have set is applied in the same call, as the source rectangle, so cropping and scaling together still amount to one resample rather than two. Before any of this, sources close to the browser's maximum canvas size are passed through a working buffer sized to stay within the platform limit, because exceeding it does not throw an error, it silently yields a blank canvas.