What you can control
Drop in any number of images and set one rule: a maximum width in pixels. Each image is scaled down to fit, with its aspect ratio preserved automatically, and anything already smaller than your limit keeps its original dimensions — the tool never stretches an image upward, because upscaling only adds blur. From there you choose an output format (JPEG, WebP, or PNG) and a quality level from 10 to 100%. As each image finishes, you see its new dimensions and file size, so you know before downloading whether that 4,000-pixel phone photo really did shrink enough for the email attachment or listing form that rejected it.
Local processing, in plain terms
The resizing happens on a canvas inside a Web Worker — a background thread in your own browser. The worker decodes each image, redraws it at the target size, and re-encodes it in your chosen format without ever touching the network, so nothing you resize is visible to anyone else. Running the work in a worker also means the page doesn't freeze while a large batch grinds through; you can keep queuing files as others finish.
Resizing is not the same as hitting a file-size target
Reducing dimensions and lowering quality both shrink file size, but neither guarantees a specific number of kilobytes. The quality slider affects JPEG and WebP output; PNG is lossless, so with PNG the dimensions do all the work. If a form demands a hard limit like "under 200 KB", the dedicated compress-image-to-exact-size tool on this site is built for that job — it adjusts compression until the output lands under your target. Reach for this resizer when dimensions are what matter: meeting an avatar size requirement, standardizing product photos, or slimming down screenshots for documentation.