Compress JPEG
Shrink JPG and JPEG photos with a quality slider or an exact target size in kilobytes.
Compress JPEGDrop in your PNGs and get JPEGs back. Transparency is flattened deliberately, not silently.
PNG files are accepted. Paste from clipboard with Ctrl+V (Cmd+V on a Mac).
Output on this page is always JPEG. Every other setting is yours, and the compressors elsewhere on the site let you pick any format.
Removes text chunks, timestamps and embedded comments from the output.
JPEG has no alpha channel, so transparent areas must become a solid color. Leave this on unless you want them filled with black.
Convert without changing the pixel size of the image.
Ready. Add a file to begin.
Quality mode · JPEG 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. |
| Color 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 runs them in parallel, so a large batch never freezes the page.
The slider maps straight to the encoder setting. Move it and the output genuinely changes — nothing here is cosmetic.
Ask for 200 KB and the encoder finds the highest quality that fits, then reports the size it achieved.
Camera model, timestamps and GPS coordinates are removed on the way out — worth doing before publishing a phone photo.
Write the result as JPEG, PNG or WebP whatever you put in, so you can test which is smallest.
The whole pipeline runs in your browser through the Canvas API. Disconnect your network 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
JPEG has no alpha channel. It cannot store transparency in any form. So when a transparent PNG becomes a JPEG, every transparent pixel has to become some actual color.
Most tools fill them with black without mentioning it, which is why logos exported to JPEG so often arrive inside an unwanted dark box. This page fills them with white by default and gives you a switch to control it, because the choice belongs to you rather than to an encoder's default.
If the transparency matters, do not convert to JPEG at all. Keep the PNG, or use WebP, which is smaller than PNG and keeps the alpha channel intact.
Converting PNG to JPEG is worth it when the content is photographic. A photograph stored as PNG is commonly five to ten times larger than the same image as a quality-82 JPEG, for no visible benefit whatsoever — PNG simply has no way to exploit the noise and gradient that make up a photograph.
It is the wrong move for screenshots, logos, diagrams and anything containing text. Those have hard edges, and lossy encoding puts visible haloes around them. Chroma subsampling makes colored text worse still. For that content the PNG is usually smaller as well as sharper.
JPEG has no alpha channel and cannot store transparency. Converting a transparent PNG forces those pixels to become something, and most tools fill them with black — which is why a logo exported to JPEG arrives in an unwanted dark box. Keep it as PNG, use WebP (alpha support, typically 25–35% smaller than PNG), or flatten onto a chosen background deliberately.
Color is the other gap. Screens mix additively in RGB; printing presses mix subtractively in CMYK, and converting between them always approximates. A CMYK JPEG is converted to RGB before a browser can display it, and saturated cyans and deep blues can shift noticeably. Compress and resize in RGB for screens, and keep a separate CMYK master for print.
Lossless compression rewrites the file so every pixel survives exactly — decode it and you get the original back, byte for byte. PNG, GIF, lossless WebP and ZIP all work this way.
Lossy compression discards detail on purpose. JPEG converts the image to a frequency representation and throws away the high-frequency detail your eye is least likely to miss. That is irreversible, and it is how lossy reaches sizes lossless cannot: a photograph saved as PNG is routinely five to ten times larger than the same photograph as JPEG.
Neither is better. Photographs suit lossy encoding; screenshots, logos and line art suit lossless, because lossy encoders leave haloes around hard edges.
Questions
Every answer below is present in the page source, expanded, so it can be read without opening anything.
They are filled with white by default, and the toggle lets you change that. This is not optional behavior we invented — JPEG genuinely has no way to record transparency, so something has to fill those pixels. We would rather tell you than let you discover it after the download.
For a photograph stored as PNG, dramatically — reductions of 80–95% are routine, because PNG was the wrong container for that content in the first place. For a screenshot or a logo the saving is much smaller and comes at a visible cost, which is a good sign you should not be converting it.
Almost certainly. Text and interface edges pick up ringing — faint ghost echoes either side of each hard edge — and colored text can smear because JPEG stores color at half resolution. Screenshots belong in PNG or WebP.
No. JPEG is lossy: detail is discarded permanently, and converting the JPEG back to PNG produces a large file containing the compressed image's artifacts rather than the original. Keep your PNG.
Yes, as many as you like. They are processed in parallel and can be downloaded together as a ZIP.
No. The conversion happens on a canvas inside this browser tab. No file is transmitted at any point.
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.
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
Quality 80 is not 80% of anything. It is an index into a quantisation table. Measured on one photograph: dropping from 100 to 90 removes 77% of the file and 4.2 dB of fidelity; dropping from 40 to 30 removes 17% and costs almost as much.
8 min read