Bulk image workflow

Batch Image Processor

Compress, resize, or convert up to 24 images at once. Pick a preset, drop your files, and download the results — no uploads, no waiting.

Runs entirely in your browser. Your images are never uploaded.

① Drop multiple images② Pick a preset or configure settings③ Process — files download automatically

No images yet

Drop files in the zone above or click Add images.

Quick presets

Action

Exports as WebP for smallest file size.

Quality

82%

Add images above to start.

Runs entirely in your browser. No uploads. Your files stay private.

Resize, Compress, And Convert Many Images At Once

Batch Image Processor applies one set of resize, format, and quality settings to up to 24 images in a single pass. Each file is decoded into an HTMLImageElement, drawn into a 2D Canvas at the target dimensions, and re-encoded with the browser's built-in toDataURL implementation — there is no upload step and no server-side queue.
Resizing is driven by a single scale factor that is applied to the original natural width and height. The Canvas 2D context performs bilinear filtering when downsampling, which is what most native macOS and Windows image previews also use. Upsampling is supported but will not invent detail; for that, run the source through Image Enhancer first and feed the result here.
Format conversion supports JPEG, PNG, and WebP outputs. WebP and JPEG honour the quality slider (0.1 to 1.0), while PNG ignores quality because the format is lossless. WebP encoding is available in every modern browser today; if you target very old environments, choose JPEG to keep the output portable.
Each image is processed sequentially so the browser stays responsive. Progress is shown per file and finished images are downloaded immediately as separate files; the tool does not zip results because that would force everything into memory at once and break on large batches. If you need a single archive, drop the outputs into your operating system's built-in zip tool.
A filename prefix is applied to every output, with a numeric suffix and the new extension (for example, web-1.webp, web-2.webp). The original files on disk are never modified — the tool only ever reads them, the new versions are saved as separate downloads in your browser's download folder.
The 24-image cap is intentional: each image is held as a decoded bitmap in memory while it waits its turn, and going beyond two dozen full-resolution photos starts to evict tabs on devices with 8 GB of RAM or less. Run several batches back to back if you have more files, or use a desktop tool like ImageMagick for thousand-file libraries.
Batch processing is the right tool when every image needs the same treatment. If individual photos need different crops, watermarks, or colour adjustments, use the per-image tools (Image Resizer, Image Compressor, Photo Editor, Image Watermark) instead and chain them through the Workflow Next links below.

Common Use Cases

01

Convert a folder of PNGs to WebP

Shrink a screenshot or icon archive by 60-80 percent by re-encoding everything to WebP at quality 0.9 in one batch.

02

Web publishing prep

Resize CMS-bound photos to a uniform 1600 px max width and JPEG quality 0.85 so every post loads at a consistent weight.

03

Email-friendly attachments

Cap a holiday photo set at 1024 px wide and quality 0.7 so the whole batch fits under common 25 MB attachment limits.

04

Ecommerce product image normalisation

Apply the same target dimensions to every product photo so listings line up cleanly in a grid layout.

Frequently Asked Questions

Image Compressor uses browser-image-compression with a Web Worker and aims to hit a target file size for one image. Batch Image Processor uses a simpler Canvas re-encode loop that applies one quality and scale across many files at once. Use the former for fine-grained per-file tuning, the latter for uniform bulk work.
Up to 24 per batch. The cap is set by available browser memory, not by an artificial license. If you go higher the tab risks being killed by the OS on devices with 8 GB of RAM or less.
JPEG, PNG, and WebP. JPEG and WebP honour the quality slider; PNG is lossless and ignores it. AVIF is not offered here because the Canvas API does not yet expose AVIF encoding in stable browsers.
The scale factor can go above 1.0, but Canvas upsampling uses bilinear interpolation and will not invent detail. For genuine upscaling, run the source through Image Enhancer first and feed the higher-resolution output into this batch.
Never. The tool reads the file, processes it in memory, and triggers a separate download. The file on disk remains exactly as you uploaded it.
Building a zip would force every encoded image to stay in RAM until the last file finishes, which often crashes mobile browsers on big batches. Streaming downloads keep memory flat. Most operating systems can compress the resulting folder in two clicks if you need an archive.
No. The Canvas 2D path strips EXIF, ICC, and XMP metadata. If GPS coordinates or camera tags need to survive, use the per-image Image Compressor with browser-image-compression's preserveExif option, or pass the originals through Image Metadata first to inspect what would be lost.
No. Each file is decoded into a Canvas locally, encoded back to a data URL, and turned into a Blob for download. There is no server endpoint that receives image bytes.
Yes. Once a batch finishes, click Reset and add the next set. The browser keeps reusing the same decoder pool, so subsequent batches start instantly.
JPEG uses DCT-based lossy compression, WebP uses VP8/VP8L which is typically 25-35 percent smaller at the same visual quality, and PNG uses lossless DEFLATE so file size depends on the entropy of the pixels rather than a quality slider.

Advertisement