Drop a whole folder’s worth of images — up to 50 — set one width, and download a single ZIP with every image resized: formats preserved, aspect ratios kept, names intact. All of it happens in your browser, so a 40-photo batch never uploads anywhere.
How to bulk resize images
- Drop your images (JPG, PNG, WebP — mixed is fine).
- Choose a max width — 1920, 1280, and 800 px presets cover most uses — or a percentage.
- Click resize and download the ZIP. Files come back as
name-resized.jpgetc.
Where batches come from
A phone dump destined for a blog post or listing. Fifty product shots that a marketplace wants under a size cap. A team wiki that chokes on 12-megapixel screenshots. Email attachments that won’t fit. Event photos heading to a shared album on a slow connection. In every case the job is the same — “make them all smaller, don’t wreck the proportions, don’t make me do it one by one” — and doing it in a desktop editor means an afternoon of open-resize-export.
Picking a target width
1920 px matches full-HD screens — the safe choice for web pages, presentations, and anything viewed full-screen. 1280 px suits content columns, wikis, and documentation. 800 px is plenty for thumbnails, chat, and email. Since height scales automatically with the aspect ratio locked, portrait photos stay portrait — the width cap simply bounds them. The default “never enlarge” guard means a batch containing some already-small images passes through unharmed rather than getting fuzzy upscales.
Details worth knowing
Each file is detected by its actual content (not its extension), decoded, scaled with high-quality resampling, and re-encoded in its own format — JPGs at 92% quality, PNGs lossless with transparency preserved. The ZIP is assembled locally too. For a single image where you want exact pixel dimensions or a format change, the single-image resizer gives finer control; to shrink file sizes without changing dimensions, use the compressor.
Private by design
Client photos, family albums, and product shots stay on your machine — the resize loop and the ZIP both run locally, and closing the tab leaves nothing behind.