Compress JPEG photos with MozJPEG in this tab
Compress jpeg photos when the camera already saved a JPEG and the mailbox or the form wants fewer bytes. Output on this page starts as JPEG, so a PNG or WebP you add is encoded toward JPEG as well. Quality starts at 80. Target size 0 and max side 0 leave those hunts off. Metadata stripping starts on. The file never leaves this tab.
Loading tool…
or drop / paste
How to compress jpeg photos
- Add a JPEG, or a PNG or WebP you are willing to save as JPEG. Drop, paste, or Choose files. Up to one hundred files can share one run.
- Leave output on JPG. That is the default here. Keep format and PNG are still in the list if you change your mind, but this page is tuned for JPEG output.
- Start from quality 80. Move it down for a smaller file or up toward 100 if the photo is already tight and you mostly want the camera note gone.
- Set a target size in KB only for a real cap. Zero means off. Set max side only when the long edge should shrink. Zero keeps the pixel dimensions.
- Leave Strip metadata on for a share, or turn it off if you still need the camera note. Press Compress images and download the JPEG, or a ZIP of several.
Compress JPEG options explained
Output defaults to JPG on this page. A JPEG stays a JPEG. A PNG or WebP is decoded and encoded as JPEG, so transparency is not kept, because JPEG has no alpha channel.
Quality defaults to 80 and is the MozJPEG setting whenever the file is actually re-encoded. Quality 100 with max side 0, target size 0, and stripping on does not re-encode a JPEG. It remuxes it.
Target size 0 means off. A positive target searches JPEG quality and, if that is not enough, scales the photo down. Max side 0 means keep the dimensions. A positive max side limits the longest edge before the encode.
Strip metadata defaults to on. On the remux path the compressed scan is copied and the camera segments are dropped, so the pixels stay identical. On every other path MozJPEG writes a new scan and the old segments are not copied.
Why this page defaults to JPEG
The general compress image page leaves the format alone. Compress jpeg points the output at JPEG on purpose, which is what you want for a camera photo, a scan saved as JPEG, or a PNG you have already decided can become a photo file. You do not have to remember to change the menu.
PNG and WebP can still be added. They are decoded and sent out as JPEG at the quality you set. Flat screenshots with text often look worse as JPEG than they did as PNG. If the file is a diagram, compress png or png to webp is usually the better page.
The quality 100 remux
If you only want the camera data gone and the picture untouched, set quality to 100, leave target size at 0, leave max side at 0, and leave stripping on. A JPEG that meets those rules is remuxed. The scan that holds the pixels is copied. The extra segments are removed.
Change any one of those conditions and the remux is no longer allowed. A lower quality, a max side, or a target size means MozJPEG encodes the pixels again. That can shrink the file a lot, and it also means the picture is a new JPEG, not the original scan.
What a JPEG pass will not keep
JPEG has no transparency. A PNG logo with a clear background becomes a solid rectangle in the JPEG. This page does not offer the background colour field that png to jpg has. If the clear edge matters, convert on that page first and pick the colour, then compress if the JPEG is still heavy.
This page does not write DPI, and it does not rotate. A sideways JPEG stays sideways. Use rotate image first if the decoder should apply the orientation tag and then drop it. HEIC files are not opened here. Use heic to jpg, which already strips metadata on the JPEG encode.
Common targets
Limits, formats and output
| Accepted input | JPEG, PNG, WEBP |
|---|---|
| Files per batch | 1–100 |
| Soft size warning | 50 MB each |
| Hard stop | 500 MB total in memory |
| Output | The chosen image format, or a ZIP for a batch |
| Account | None. The tool runs in this tab. |
Your file never leaves your device
This JPEG is compressed by code that runs only in this tab. The work runs in a Web Worker in this tab, using WebAssembly for the heavy parts, and the result comes back as a local blob. This site does not upload the file, store it, or log its name.
To verify: load the page, turn on airplane mode, and drop the file again. It still finishes. Or open DevTools, choose Network, and watch the run: there is no upload. The architecture is described on How it works.
Frequently asked questions
Is compress jpeg different from compress image?
The engine is the same. This page defaults the output toward JPEG and the copy is about that path. Compress image defaults to keeping the format you brought. Use this page when you already know the download should be a JPEG.
When do pixels stay identical?
Only for a JPEG in, JPEG out, quality 100, max side 0, target size 0, and metadata stripping on. That is a remux. Any resize, any target, or any quality under 100 sends the photo through MozJPEG, and the pixels are encoded again.
What if I add a PNG?
It is decoded and encoded as JPEG at your quality, because output defaults to JPG. You lose transparency. If you wanted a smaller PNG instead, switch to compress png and leave colour reduction off for a lossless OxiPNG pass.
Does the target resize the photo?
It can. The search tries JPEG qualities first. If the file is still over the target, the photo is scaled down in steps. Leave the target at 0 if you want quality alone to decide and the dimensions to stay.
Can I compress a folder of JPEGs?
Yes, up to one hundred files, all with the same quality, target, and max side. Download them one by one, or as a ZIP when more than one result is ready. Mixed PNG files in that list become JPEGs too.
Does this work with the network off?
After the first load, yes. The codec is cached with the page. Run a JPEG again in airplane mode. If it still finishes, the file was handled in the tab and was not uploaded.
Last updated 2026-09-26. By Tam.