Photo and picture compressor
Drop in a few dozen JPG, PNG, WebP or AVIF files and compress them under one rule: quality, longest edge, or a target file size it works down to by itself. Every row shows original → compressed bytes, so you can see how much smaller each picture got; open one to compare quality behind a draggable divider, then zip the lot. Nothing is uploaded and nothing is charged.
Drop a batch at once, or click to multi-select
JPG / PNG / WebP / AVIF, up to 60 files at 50 MB each. Decoding, scaling and encoding are all local — the originals never leave this device.
How image compression works
Decode, then subtract pixels
When scaling is on, pixels come off first, along the longest edge — stepped halving for large reductions so a single big jump does not produce aliasing. Small images are left alone: it only ever scales down.
Encode against the constraint
Without a target size there is a single encode. With one, it walks down the quality ladder, then shrinks dimensions in 25% steps (up to three rounds, never below 320px). If neither works it is marked “missed” — it will not claim success.
Never hand back a bigger file
If the output is larger than the original at the same dimensions, the original file is delivered instead — compressing can never make things worse. The same principle refuses animated GIF and HEIC up front (a canvas re-encode flattens the animation; browsers cannot decode HEIC) and prints the reason on the row instead of dropping the file silently.
Quality settings that actually shrink the file
These are not official recommendations — they are ranges that hold up across a batch of similar images. How much you save depends on the source: recompressing an already-compressed photo saves far less, while a flat-colour PNG screenshot often drops 80% where a camera JPEG manages 40%.
Swipe to see the full table →
| Where it goes | Quality | Longest edge | Notes |
|---|---|---|---|
| Web images / blog illustrations | 75 – 85 | 1600 | Usually halves the file; no visible difference at 1× on screen |
| Chat / email attachments | 70 – 80 | 1920 | Text stays legible; aims under 300 KB. Need 100 KB for a form? Switch to target size |
| Product pages / marketplace images | 85 – 90 | 1200 – 1600 | Protects texture and type edges; below 80 they flatten |
| Asset archiving | 60 | No scaling | Size first; add a target size to cap every file at a hard ceiling |
File size or pixel size?
“Reduce image size” and “lower image size” arrive as the same question, and it splits two ways: this page lowers the bytes — same picture, smaller file, composition untouched — while changing pixel dimensions is the other tool’s job. For 11 social specs pre-cut to exact sizes, use thesize converter for per-platform widths and crops, or theicon forge for favicons and app icons. If a batch needs cropping first, crop and export in the converter, then bring it back here.
Common questions
Is this image compressor free, and are my photos uploaded?
No on both counts. Decoding, scaling and encoding all run in the browser canvas, and the page has no endpoint that accepts a file. Open the Network panel to check: apart from the page’s own static assets, no request carries your image. No account, no watermark, no daily cap.
How do I reduce image file size without losing quality?
Start at quality 80–85 with the longest edge at 1600–1920 px. On camera JPEGs that normally cuts 50–70% with nothing visible at 100% zoom. Below about 70, blocking starts to show in flat skies and gradients; below 50 it is obvious. When you need a hard number — 100 KB, 200 KB, a portal limit — switch the mode to target size and let it walk quality down first, then dimensions.
Why did my photo not get smaller?
Two cases. The source may already be a heavily compressed artefact — something a social platform handed back — where re-encoding only makes it worse; or “longest edge” was off, so dimensions stayed the same and the encode came out larger. Both deliver the original and mark the row “kept original”, so a photo size reducer never hands back a bigger file than you gave it.
Should I compress a JPEG to JPEG or to WebP?
Every current browser supports WebP (Chrome, Edge, Firefox, Safari 14+), and at the same visual quality it is typically 25–35% smaller than JPEG. If the files go to legacy systems, email clients or a CMS that checks MIME types, pick JPEG explicitly in output format — a JPEG compressor saves less but never breaks a pipeline. Smart mode keeps JPEG sources as JPEG and converts PNG / WebP / AVIF sources to WebP.
Is EXIF data preserved when a photo is compressed?
No. Re-encoding writes pixels only: camera model, aperture, shutter speed, ISO and GPS coordinates are all discarded. That is usually what you want — a photo posted publicly no longer carries the coordinates of where it was taken — but if you rely on EXIF for archiving, keep the original file alongside the compressed one.
Can I compress a whole folder at once?
A batch holds 60 files of up to 50 MB each, and every one is encoded independently — a single failure does not stall the queue. Changing a parameter afterwards does not re-run anything: hitting a target size means up to nine encodes per image (six quality steps plus three resize rounds), which would lock the main thread on every slider tick. The flow is change → notice → press re-compress once; the single-image tools still update live because their output is small.
Need different pixel dimensions instead?Use the size converter