The short version: shrinking an image barely costs you anything. Removing pixels does not harm the pixels that stay, so a 4000px photo going down to 1200px is close to free, and at normal viewing size you will not see the difference.
Which makes "reduce image size without losing quality" a strange thing for roughly 5,400 people a month to search, until you notice that half of them mean something else entirely.
Some want fewer pixels. Some want fewer kilobytes. Those are different jobs with different tools and, annoyingly, opposite answers to the quality question. So let us split them apart first, then get into the part that actually ruins images, which is neither of the things you are worried about.
"Image size" means two different things
Dimensions: width and height in pixels
How much space the image takes up on a screen or on paper. Measured in pixels, or in cm, mm and inches once you add a DPI. Changing this is resizing, and it is what an image dimension changer does.
Making these smaller is nearly lossless.
File size: kilobytes and megabytes
How much disk the file takes up. Measured in KB and MB. Changing this without touching the dimensions is compression.
Making this smaller always throws information away.
They are related but not the same, and the confusion costs people real time. Resizing does shrink the file as a side effect, often dramatically, because a quarter of the pixels is roughly a quarter of the data. But it will not hit a specific number in KB, and no amount of resizing gets a PNG under a limit that only accepts JPG.
Rule of thumb for which one you need:
| What you were told | What you need | Where to do it |
|---|---|---|
| "1080 × 1080 pixels" | Resize | Image resizer |
| "3.5 × 4.5 cm at 300 DPI" | Resize, in cm | Image resizer |
| "Maximum 100 KB" | Compress | Image compressor |
| "Must be a JPG" | Convert | Image converter |
| "Under 50 KB and 200 × 230" | Resize, then compress | Both, in that order |
That last row is the common one, and the order matters. Compressing first means spending your quality budget on pixels you are about to delete. We wrote up the file-size half of that job separately in how to reduce image size to 25 KB.
The rest of this piece is about the dimensions half.
Why you can reduce image size without losing quality
Here is the bit that surprises people: downscaling is not really a lossy operation in the way compression is.
When you go from 4000 pixels wide to 1000, the tool is not damaging your photo. It is computing 1000 new pixels, each one an average of the source pixels that fell into its area. The information in those averages is real. Nothing is being guessed at.
Upscaling is the opposite, and it is where the quality anxiety actually belongs. Going from 400 pixels to 4000 means nine out of every ten pixels in the result were never captured by a camera. They are interpolated: a plausible smear between the neighbours that did exist. That is why enlarged images look soft and slightly plastic, and no setting fixes it, because the detail is not hiding somewhere waiting to be recovered. It was never there.
The blurry-resize problem nobody names
So if downscaling is nearly free, why does everyone have a story about a resized image coming out soft?
Because of how the reduction was done, and this is the part every other guide on this subject skips entirely.
Browsers, and most simple online resizers, draw the source image into a smaller canvas in one move. The catch is that this sampling reads a small fixed neighbourhood around each output pixel. Do a modest reduction and that is fine. Do a big one, say 4000 pixels down to 400, and each output pixel is derived from a tiny patch of a region ten pixels wide. Roughly one source pixel in nine contributes anything at all. The other eight are not blended in. They are skipped.
That is why the result looks thin and slightly aliased rather than smoothly soft. It is not blur. It is missing information, and it hits exactly the things you notice: text, hairlines, the edges of a logo, fine texture in a landscape.
The fix is unglamorous. Instead of one big jump, halve the image repeatedly and make the final short step at the end:
4000 → 2000
Every pixel in the 2000px version is an average of four real source pixels. Nothing skipped.
2000 → 1000
Same again. Each pixel now carries information from sixteen original ones.
1000 → 400
The last step is small enough that the browser's own sampling reads everything it needs.
The whole chain costs a few extra milliseconds and it is the difference between a sharp thumbnail and a mushy one. Photoshop has done a version of this for years, which is what "Bicubic Sharper (reduction)" is for; MDN documents the imageSmoothingQuality hint that browsers expose, though on its own it does not solve the big-jump problem.
Our image resizer steps down in halves automatically. You will never see it happen; you will just notice the 400px version still has readable text in it.
Change image dimensions without stretching anything
The second most common way to wreck an image is to squash it, and it happens because someone typed both numbers.
An aspect ratio lock is the checkbox that stops this. With it on, you type one side and the tool derives the other from your original's proportions. Every image size changer worth using has it, and it should be on by default.
Three operations get muddled here, so, plainly:
- Resizing keeps the shape and changes the pixel count. Circles stay circles.
- Stretching changes the shape. Circles become ovals, faces get wide, and everyone can tell.
- Cropping changes the shape by removing edges. Nothing distorts, but you lose content.
If your source is 4:3 and the slot wants 16:9, you need to crop, not stretch. Resizing cannot change an image's shape without lying about it.
The ratios worth knowing, with a width to type and the height the lock will fill in for you:
| Ratio | Width | Height | Used for |
|---|---|---|---|
| 1:1 | 1080 | 1080 | Instagram posts, profile pictures, product tiles |
| 16:9 | 1920 | 1080 | YouTube, slides, desktop wallpaper |
| 9:16 | 1080 | 1920 | Reels, Shorts, TikTok, stories |
| 4:5 | 1080 | 1350 | The tallest portrait Instagram shows uncropped |
| 3:2 | 1800 | 1200 | Most DSLR photos, and 4 × 6 inch prints |
Resizing in cm, mm or inches: where DPI comes in
Every guide on this topic covers inches. Almost none of them cover centimetres, which is what most of the world's forms are actually written in, and the tool pages that do handle cm tend not to explain what is happening.
So: an image has no physical size. A 600 pixel wide photo is 15.9 cm across at 96 DPI and 5.1 cm across at 300 DPI, and it is the same photo, the same file, the same pixels. Nothing about it changed except the number you divided by.
DPI is the exchange rate between pixels and the physical world. That is all it is. Which makes the formula simple:
- Centimetres: pixels = cm ÷ 2.54 × DPI
- Millimetres: pixels = mm ÷ 25.4 × DPI
- Inches: pixels = inches × DPI
Every tool that resizes in cm is running exactly that line of arithmetic. Here is what it produces for the sizes people actually ask for:
| Physical size | At 96 DPI | At 300 DPI | Typical use |
|---|---|---|---|
| 3.5 × 4.5 cm | 132 × 170 px | 413 × 531 px | Passport and visa photos |
| 35 × 45 mm | 132 × 170 px | 413 × 531 px | The same size, written in mm |
| 2 × 2 in | 192 × 192 px | 600 × 600 px | US passport photo |
| 5 × 7 cm | 189 × 265 px | 591 × 827 px | Application form photos |
| 10 × 15 cm | 378 × 567 px | 1181 × 1772 px | Standard 4 × 6 inch print |
| 21 × 29.7 cm | 794 × 1123 px | 2480 × 3508 px | Full A4 page |
Which DPI to pick:
- 300 DPI for anything going to a print lab. This is the number Adobe's own image size and resolution guidance treats as the print standard, and what a photo printer expects.
- 150 DPI for a draft print, a newsletter, or something being read at arm's length.
- 96 DPI for screens. This is what a CSS pixel is defined as.
- 72 DPI is a legacy screen value. Harmless, still shows up in old briefs, no longer accurate to anything.
The 72 DPI lie in most browser resizers
Here is something I only learned by building one of these, and it is the reason your carefully measured 5 cm photo sometimes prints at 20 cm.
A browser canvas encodes pixels and nothing else. When it writes a JPEG, it writes the JFIF default density: 72 DPI, regardless of what you typed into the tool. So a resizer can do the arithmetic perfectly, hand you exactly 591 × 827 pixels for your 5 × 7 cm print, and still ship a file whose own metadata claims it is 8.2 inches wide.
Then you drop it into Word, or a print dialog, or Photoshop, and the software believes the tag over your intentions.
Fixing this means writing the DPI into the file itself, which is a different job per format:
- PNG stores it in a
pHYschunk, in pixels per metre, so 300 DPI is written as 11811. It is a documented part of the PNG chunk specification. - JPEG stores it in the JFIF APP0 header as a units flag plus two 16-bit densities.
- WebP and AVIF have nowhere standard to put it at all. The pixels are the only guarantee you get.
Our resizer writes the DPI you choose into the PNG or JPEG it hands back, and tells you on the result screen when you have picked a format that cannot carry it. That is not a headline feature, it is just the difference between the number being real and the number being decoration.
Formats change the answer
Resizing is supposed to change the dimensions and nothing else. In practice, format is where free online tools quietly break that promise.
| Format | What a good tool returns | The trap |
|---|---|---|
| JPG | JPG | None. This is the easy case |
| PNG | PNG, transparency intact | Tools that hand back a JPG to look efficient, flattening your alpha to white |
| WebP | WebP | Fine, but no DPI metadata |
| AVIF | AVIF, or WebP | Most browsers read AVIF and cannot write it. A tool that does not check gives you a PNG labelled .avif |
| GIF, still | PNG | No browser canvas can write a GIF at all |
| GIF, animated | Should be refused | A canvas sees frame one only. You get a still image named .gif |
| HEIC | Should be refused, with instructions | No browser can decode it without a large WebAssembly decoder |
The PNG one is the trap that costs people the most. A transparent logo resized by a tool that silently outputs JPEG arrives with a white box baked in behind it, and you find out when you drop it onto a coloured header. If your file came off a website and you are not sure what it even is, our piece on WebP files covers why your download is probably not the JPEG you assumed.
A checklist that gets it right first time
How to do it in our tool
Since this is our blog, the honest pitch, kept short.
Drop the image in
JPG, PNG, WebP, AVIF or a still GIF, up to 25 MB. The fields fill in with the image's own dimensions, so a smaller version is one edit away.
Pick your unit, then type one side
Pixels, cm, mm or inches. Switch units at any time and the same image is re-described rather than re-converted, so your 5 cm stays exactly 5 cm when you flip to inches and back. With the ratio locked, the other side fills itself in.
Set a DPI if you are printing
The control only appears when you are working in a physical unit, because for pixels it does nothing. The pixel result is shown under the fields as you type, so the conversion is never hidden from you.
Resize and check
Before and after, side by side, at the same display size. Then download.
Image Resizer
Pixels, cm, mm or inches, with the aspect ratio locked and the DPI written into the file. Nothing is uploaded.
Three things about it are relevant to everything above: it steps down in halves rather than one jump, it writes your DPI into the PNG or JPEG, and it runs entirely in your browser, so the passport photo never touches a server.
When a browser tool is the wrong answer
Worth saying, since the goal is to be useful rather than to win every case.
A whole folder at once. Ours does one image at a time. For bulk work, ImageMagick's mogrify -resize over a directory, or XnConvert if you would rather click, is genuinely the right tool. A bulk image resizer is on our list, and it is not built yet.
RAW files from a camera. A browser cannot decode them. Export a JPEG from your editor first.
Upscaling that has to actually work. Ordinary interpolation cannot invent detail. If you truly need a small image made large, that is a job for a machine-learning upscaler, and it is a different product to this one.
Files over 25 MB. That is our ceiling, and it is where a full-resolution decode starts being a coin flip on mid-range hardware.
FAQ
Can you really reduce image size without losing quality?
If you mean making the image smaller in width and height, then yes, almost entirely. Downscaling removes pixels; it does not damage the ones that remain, and at normal viewing sizes a 25 to 50 percent reduction is invisible.
If you mean cutting the file size in kilobytes while keeping the same dimensions, then no, not past a point: that is compression, and compression works by discarding information. The two jobs get the same search term and have opposite answers.
Why does my image look blurry after resizing?
Usually because the tool did the whole reduction in one step. Browsers and most simple resizers sample a small fixed neighbourhood per output pixel, so going from 4000px to 400px in a single pass reads roughly one source pixel in nine and ignores the rest.
That is not blur, it is skipped detail. A resizer that steps down in halves reads every pixel on the way and keeps edges and small text sharp.
How do I change image dimensions without stretching the image?
Keep the aspect ratio locked, which any decent image dimension changer does by default. Type one side and let the tool derive the other from your original's proportions.
You only unlock it when something demands an exact frame and you would rather distort the photo than leave it the wrong size. If your source is 4:3 and the slot is 16:9, the right fix is to crop first and then resize, not to stretch.
How do I resize an image in cm or mm?
Pick your unit, type the measurement, and set a DPI. The DPI is not optional decoration: a physical measurement only becomes a pixel count once you say how many pixels go into an inch.
The formula is pixels = centimetres ÷ 2.54 × DPI, or ÷ 25.4 for millimetres. A 3.5 × 4.5 cm passport photo at 300 DPI is 413 × 531 pixels.
What DPI should I use, 72, 96, 150 or 300?
300 for anything being printed properly, 150 for a draft or a newspaper-grade print, and 96 for screens. 72 is a legacy screen number that still appears in old briefs and does no harm, though 96 is what a CSS pixel is actually defined as.
For a web image the DPI value changes nothing at all: only the pixel dimensions matter.
Does changing the DPI change the image quality?
Only if the tool resamples at the same time. Changing the DPI number alone just relabels how big the image should print, and the pixels are untouched.
Changing DPI while holding a physical size fixed does resample, because 5 cm at 300 DPI needs more than three times the pixels of 5 cm at 96 DPI, and those extra pixels have to be invented. That is the case to watch.
Should I resize the image or compress it?
Resize when something specifies width and height, like a 1080 × 1080 post or a 3.5 × 4.5 cm photo. Compress when something specifies a file size in kilobytes, like a portal that rejects anything over 100 KB.
If you need both, resize first and compress second, so the compressor is not spending quality on pixels you were about to throw away.
Can I resize a GIF, a HEIC photo or an AVIF file in a browser?
AVIF yes, still GIFs yes, animated GIFs no, and HEIC no. A canvas only ever sees the first frame of an animated GIF, so resizing one produces a still image that is still named .gif.
HEIC is the iPhone default and no browser can decode it without a heavyweight WebAssembly decoder. Set the phone to Most Compatible, or export the photo as JPEG, and then resize it.




