Bulk image compressor

One setting across every file. Processed in parallel on this device, downloaded as a single ZIP.

  • Free forever
  • No signup
  • Files never uploaded
  • No watermark
  • Unlimited files

Batch compressor

JPG, JPEG, PNG and WebP files are accepted. Paste from clipboard with Ctrl+V (Cmd+V on a Mac).

Compression mode

Set the encoder quality directly. Lower quality means a smaller file.

80

80 suits most web images. Above 90 the file grows quickly for very little visible gain.

Keep the original format, or convert on the way out to compare which one is smallest.

  • Removes camera model, timestamps and GPS coordinates from the output.

  • Compress without changing the pixel size of the image. Turn this off in target-size mode to let the tool shrink the image when quality alone cannot meet your limit.

Ready. Add a file to begin.

Batch results

Quality mode · same as input output · 0 files

No files yet. Results will appear in this table as soon as you add one.

Your files are processed by your own browser. Nothing is uploaded to a server, so nothing can be stored, read or shared.

More tools

Other tools on this site

Each one runs in the browser the same way, with no upload and no account.

  • Compress JPEG

    Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.

    Compress JPEG
  • Compress PNG

    Reduce PNG screenshots and graphics while keeping transparency and hard edges intact.

    Compress PNG
  • Compress WebP

    Re-encode WebP images at a lower quality, or convert JPEG and PNG into WebP.

    Compress WebP
  • Resize Image

    Change pixel dimensions by width, height or percentage, with the aspect ratio locked.

    Resize an image
  • JPG to PDF

    Combine several photos into one PDF, reorder the pages and choose paper size and margin.

    Build a PDF
  • Document Editor

    Write a formatted document in the browser and export it to PDF, DOCX or HTML.

    Open the editor

Specification

Technical specification

Every capability written out as text, including the ones where the answer is no. A specification that only listed the wins would not be worth reading.

Technical specification — what this tool supports, attribute by attribute.
AttributeThis tool
Supported input formatsJPG and JPEG
Output formatsJPEG, PNG, WebP
Compression typeLossyJPEG discards detail permanently by design. PNG output is lossless but far larger for photographs.
Quality controlAdjustable, 10 to 100Maps directly to the encoder's quality setting. Moving it genuinely changes the output.
Exact output file sizeYes — target in KBThe encoder searches for the highest quality that fits under your limit, then reports the size it actually reached.
Resize / image dimensionsYes — max width and heightAspect ratio preserved. The resizer page adds exact pixel and percentage modes.
Batch / bulk processingUnlimitedFiles are encoded in parallel across a Web Worker pool and can be downloaded as one ZIP.
Maximum file sizeNo limit set by this siteBounded in practice by your device's memory, since each image is held uncompressed while it is processed.
EXIF and metadataStripped by defaultCamera model, timestamps and GPS coordinates are removed. You can switch it off.
Transparency / alpha channelNot applicable to JPEGJPEG has no alpha channel. Choose PNG or WebP output if you need transparency.
Chroma subsampling controlNot availableThe browser's encoder chooses it and exposes no setting. We will not add a control that cannot affect the output.
Progressive JPEG controlNot availablecanvas.toBlob gives no control over progressive encoding. Use MozJPEG or ImageMagick if you need it.
Colour profile handlingConverted to sRGBA browser canvas works in sRGB, so wide-gamut images are converted. Correct for the web, wrong for print masters.
Bit depth8 bits per channelThe maximum a browser canvas provides. HDR and 10-bit output need AVIF, which browsers cannot write.
Animation supportNot supportedA canvas decodes only the first frame of an animated file, so animation is out of scope rather than half-supported.
Where processing happensIn your browserNo upload endpoint exists in the compression path. Disconnect from the network after the page loads and it still works.
File retentionNone — nothing is receivedThere is no copy to retain or delete, because no file is ever transmitted.
WatermarkNeverThe output contains your image and nothing else.
Account, quota or costNoneNo sign-up, no daily cap, no paid tier withholding a feature.
Browser supportChrome, Edge, Firefox, SafariDesktop and mobile. Requires Canvas and Web Workers, which every current browser provides.

How it works

How to bulk image compressor

  1. Step 1: Add the whole set

    Select as many files as you like, or drag a folder's contents straight in. There is no cap imposed by this site.

  2. Step 2: Choose one setting

    Quality, a target size, or a maximum dimension — applied identically to every file in the batch.

  3. Step 3: Download the ZIP

    Every file is listed with its own numbers and a batch total, then packaged into one archive.

Features

What this tool does

  • Batch processing

    Queue as many image files as you like. A Web Worker pool handles them in parallel so a large batch does not freeze the page.

  • Real quality control

    The quality slider maps directly to the encoder setting. Move it and the output genuinely changes — there are no cosmetic controls here.

  • Exact target size

    Ask for 200 KB and the encoder searches for the highest quality that fits under your limit, then reports what it actually achieved.

  • EXIF and metadata stripping

    Camera model, lens, timestamps and GPS coordinates can be removed on the way out. Useful before publishing a photo taken on a phone.

  • Format conversion

    Write the result as JPEG, PNG or WebP regardless of what you put in, so you can test which format is smallest for a given image.

  • Nothing is uploaded

    The whole pipeline runs in your browser through the Canvas API. Turn off your network connection after the page loads and it still works.

  • No watermark, no sign-up

    The output is your image and nothing else. There is no account, no daily quota and no paid tier holding back a feature.

  • Works on mobile

    The layout, the drop zone and the results table are all usable on a phone, and mobile browsers run the same encoder as the desktop ones.

In depth

Working with large batches

How the batch is actually processed

Files are distributed across a pool of Web Workers — one per available processor core, up to four — so several images are encoded genuinely in parallel rather than one after another. The interface stays responsive throughout, and the progress indicator counts real completed files rather than animating on a timer.

Because everything happens on your machine, throughput is limited by your processor rather than by an upload queue or a rate limit. A hundred photographs on a modern laptop takes a couple of minutes; the same set on a phone takes longer, because the encoder is doing the same work with less silicon.

The one real limit: memory

There is no cap on the number of files. The practical ceiling is the memory available to a browser tab, because each image has to be held uncompressed while it is processed — a 12-megapixel photograph occupies roughly 48 MB as raw pixels regardless of how small the file on disk is.

In practice that means very large batches of very large images can exhaust a tab, particularly on mobile. If a batch stalls, split it in half. Nothing is lost when you do, because nothing was uploaded in the first place.

One setting for a mixed batch

A single quality value across a varied set is a blunt instrument: the portrait and the foliage shot will not land at the same file size, because detailed images legitimately need more bytes.

If consistency of size matters more than consistency of quality — for a catalogue, say — use target-size mode instead. Every file is then searched independently to the same limit, and the sizes come out even at the cost of slightly uneven quality. Which of those you want depends entirely on the job.

How quality maps to file size

The quality number in a JPEG or WebP encoder is not a percentage of anything. It is an index into a set of quantisation tables that control how aggressively detail is discarded. The relationship to file size is steep and non-linear.

For a typical 12-megapixel phone photograph the curve looks roughly like this:

  • Quality 95–100 — near-original appearance, but the file is often only 20–35% smaller. Rarely worth it for the web.
  • Quality 80–90 — the sweet spot for photography you care about. Typically 50–70% smaller with no artefact you would notice at normal viewing distance.
  • Quality 70–80 — the sweet spot for ordinary web images. Usually 70–85% smaller. Artefacts appear only if you zoom in on flat sky or skin.
  • Quality 50–70 — visible softening and blocking in smooth areas, though thumbnails and background images survive it well.
  • Below 50 — obvious blocking, ringing and colour banding. Useful only for placeholders.

Diminishing returns set in fast at the top of the range. Going from quality 100 to quality 90 usually halves the file for no perceptible change; going from 90 to 80 saves far less and costs slightly more. If you only remember one number, use 80.

Questions

Frequently asked questions

Every answer below is present in the page source, expanded, so it can be read without opening anything.

How many images can I compress at once?

There is no limit set by this site — no daily quota, no account, and no cap on the batch. The real ceiling is your device's memory, since each image is held uncompressed in RAM while it is processed. Batches of a hundred photographs are routine on a laptop.

Can I drop a whole folder in?

You can select every file in a folder and drag them in together. Whether the browser lets you drop a folder itself varies between browsers, so selecting the contents is the reliable route.

Does the same setting apply to every file?

Yes. That is the point of the batch tool — one decision applied consistently. Each file is still measured individually, so you can see which ones benefited most and which barely moved.

Why did some files barely shrink?

Almost always because they had already been compressed efficiently. A JPEG that has been through one good encoder has little redundancy left. The results table reports that honestly rather than showing an impressive average that hides it.

Is the ZIP compressed as well?

No, and deliberately so. The images inside are already compressed, so running DEFLATE over them again would add processing time to save a fraction of a per cent. The archive simply stores them.

Are the files uploaded to process the batch?

No. Every file is read, encoded and packaged inside this browser tab. Nothing is transmitted, which is what makes an unlimited batch possible at all — there is no server cost for us to ration.

Will my browser freeze on a big batch?

It should not. The encoding runs in Web Workers on separate threads, leaving the main thread free to keep the interface responsive. What you may notice is your device getting warm, because it is genuinely doing the work.

From the blog

Related reading

Longer explanations from the blog.

  • Practical Guides

    How to Compress Images for a Website Without Wrecking Them

    Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.

    8 min read

  • Image Compression

    JPEG Quality Settings Explained: What the Number Actually Means

    Quality 80 is not 80% of anything. It is an index into a quantisation table. Measured on one photograph: dropping from 100 to 90 removes 77% of the file and 4.2 dB of fidelity; dropping from 40 to 30 removes 17% and costs almost as much.

    8 min read

  • Practical Guides

    How to Reduce Image Size for Email Without Sending a Blurry Mess

    Attachments are base64-encoded in transit, which inflates them by about a third. A 20 MB limit is really a 15 MB limit. Resize to 1600 pixels on the long edge and encode at quality 80, and a photograph lands near 150 KB.

    9 min read