Free · no signup · never uploaded
Compress JPG
Make a JPG smaller without changing its dimensions. Pick a quality level, or set an exact target file size in KB and we find the best quality that fits.
Drop a JPG here
or drop your file here.
Nothing is uploaded — it stays on your device.
Runs in your browser — your file is never uploaded.
Add an image, then press "Compress image".
Short answer
To compress a JPG, drop it below and either pick a quality level or set a target file size in KB. Balanced typically saves 60–80% with no difference you can see on screen. It runs in your browser — the photo is never uploaded — and the real before and after size is shown every time.
Quality level or target file size
A quality level is the normal choice. JPEG discards the detail your eye is least sensitive to first, so the trade is heavily in your favour — Balanced usually removes most of the file size while leaving the photo looking untouched at normal viewing size.
Target file size is for when a form sets the rule instead of you. Rather than guessing which quality value lands under 200KB, the tool encodes at several and keeps the best result that fits. It searches between 40% and 92% quality — never lower, because below 40% the blocking artefacts make a photo unusable for most purposes.
Compressing a JPG is permanent
JPEG is lossy, and it is also generational: each save works from the previous save’s already-damaged output, so artefacts compound. Always compress from your original file rather than re-compressing a copy you compressed yesterday, and keep the original if you might later need to print or crop in tightly.
This also explains why an image you downloaded from a website barely shrinks here: it was already compressed once, and the detail that compresses cheaply is long gone.
Transparency becomes white
JPEG has no alpha channel at all. If your source carries transparency, it is composited onto a white background before encoding — that is deliberate, because skipping the step is what makes transparent areas come out black in some other tools. If you need to keep transparency, use the PNG compressor instead.
Related
- Compress JPG to 20KB — for ID photos and signature uploads.
- Compress without losing quality — what is actually possible.
- Compress any image — JPG, PNG or WebP.
JPG quality levels and what they cost
| Setting | Quality value | What it does |
|---|---|---|
| Smallest file | 50% | Visible softening — best for thumbnails |
| Balanced | 70% | Big savings, hard to tell apart |
| High quality | 85% | Near-original, moderate savings |
| Maximum | 92% | Barely lossy — smallest savings |
| Target-size search range | 40–92% | The band the automatic search explores when you set a target file size |
JPEG quality is not a percentage of anything you can see — it controls how aggressively detail is discarded before storage. The target-size search never goes below 40%, because past that point the blocking and haloing make the image useless for most purposes. Every re-save loses a little more, so always compress from the original rather than repeatedly re-saving the same JPG.
How we calculate this
JPG compression runs locally in your browser — here is exactly how:
- Decode. the JPG is decoded to a bitmap with createImageBitmap and drawn to a canvas — never uploaded to any server.
- Flatten. JPEG has no alpha channel, so if the source carried transparency it is composited onto white first. Skipping this is what turns transparent areas black in other tools.
- Re-encode. the canvas is exported with canvas.toBlob at the chosen quality value. The JPEG encoder discards high-frequency detail your eye is least sensitive to, which is why a large saving usually costs so little visible quality.
- Search, in target mode. when you set a target size we binary-search the quality value — encoding at most seven times and keeping the highest quality whose output still fits. If even the lowest usable quality overshoots, you get that version plus a clear message that the target was missed.
Assumptions
- Everything runs client-side; large photos are limited only by your device's memory.
- JPEG is lossy and generational — each re-save discards a little more, permanently.
- Pixel dimensions are never changed; compression alters storage, not size on screen.
- The search never drops below 40% quality, where JPEG artefacts stop being acceptable.
Last reviewed: July 21, 2026
Frequently asked questions
Is my JPG uploaded to a server?+
No. The file is decoded and re-encoded entirely inside your browser tab using the canvas API. Nothing is transmitted, which is why the tool still works with your network disconnected.
How much can a JPG shrink?+
A photo saved at maximum quality typically drops 60–80% at the Balanced setting with no difference visible on screen. A JPG that has already been compressed once will save much less — the easily-discarded detail is already gone. The real before and after size is shown every time, so you never have to estimate.
Can I compress a JPG without losing any quality?+
Not with JPEG itself — it is a lossy format by design, and every save discards some detail permanently. What you can do is lose nothing you can actually see: at 85–92% quality the difference is invisible on a screen while the file still shrinks substantially. If you need true lossless storage, PNG or WebP lossless are the formats for that, at a much larger file size.
Does compressing change the photo's dimensions?+
No. A 4000 × 3000 photo stays 4000 × 3000 — compression changes how the pixels are stored, not how many exist. Resize first and then compress when you need the largest possible reduction.
What happens if my target size is impossible?+
You get the smallest usable version and a message saying the target was not reached, rather than a silently destroyed image. The fix is to reduce the pixel dimensions first — that lowers the floor in a way quality alone cannot.
Why does compressing the same JPG repeatedly keep degrading it?+
JPEG is generational: each encode works from the already-damaged output of the last one, compounding the artefacts. Always compress from your original file rather than re-compressing a compressed copy.
Related tools
JPGs are compressed entirely in your browser and never uploaded. JPEG compression is lossy and cannot be undone, so keep your original file if you may need it later.