Resize image
Any number of photos to pixels, a long side, a print size or a file size — upright, with true colours.
Drop images here
Or drop them here, or paste. JPEG, PNG, WebP, GIF or AVIF (HEIC in Safari), any number. Nothing is uploaded.
Size
More optionsJPEG, quality 82 · no size limit · 300 ppi · no sharpening · never enlarged
Format
This browser cannot write WebP, so it is not offered; a WebP setting from a shared link comes out as JPEG.
Sharpen after resizing
Add images, or try a sample, to start.
In short
Choose your photos, say how big — a width in pixels, a longest side, a percentage or a print size in centimetres at a ppi — and press Resize. Each photo comes out the right way up, converted to sRGB, without its GPS location, with the ppi written into the file and, if you set one, under a file size in KB. Everything runs in your browser: nothing is uploaded and there is no limit on how many.
What image resizer is
A tool that changes how many pixels an image has, by resampling it to a new width and height. This one takes any number of files at once, sizes each by pixels, its longest side, a percentage or a print size at a chosen ppi, can hold each file under a byte limit, and writes the resolution into the file it hands back.
What this tool does that others do not
Upright, in the colours the camera saw
A phone stores a portrait photo sideways with a tag that says “turn me”, usually in Display P3 rather than sRGB. Each file is turned by its tag, checked against its header, and converted to sRGB, and the page says per file what was done.
Measured 8 October 2026 on a portrait phone photo stored sideways in Display P3, asked for 1080 wide: imageresizer.com dropped the colour profile (a red of 220, 30, 30 came out 202, 54, 44), iLoveIMG made it 810 wide, and simpleimageresizer.com squashed it to 4:3.
A print size the file remembers
Type 15 × 10 cm at 300 ppi and the arithmetic is printed under the boxes. The ppi is then written into the JPEG or PNG, so a layout or print app places the photo at 15 cm instead of guessing from 72.
15 ÷ 2.54 × 300 = 1771.65, so 1772 px. None of the five online resizers measured writes a resolution: every file came back saying 72 with no unit.
Under a file size, or it says so
Set “Under” in KB and each file lands at or below it: quality comes down first, in a binary search, and the pixel size only shrinks when quality alone cannot get there. A file that cannot be made small enough is flagged, never passed off.
Held at or under 20, 50, 100 and 200 KB by tests with the same MozJPEG encoder the page runs. 1 KB is counted as 1,000 bytes, so a result also clears a form that counts 1,024.
Lanczos3, not the browser’s scaler
Resampling runs pica’s Lanczos3 in a worker, one image at a time, so a batch of forty never freezes the page or the phone. Optional light or strong sharpening runs after the resize.
Against a Lanczos3 reference on a zone-plate test image: Chromium’s canvas scaler scored 21.33 dB by default and 27.03 dB at its “high” setting, Safari’s engine 21.37 dB either way, and this page’s Lanczos3 pass 37.33 dB.
How to use it
Add the photos
Choose or drop as many as you need. Each one’s size is read from its header, the right way up, before anything is decoded.
Say how big
Pixels for an exact width or height, Longest side for a mixed batch of portrait and landscape shots, Percent, or Print size in cm, mm or inches at a ppi.
Choose what comes out
Under More options, whose summary line says what is set: JPEG, PNG, WebP where the browser can write it, or the same type as each file; a quality, or a size in KB to stay under; the ppi to write in; sharpening.
Resize and download
The Resize button turns into Download once every file is done: one file saves on its own, several come as one .zip, and Download stays on the bar at the foot of the screen. Every card shows the size reached in pixels and bytes.
Worked examples
Real input, real figures.
Phone photos for a website, portrait and landscape mixed
You give it
Twelve 4032 × 3024 phone photos, Longest side 2048, JPEG at quality 82.
You get
Every photo is 2048 on its long edge: 1536 × 2048 for the portraits, 2048 × 1536 for the landscapes, all upright, the location data gone, in one .zip.
A print at an exact size
You give it
A 4032 × 3024 photo, Print size 15 × 10 cm at 300 ppi, Fill and crop.
You get
1772 × 1181 px, cropped around the focal point, with 300 ppi in the file. At the 72 ppi most apps assume without it, the same pixels would place at 62.5 × 41.7 cm.
Against the online resizers measured on 8 October 2026
| Aspect | This tool | Typical online resizer |
|---|---|---|
| Upload | None; it runs in the tab | Sent to a server and kept for 6 to 24 hours |
| Files at once, free | No cap | 3, 5 or 30 |
| Portrait phone photo, 1080 wide | Upright, 1080 wide | Wrong width or squashed in two of five |
| Display P3 photo | Converted to sRGB | Profile dropped, colours shifted, in one of five |
| GPS location | Removed, and said per file | Kept by two of five |
| Resolution field | Your ppi, written in | 72, unit undefined |
Guide
What it will not do
- HEIC opens only where the browser decodes it (Safari). Elsewhere it needs exporting as JPEG first; the decoder library for it is LGPL, which this site does not ship.
- Output is capped at 8,192 pixels a side and 16,777,216 pixels in total, the browser canvas ceilings past which a canvas returns a blank image.
- WebP output needs a browser that can write WebP; Safari cannot, so the option is not offered there and the page says why, rather than quietly saving a PNG.
One phone photo through five online resizers
A portrait photo the way a phone writes it: stored sideways with an orientation tag, in Display P3, with GPS coordinates. Each tool was asked for 1080 pixels wide on 8 October 2026, and the file it returned was measured as a viewer shows it. Resampling is scored against a Lanczos3 reference; higher is closer.
| Tool | Comes out | Colours | GPS | Resampling |
|---|---|---|---|---|
| imageresizer.com | 1080 × 1440 | Wrong: profile dropped, red 220, 30, 30 became 202, 54, 44 | Removed | 28.34 dB |
| iLoveIMG | 810 × 1080: the width went on the stored, sideways side | Right: profile kept | Kept | Not comparable: wrong size |
| simpleimageresizer.com | 1440 × 1080: turned twice and squashed to 4:3 | Right: profile kept | Kept | Not comparable: distorted |
| bulkresizephotos.com | 1080 × 1440 | Right: converted to sRGB | Removed | 27.07 dB |
| BIRME, high-quality method | 1080 × 1440, once “Auto height” is ticked | Right: converted to sRGB | Removed | 37.09 dB |
| A browser canvas (Chromium, Safari’s engine) | 1080 × 1440 | Right: converted to sRGB | Removed | 21.33 dB, 21.37 dB |
| This tool | 1080 × 1440 | Right: converted to sRGB | Removed | 37.33 dB |
The three faults are one mistake made three ways: reading the size the file is stored at instead of the size it is shown at, or dropping the colour profile instead of converting it. Neither costs anything to get right in a browser, which already knows both.
Checking that nothing was uploaded
Open your browser’s developer tools on the Network tab and resize a photo. The resize engine and its JPEG and PNG encoders arrive from dsyn.studio on first use; nothing carrying your photo goes out. The one request the page makes on its own is the site’s cookieless page-view counter, which carries the page address and not your image (see the privacy page). For one image with crop and turn by hand, the image editor does the same job on a single photo; to make one photo fit every platform, use social media image sizes.