Drop a folder's worth of images into tooladda.online/image-compressor.html, pick a mode, and pull down a ZIP. Every file is processed on your own machine β including the 40-photo batch that would take twenty minutes to upload.
Important
Photos carry EXIF metadata: GPS coordinates, device model, timestamp. Uploading holiday or family photos to a compression site hands all of that to a stranger. Here nothing is transmitted, so there's nothing to hand over.
JPEG quality is not linear, and this is the single most useful thing to know about compressing images. Going from quality 100 β 85 typically removes more than half the bytes while the difference is invisible at normal viewing size. Going 85 β 70 saves much less and starts showing visible artefacts around sharp edges and text.
| Quality | Typical size vs q100 | What you see |
|---|---|---|
| 100 | 100% | Nothing gained over 90 β you're storing noise |
| 90 | ~50β60% | Indistinguishable for photos |
| 85 | ~40β50% | π― The sweet spot for web use |
| 75 | ~30% | Slight softening; fine for thumbnails |
| 60 | ~20% | Visible blocking near edges and text |
| 40 | ~12% | Obviously degraded |
JPEG is lossy and cumulative. Every save re-quantises the image, and the damage never comes back:
original.jpg β compress β compress again β compress again
crisp fine softening mush
Always compress from the original, never from an already-compressed copy. This is also why editing and re-saving the same JPEG repeatedly slowly destroys it.
| Use | Format | Why |
|---|---|---|
| Photographs | JPEG or WebP | Lossy compression is designed for continuous tone |
| Screenshots, logos, text, sharp lines | PNG or WebP lossless | JPEG smears text edges badly |
| Transparency needed | PNG or WebP | JPEG has no alpha channel at all |
| Smallest modern web delivery | AVIF / WebP | Meaningfully smaller than JPEG at equal quality |
Warning
Never save a screenshot containing text as a JPEG. The artefacts cluster exactly on high-contrast edges β which is what text is entirely made of. PNG or WebP, every time.
flowchart LR
A["πΌοΈ Drop many images<br/>JPG PNG WebP GIF BMP AVIF"] --> B{"Your browser"}
B --> C{"Mode"}
C -->|"High Quality"| D["light compression"]
C -->|"Balanced"| E["~q85 sweet spot"]
C -->|"Maximum"| F["smallest bytes"]
D --> G["π Before / after compare"]
E --> G
F --> G
G --> H["ποΈ Download ZIP"]
B -.->|"π« no upload, EXIF stays home"| X(("Server"))
style A fill:#0ea5e9,stroke:#0369a1,color:#fff
style B fill:#1e3a8a,stroke:#172554,color:#fff
style E fill:#60a5fa,stroke:#2563eb,color:#fff
style H fill:#22c55e,stroke:#15803d,color:#fff
style X fill:#3f3f46,stroke:#71717a,color:#fff,stroke-dasharray: 5 5
|
Dozens of files in one pass, out as a single ZIP. No uploading each one and waiting for a server queue. |
Judge with your eyes at full size before committing. Compression numbers mean nothing if the result looks wrong. |
|
High Quality, Balanced and Maximum Compression β plus resize, because halving the dimensions saves far more than any quality slider. |
JPG, PNG, WebP, GIF, BMP and AVIF read natively; convert to a better-suited format as part of the same step. |
| Situation | What you do |
|---|---|
| π Site loading slowly | Compress every image on the page; usually the single biggest speed win available. |
| π§ Email attachment limit | 30 photos under 25 MB total, in one batch. |
| π€ Upload form capping each file | Compress to fit without opening Photoshop. |
| π Product listing images | Consistent, fast-loading photos across a whole catalogue. |
| π¬ Sharing without quality loss | Compress once, properly β instead of letting a messaging app mangle it. |
| πΎ Reclaiming disk space | Batch a photo archive down at a quality you actually chose. |
1. Open β tooladda.online/image-compressor.html
2. Drop β all your images at once (use the ORIGINALS)
3. Mode β Balanced for web, High Quality for print
4. Resize β also cut dimensions if they're bigger than needed
5. Compare β check before/after, then download the ZIP
βΆ Start compressing β tooladda.online/image-compressor.html
Tip
Before touching quality, ask how big the image needs to be. A 4000 px photo displayed in a 800 px column is wasting 96% of its pixels β resizing beats compressing, and you can do both here in one pass.
Is it free? Any file limit?
Free, no watermark, no signup. The batch limit is your device's memory, not a plan tier.
Are my photos uploaded?
No. They're read and re-encoded in your browser. EXIF, GPS and all, they never leave your device.
What quality should I use for a website?
Balanced (around JPEG q85) is the right default for photographs. Resize to the display size first for the bigger win.
Why did compressing again make it look terrible?
Generation loss β JPEG damage accumulates with every save. Always start from the original file.
PNG or JPEG?
Photographs β JPEG/WebP. Screenshots, logos, text or anything needing transparency β PNG/WebP. Putting a text screenshot in JPEG is the classic mistake.
Should I use AVIF or WebP?
Both beat JPEG substantially at the same visual quality. WebP has the broadest support; AVIF usually goes smaller. For a website, serve a modern format with a JPEG fallback.
Does it strip EXIF?
Re-encoding typically drops most metadata, which is usually what you want before publishing a photo. Nothing was ever sent anywhere regardless.
- Canvas + codec re-encoding in the browser, vanilla JavaScript, no upload endpoint.
- Batch work is queued so the UI stays responsive on large sets.
- ZIP assembled client-side.
- Offline-capable once loaded.
Part of ToolAdda β 130+ free, private, browser-based tools.
No signup Β· No uploads Β· No nonsense.