Image Compress

Quality slider to reduce photo file size — fits Gmail's 25MB attachment limit and common web upload limits.

Files never leave your device. All processing happens entirely in your browser.

JPG has no transparency — when converting from PNG/WebP, the transparent background is filled with white.

0.80

Recommended: 0.7–0.85 (visually lossless, 30–60% size reduction)

[ AdSense slot ]

File size by format & quality

Estimates for a 3000×2000 px landscape photo (original JPEG ~4MB). Actual size depends on image complexity.

FormatQualityEstimated sizeNotes
JPEG0.952.5–3MBNear-lossless, print OK
JPEG0.801–1.5MBWeb-recommended, no visible loss
JPEG0.60500–800KBSufficient for social / messaging
JPEG0.40300–500KBThumbnails / previews
WebP0.80500–800KB~30% smaller than JPEG
PNG5–10MB+Lossless, supports transparency, large

When compressing backfires — recompression & generation loss

What if I compress an already-compressed JPG again?
JPEG is a lossy format, so a little information is discarded every time it's saved. This tool redraws the photo onto a canvas at full resolution and re-encodes it with toBlob, so compressing a JPG that was already saved at 0.7 again at 0.7 barely shrinks the file while dropping quality one more notch. This is called generation loss. Avoid compressing the same photo repeatedly — export once from the original at the quality you want.
It got bigger after compression (the + sign)
A red + on the reduction rate means the output is larger than the input. Two common causes: ① the original was already heavily compressed but you re-encoded it at quality 0.9 or higher, or ② the image is a flat graphic or screenshot — not a photo — exported as JPEG. Lower the quality value, or for images with few colors try PNG or WebP, which can be smaller.
Lowering quality barely reduces the size
Highly detailed photos (grass, sand, fur, noise) carry a lot of information, so there's a limit to what quality alone can do — the canvas keeps the original resolution and only adjusts quality. In that case reducing resolution is far more effective: shrink the width with the resize tool first, then compress. Cutting a 4000px photo down to 1600px alone drops the file size dramatically.

Compressing also strips location (EXIF) data

This tool redraws the photo onto a canvas and exports with toBlob, and in that step the EXIF metadata baked into the original (GPS coordinates, capture time, camera model) does not carry over to the result. Canvas re-encodes pixels only and doesn't copy metadata — so compression also removes location and device info as a side effect.

That keeps your home location from leaking when you post photos to social media or marketplaces. To strip only the metadata while keeping full quality, use EXIF removal.

Related tools

What happens to EXIF data (location, capture time)?
Redrawing through the canvas API automatically strips all EXIF metadata. This is a privacy benefit when posting photos on social or blogs (geo-tags get removed). Keep originals if you need camera or capture-time metadata.
Can it handle large files (20MB+)?
Technically yes, but mobile browsers may stall above 30–50MB due to memory limits. Desktop Chrome handles up to ~100MB reliably. For very large files, downscale first with the resize tool, then compress.
Why is the quality slider disabled for PNG?
PNG is a lossless format, so it has no quality concept — canvas's toBlob('image/png') ignores the quality argument. To shrink a PNG, switch the output format to JPEG or WebP, which actually shrinks via lossy compression.
Why is WebP smaller than JPEG?
WebP, released by Google in 2010, averages 25–35% smaller than JPEG at the same quality. It uses a more efficient VP8-based codec and supports transparency. Compatibility is a bit weaker than JPEG, so pick based on use case.

Frequently Asked Questions

What can I use compressed photos for?
Common cases: Gmail's 25MB attachment limit, messaging apps' per-image limits, and Instagram / blog upload guidelines (typically 1–2MB). Quality 0.7–0.8 usually gives no visible loss while reducing file size by 30–60%.
Is the original file uploaded to a server?
No. All processing happens in the browser via the canvas API. Even the site operator cannot see your files. Safe for IDs, resumes, and other sensitive images.
Does PNG also get compressed?
PNG is lossless, so the quality slider can't reduce its size. To shrink a PNG significantly, change the output format to JPEG or WebP. JPEG is best when transparency isn't needed; WebP keeps transparency at smaller sizes.
Quality dropped too much after compression.
Push the slider to 0.8 or above. 0.7–0.85 is the sweet spot — visually lossless while still shrinking. Below 0.5 you'll see blocking and noise. Use 0.9+ for printing or detailed viewing.
Can I compress multiple images at once?
Currently this tool processes one image at a time. Batch support is on the roadmap. For now, fix the format and quality, then quickly process images one by one with the same settings.
Where doesn't WebP open?
Modern browsers (Chrome, Edge, Firefox, Safari 14+) and recent Windows / macOS support WebP. Some legacy messaging apps and older Windows photo viewers don't. Choose JPEG for compatibility, WebP for smaller size.

References

Last reviewed: 2026-05-09 / Powered by the browser's canvas API.
⚠️ For printing, legal submissions, or anything where the original matters, keep the original. Compression is irreversible.