Resize Images Online — Free, No Upload
Drop in one or more images, say how big you want them, and download the result. The resizing runs on your device with the browser's own graphics engine, so nothing is uploaded and the tool keeps working if your connection drops.
Drop images here or browse
JPG, PNG, WebP, GIF, BMP · several at once is fine · nothing is uploaded
Pixels are the only measurement that exists
An image has one real size: how many pixels wide and how many tall. The "300 DPI" you may have been asked for is not a property of the picture, it is a note attached to it telling a printer how densely to lay those pixels down. Print size is just division: 3000 pixels at 300 DPI is 10 inches. Change nothing but the DPI tag and the file is byte-for-byte the same image.
On screen the tag is ignored completely. A browser cares about pixels and about the CSS size you give the element, and nothing else. So if someone asks for "300 DPI", what they actually need is a pixel count: multiply the printed inches by 300 and resize to that.
One consequence worth knowing: the browser's encoder does not write a meaningful DPI tag, so software that looks for one will fall back to its own default, usually 72 or 96. The pixels are correct; the label is missing. If you are sending a file to a print shop that insists on the tag, set it in whatever they hand you afterwards.
Why shrinking in one step looks worse
Ask a browser to draw a 4000 px image into a 500 px box in one move and it typically samples a small neighbourhood of source pixels for each output pixel. Shrinking by eight times means most of the original pixels are never read at all. The visible result is aliasing: fine texture turns into moire, thin lines flicker in and out, and small text turns to mush.
The fix is to halve the image repeatedly — 4000, 2000, 1000 — until the final step is less than a factor of two, where the same filter actually reads every pixel. This tool does that automatically, which is why a big downscale here usually looks cleaner than the same operation in a quick script. It costs a few milliseconds and some scratch memory.
Enlarging does not add detail
Going up in size interpolates between pixels you already have. The image gets bigger and no sharper; edges soften and stay soft. Roughly 1.5x is the point where most people start noticing on a photograph, and immediately on anything with text or hard edges.
The tools that genuinely invent convincing detail are machine-learning upscalers, and they work by guessing what was probably there. That needs a model, which needs either a server or a very large download, so there is none here. If you need a small logo to be big, the honest answer is to go back to the vector file.
What you lose, and where this breaks
Every output file is re-encoded from scratch, which has consequences you should decide about rather than discover:
- All metadata is gone. EXIF, GPS coordinates, camera model, copyright notice, embedded colour profile — none of it survives. For most people that is a privacy win. If you tag your photos with authorship, it is a loss. You can check what a file currently carries with the EXIF viewer before you resize.
- Wide-gamut colours shift. A photo shot in Display P3 is converted to sRGB on the way through the canvas. Saturated reds and greens can come out slightly duller.
- Animated GIFs stop animating. Only the first frame is read. The output is a still image.
- Very large images can simply fail. A browser tab has a memory ceiling and Safari on iPhone is particularly strict about how large a canvas it will allocate. A 100-megapixel panorama may produce an error or a blank result. Resizing in two passes sometimes gets around it.
- Exact width and height distorts. If the numbers do not match the original proportions, the image is squashed. To change the shape without squashing, crop first and resize after.
Batch mode applies one setting to every file. That works well for "fit inside 1600 px" and badly for "make everything exactly 800×600" when your images are a mix of portrait and landscape.
Frequently asked questions
How do I resize an image to an exact size without stretching it?
Two steps. Crop the image to the right shape first, then resize it to the exact pixel size — at that point both numbers already match the proportions, so nothing is squashed. Using "exact width and height" on the wrong shape is what causes the stretching.
Does resizing make the file smaller?
Almost always, and by more than people expect, because file size tracks the pixel count rather than the width. Halving both sides removes three quarters of the pixels. It is usually a bigger saving than turning the quality slider down.
Can I resize an image to 300 DPI?
Not directly, because DPI is a printing instruction rather than a property of the image. Work out the pixels you need instead: printed inches multiplied by 300. An 8 by 10 inch print at 300 DPI needs 2400 by 3000 pixels.
Will resizing lose quality?
Making an image smaller discards pixels, which is fine and usually invisible. Making it larger cannot recover detail that was never captured, so it only ever looks softer. Keep the original either way, because the operation cannot be undone.
Are my images uploaded anywhere?
No. The decoding and re-encoding happen in your browser with the canvas API. Open your developer tools, look at the Network tab while you resize, and you will see no request. Disconnecting from the internet after the page loads does not stop it working.
Last updated September 19, 2026