Compress JPEG
Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.
Compress JPEGDrop in your WebP files and get PNGs back, with transparency carried across untouched.
WebP files are accepted. Paste from clipboard with Ctrl+V (Cmd+V on a Mac).
Output on this page is always PNG. Every other setting is yours, and the compressors elsewhere on the site let you pick any format.
Removes timestamps and embedded comments from the output.
Convert without changing the pixel size of the image.
Ready. Add a file to begin.
Lossless mode · PNG output · 0 files
No files yet. Results will appear in this table as soon as you add one.
Your files are processed by your own browser. Nothing is uploaded to a server, so nothing can be stored, read or shared.
More tools
Each one runs in the browser the same way, with no upload and no account.
Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.
Compress JPEGReduce PNG screenshots and graphics while keeping transparency and hard edges intact.
Compress PNGRe-encode WebP images at a lower quality, or convert JPEG and PNG into WebP.
Compress WebPChange pixel dimensions by width, height or percentage, with the aspect ratio locked.
Resize an imageCombine several photos into one PDF, reorder the pages and choose paper size and margin.
Build a PDFWrite a formatted document in the browser and export it to PDF, DOCX or HTML.
Open the editorSpecification
Every capability written out as text, including the ones where the answer is no. A specification that only listed the wins would not be worth reading.
| Attribute | This tool |
|---|---|
| Supported input formats | JPG and JPEG |
| Output formats | JPEG, PNG, WebP |
| Compression type | LossyJPEG discards detail permanently by design. PNG output is lossless but far larger for photographs. |
| Quality control | Adjustable, 10 to 100Maps directly to the encoder's quality setting. Moving it genuinely changes the output. |
| Exact output file size | Yes — target in KBThe encoder searches for the highest quality that fits under your limit, then reports the size it actually reached. |
| Resize / image dimensions | Yes — max width and heightAspect ratio preserved. The resizer page adds exact pixel and percentage modes. |
| Batch / bulk processing | UnlimitedFiles are encoded in parallel across a Web Worker pool and can be downloaded as one ZIP. |
| Maximum file size | No limit set by this siteBounded in practice by your device's memory, since each image is held uncompressed while it is processed. |
| EXIF and metadata | Stripped by defaultCamera model, timestamps and GPS coordinates are removed. You can switch it off. |
| Transparency / alpha channel | Not applicable to JPEGJPEG has no alpha channel. Choose PNG or WebP output if you need transparency. |
| Chroma subsampling control | Not availableThe browser's encoder chooses it and exposes no setting. We will not add a control that cannot affect the output. |
| Progressive JPEG control | Not availablecanvas.toBlob gives no control over progressive encoding. Use MozJPEG or ImageMagick if you need it. |
| Colour profile handling | Converted to sRGBA browser canvas works in sRGB, so wide-gamut images are converted. Correct for the web, wrong for print masters. |
| Bit depth | 8 bits per channelThe maximum a browser canvas provides. HDR and 10-bit output need AVIF, which browsers cannot write. |
| Animation support | Not supportedA canvas decodes only the first frame of an animated file, so animation is out of scope rather than half-supported. |
| Where processing happens | In your browserNo upload endpoint exists in the compression path. Disconnect from the network after the page loads and it still works. |
| File retention | None — nothing is receivedThere is no copy to retain or delete, because no file is ever transmitted. |
| Watermark | NeverThe output contains your image and nothing else. |
| Account, quota or cost | NoneNo sign-up, no daily cap, no paid tier withholding a feature. |
| Browser support | Chrome, Edge, Firefox, SafariDesktop and mobile. Requires Canvas and Web Workers, which every current browser provides. |
How it works
Drag them onto the drop zone, click to browse, or paste from the clipboard. Batches are fine.
The default suits most images. Move it if you want a smaller file or a more faithful one.
Each row shows the size before and after. Save them one at a time or as a single ZIP.
Features
Queue as many image files as you like. A Web Worker pool handles them in parallel so a large batch does not freeze the page.
The quality slider maps directly to the encoder setting. Move it and the output genuinely changes — there are no cosmetic controls here.
Ask for 200 KB and the encoder searches for the highest quality that fits under your limit, then reports what it actually achieved.
Camera model, lens, timestamps and GPS coordinates can be removed on the way out. Useful before publishing a photo taken on a phone.
Write the result as JPEG, PNG or WebP regardless of what you put in, so you can test which format is smallest for a given image.
The whole pipeline runs in your browser through the Canvas API. Turn off your network connection after the page loads and it still works.
The output is your image and nothing else. There is no account, no daily quota and no paid tier holding back a feature.
The layout, the drop zone and the results table are all usable on a phone, and mobile browsers run the same encoder as the desktop ones.
In depth
This conversion almost always produces a larger file, and that is not a fault — it is the point. WebP is a compressed format built for the web; PNG is lossless and stores every pixel exactly. Going from one to the other means giving up the compression that made the WebP small.
A 200 KB WebP photograph commonly becomes a 1.5 MB PNG. If your goal was a smaller file, this is the wrong conversion; if your goal is compatibility with something that refuses WebP, it is exactly right.
The usual reason is software that has not caught up. Plenty of content management systems, older desktop applications, print workflows and internal tools still reject a WebP upload outright, even though every browser has displayed the format for years.
Converting to PNG is the safe answer because PNG is universally understood and lossless, so nothing degrades on the way. If file size matters more than universality, converting to JPEG instead will produce something far smaller — at the cost of transparency.
Lossless compression rewrites the file so it takes up less space while every pixel value survives exactly. Decode the result and you get the original back, byte for byte. PNG, GIF and lossless WebP work this way, and so does a ZIP archive.
Lossy compression throws information away on purpose. JPEG converts the image to a frequency representation, then discards the high-frequency detail your eye is least likely to miss. The result cannot be reversed: the discarded detail is gone. That is also why lossy formats reach file sizes lossless ones cannot approach — a photo saved as PNG is routinely five to ten times larger than the same photo saved as JPEG at a sensible quality.
Neither one is better. Photographs, with their smooth gradients and noise, suit lossy encoding. Screenshots, logos, line art, charts and anything with large flat areas and hard edges suit lossless encoding, because lossy encoders produce visible haloes around sharp boundaries.
JPEG has no alpha channel. It cannot store transparency in any form. When a transparent PNG is converted to JPEG the transparent pixels have to become something, and most tools silently fill them with black — which is why a logo exported to JPEG so often arrives with an unwanted dark box around it.
If your image has transparency you have three sensible options: keep it as PNG, use WebP (which supports alpha and is typically 25–35% smaller than PNG for the same image), or flatten it onto a known background colour deliberately rather than letting an encoder choose for you.
PNG's own compression is lossless and works best on images with few distinct colours and large uniform regions. A screenshot of a text document compresses beautifully. A photograph saved as PNG does not, because virtually every pixel differs from its neighbour and there is no redundancy for the algorithm to exploit.
Questions
Every answer below is present in the page source, expanded, so it can be read without opening anything.
Yes. Both WebP and PNG carry a full 8-bit alpha channel, and it is copied across untouched. This is the main reason to choose PNG rather than JPEG as the destination.
Because PNG is lossless. It records every pixel exactly, with no ability to discard detail your eye would not miss. The WebP was small precisely because it did discard some. Converting cannot recover that detail, but it does have to spend bytes storing what remains, exactly.
No, and it is worth being clear about that. Detail discarded by the original WebP encode is gone permanently. The PNG is a faithful, larger copy of the compressed image — not a restored original.
No. This tool works on still images, and an animated WebP would be reduced to its first frame. There is no animation support here and none is advertised.
If the image is photographic and has no transparency, yes — the JPEG will be a fraction of the PNG's size and will be accepted by the same software. Use PNG when transparency or exact pixel fidelity matters.
No. Decoding and re-encoding both happen in this browser tab on your own device.
Related topics
Related concepts, formats and guides across the site. Every link goes to a page that covers the term properly.
From the blog
Longer explanations from the blog.
WebP produced a 27.0 KB file against MozJPEG's 41.1 KB on the same photograph at slightly higher measured fidelity — 34% smaller. It also produced a larger file than JPEG on random noise. The advantage is real and content-dependent.
9 min read
PNG stored the same photograph in 1274.1 KB where JPEG needed 67.5 KB — nineteen times larger. On a flat graphic PNG won. On a smooth gradient PNG lost to JPEG by a factor of two, which surprises most people.
9 min read
Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.
8 min read