Kit — image resize
Image resize
Set a long edge, a width, a height or a percentage and resize a batch of images at once. The aspect ratio is always kept, the reduction happens in steps so edges stay clean, and phone photos come out the right way up.
Whichever edge is longer becomes this value, portrait or landscape. Common choices: 1920 (full HD), 1600, 1200, 800.
Stretching a small image adds no detail — it only softens the edges. On by default.
"Keep original" preserves JPEG, PNG and WebP. Formats a browser cannot write (HEIC and friends) become PNG if they might carry transparency, JPEG otherwise.
Add images and their original dimensions will appear here.
This runs entirely in your browser. Nothing is uploaded.
Related tools
What this one does differently
A single canvas draw from full size to a quarter or less loses thin lines and text and leaves diagonal edges crawling. This reduces by no more than half per pass, so every source pixel reaches the result.
Phone cameras store landscape pixels plus an EXIF rotation flag. Decoding without that flag produces sideways output from a file that previews correctly everywhere else. The flag is applied first.
Reading, resizing and encoding all happen in the page. Photos of people, unreleased artwork, internal documents — none of it needs a decision about where it is being sent.
Choosing the settings
Questions
How many images at once?
There is no fixed limit. They are processed one at a time with a running count. Very large images in large numbers will use a lot of memory on a modest device, so the page may feel slower.
Are my images stored?
No. Everything happens in the browser and nothing is sent to a server. Closing the page discards whatever was loaded.
Will a transparent PNG turn black as a JPEG?
No. JPEG cannot hold transparency, so transparent areas are filled with white before encoding. If you need a different background or want to keep the alpha channel, choose PNG or WebP instead.
Can it enlarge?
Turn off "Never enlarge" and it will scale up to whatever you ask for, but detail that was not captured cannot be invented — the result is simply softer. The option is on by default.
Does it handle HEIC from an iPhone?
It works wherever the browser can decode HEIC, which Safari can. Other browsers often cannot, and in that case the row says so and the remaining files still run.