Bulk Image Compressor — Compress a Whole Folder at Once
Compress, resize, and convert images in batches: drop a folder, tune quality, download a ZIP. JPG/PNG/WebP, no upload, no per-image limits. Free.
Compressing images one at a time stops being viable at about the tenth image. This batch toolkit takes a whole folder — 50, 100, more — applies one consistent quality and resize setting, and returns a ZIP. It also converts formats (JPG/PNG/WebP) and renames files in the same pass.
Everything runs locally: the product photos, client work, or personal archive never uploads, there are no per-image quotas, and the settings you settle on apply identically across the batch — which is exactly what one-at-a-time tools can't do.
100% in-browser · no upload · no signup · nothing you paste or drop here leaves your device
Batch Image Toolkit
Compress, resize, watermark, convert, and rename multiple images at once. 100% in-browser.
Drag & drop images here, or click to browse
Max 30 files, 20.0 MB each
All image processing occurs locally in your browser using the HTML5 Canvas API. No images are uploaded to any server.
The batch image pipeline — illustrated
This toolkit is a queue-based batch processor: every uploaded image runs through the same per-file pipeline using the HTML5 Canvas API, entirely in your browser. Each file is decoded, optionally resized (by exact pixels, by a percentage, or by longest edge), composited with a text watermark at a chosen position and opacity (including a tile/repeat mode), re-encoded to JPEG, PNG, or WebP at a selected quality, and renamed with a pattern such as {name}_{index}. A small worker pool processes several images concurrently to keep the UI responsive, then all results are packed into a single ZIP for one-click download. Because nothing is uploaded, you get no server queue, no bandwidth caps, and your originals never leave the device.
Re-encoding a 2.4 MB JPEG to WebP at 85% quality typically lands around 0.4–0.9 MB — which is why a 120-photo set can shrink from ~412 MB to ~87 MB while staying visually identical at display size.
Maya is a travel blogger returning from a two-week trip with 120 photos. She wants web-ready copies for her article without losing the full-resolution originals.
- Upload:She drops 120 photos (mix of JPEG and PNG) into the batch uploader — about 412 MB in total. The toolkit stays fully local, so there is no upload wait or size cap beyond her device memory.
- Resize:She picks "Longest edge" = 1920 px. Landscape 4000×3000 shots drop to 1920×1440, plenty sharp for a blog hero image yet roughly a quarter of the pixel count.
- Re-encode:She switches format to WebP at 85% quality. A typical 2.4 MB JPEG compresses to roughly 0.6 MB, so her 120-file set lands around 87 MB — a 79% reduction with no visible degradation at screen size.
- Rename & download:With pattern {name}_{index}, the outputs come out as photo_001.jpg … photo_120.webp. She clicks "Process" and downloads batch-images.zip with every resized, watermarked file in one click.
About this bulk image compressor
This page covers compress multiple images at once, batch image resize online, shrink photo folder size, optimize images for web free — all the same underlying task as bulk image compressor. The tool above is FreeToolHub's image toolkit embedded in full: every feature works right here, and nothing you process is uploaded to any server.
Frequently asked questions
How do I compress many images at once?
Drop the entire folder in, set quality (75–80 is the usual sweet spot for photos), optionally resize to a max dimension, and run — the batch processes locally and downloads as a single ZIP preserving folder structure. Identical settings across the batch keep the output consistent, which one-by-one tools never achieve.
What quality setting should I use for web images?
JPG/WebP quality 75–80 is visually indistinguishable from 100 for photos and cuts file size by 60–80%; product and hero images tolerate it well. Screenshots and line art prefer PNG at full quality or WebP lossless — text edges are what JPEG artifacts destroy. Batch by content type: photos in one pass, screenshots in another.