Resize Image
Resize Image makes a picture smaller or larger — by pixel size, by percentage, or from a preset. Shrinking happens in halving steps rather than one big jump, which is what stops fine detail like hair, foliage and small text from breaking up into jagged edges. The new file is written on your own machine and never uploaded.
Drop images here
or drop anywhere on this page · Choose files · 100 MB
How does Resize Image work?
Resizing sounds like the simplest operation in imaging and is the one most often done badly. Every destination pixel has to be computed from some set of source pixels, and the rule for choosing that set is the whole difference between a sharp result and a mushy or speckled one.
Why a single scaling step is the wrong way down
When a browser draws a 4000-pixel-wide image into a 400-pixel-wide box, it samples a small neighbourhood around each destination pixel — typically bilinear, a handful of source pixels. But each destination pixel here covers a hundred source pixels, and ninety-odd of them are never looked at. The detail in them does not blur away; it aliases, turning fine texture into moiré patterns and thin lines into flickering dashes.
The fix is to step down by halves. Halving samples every source pixel exactly once, so nothing is skipped, and repeating it until the image is within a factor of two of the target averages all the discarded detail in properly. It is what every serious image library does internally and what a naive one-line drawImage does not — and it is why a photo resized here looks different from the same photo resized by a tool that skipped this step.
Fit, exact and percentage
Fit inside treats your numbers as a bounding box and scales the image until it fits, keeping the aspect ratio. This is what you want almost always: a 4:3 photo fitted into 1600 × 1600 comes out 1600 × 1200, not squashed into a square.
Exact forces both dimensions, which distorts anything whose ratio does not match. It is the right answer only when the destination genuinely demands specific pixels and the content can take it.
Percentage scales both dimensions by the same factor, which is the quickest way to say “half the size” for a batch of images that are not all the same shape.
Enlarging is off by default, and mostly a mistake
Scaling a 400-pixel image up to 2000 pixels cannot add detail that was never captured. Interpolation invents plausible intermediate pixels, and the result is a larger, blurrier file that is worse than the original in every respect except its dimensions. This tool will do it if you tick the box — sometimes a destination really does require a minimum size — but it does not do it by accident.
Aspect ratio, and what it is protecting you from
The ratio lock is not a convenience. A stretched photograph is immediately obvious to a viewer even when they cannot say why, because faces are the thing human vision is best at and a 10% horizontal stretch makes every face in the frame subtly wrong. Keeping the ratio and accepting whatever second dimension follows is nearly always right.
Resizing beats compressing
If you are trying to make a file smaller, dimensions are a far stronger lever than quality. Pixel count scales with the square of the dimension: halving the width and height leaves a quarter of the pixels, which typically takes 70–80% off the file before the quality setting is touched at all. An image displayed 800 pixels wide but stored at 4000 is paying twenty-five times over for nothing.
Where this runs
Entirely in this tab, using the browser's own image pipeline —createImageBitmap to decode, a canvas to scale,canvas.toBlob to encode. Nothing is uploaded, and each canvas is released as soon as its step is finished, because a 4000 × 3000 intermediate is 48 MB of pixel data that a browser is in no hurry to reclaim.
Input
photo.jpg 4032 x 3024 fit inside 1600 x 1600
Output
photo-1600x1200.jpg 1600 x 1200 stepped: 4032 -> 2016 -> 1600
What options and edge cases does Resize Image support?
| Parameter | Type | Default | Behaviour & edge cases |
|---|---|---|---|
| Fit inside | mode | default | Treats the numbers as a bounding box and keeps the aspect ratio. The right choice nearly always. |
| Exact | mode | — | Forces both dimensions and distorts anything whose ratio does not match. Use deliberately. |
| Percentage | mode | — | Scales both dimensions by the same factor. Useful for a batch of mixed shapes. |
| Allow enlarging | checkbox | off | Off by default. Upscaling invents detail and produces a larger, blurrier file. |
| Quality | 0.1 – 1.0 | 0.85 | Applies to JPG, WebP and AVIF output. Ignored by PNG, which is lossless. |
| Stepped downscale | automatic | — | Repeated halving until within a factor of two of the target, so no source pixel is skipped. |
| 1920 × 1080 | preset | — | Full HD. A desktop wallpaper or a full-width hero image. |
| 1200 × 630 | preset | — | The Open Graph link-preview size used by social platforms. |
Frequently asked questions
Will resizing make my image blurry?
Not when it is done properly, which is the point of the stepped downscale here. Scaling straight from 4000 pixels to 400 in one operation makes the browser sample a handful of source pixels per destination pixel and ignore the other ninety-odd, which aliases fine texture into moiré rather than blurring it gracefully. Halving repeatedly until close to the target averages every source pixel in, and the result is as sharp as the source allows. Enlarging is a different matter — that genuinely is blurry, because the detail does not exist.
What size should a web image be?
Roughly twice the size it will be displayed at, capped by common sense. An image shown 800 pixels wide should be stored at about 1600 so it stays sharp on a retina screen; storing it at 4000 costs twenty-five times the pixels for no visible benefit. 1200 pixels is a good maximum for images inside an article, 1920 for a full-width hero, and 400 for a thumbnail.
Can I resize several images at once?
Yes — drop as many as you like and they are processed one after another. Sequentially rather than in parallel, deliberately: decoding eight twelve-megapixel photos at the same time means eight 48 MB bitmaps alive at once, which is how a phone browser kills the tab. One at a time keeps peak memory at a single image and is barely slower, because the encoding is the expensive part and it does not parallelise anyway.
How do I keep the aspect ratio?
Use Fit inside, which is the default. Your width and height become a bounding box, and the image is scaled until it fits inside them with its proportions intact — a 4:3 photo fitted into 1600 × 1600 comes out 1600 × 1200. Exact mode is the one that will stretch an image, and it is separate precisely so it cannot happen by accident.
Why will it not make my image bigger?
It will, if you tick Allow enlarging — but it is off by default because upscaling almost always makes things worse. Interpolation cannot recover detail that the sensor never recorded; it invents plausible intermediate pixels, and the output is a larger file that looks softer than the original at every scale. If something genuinely needs a minimum size, tick the box; if you are hoping to recover quality from a small image, no tool can do that.
Does resizing remove EXIF data?
Yes. The image is decoded to raw pixels and re-encoded, so camera model, timestamps and GPS coordinates are not carried into the output. The exception is orientation, which is applied rather than dropped: the rotation recorded in EXIF is baked into the pixels during decoding, so a photo taken with the phone sideways comes out the right way up instead of losing its tag and falling over.