Reduce JPG size with this JPEG compressor
To reduce JPG size, save the image again as JPEG at a lower quality or with fewer pixels. This page opens with JPEG output and the Quality slider at 80. It compresses one JPG or JPEG file in your browser, then shows the original and the new file side by side with their actual sizes.
Compare the result
Preview both images, then choose what to keep.
to preview it here.
No image selected.
to compare the result.
Your result will appear here.
Actual byte savings will appear after compression.
Preview images fit these panels; downloads use the reported dimensions. Each new run starts from the original decoded image.
Details
| Image | Original | Result |
|---|---|---|
| File size | ||
| Dimensions | ||
| Quality | Original |
How to reduce JPG file size
Open the JPG, set the quality and press Compress image. The steps use the labels on this page.
- Drag and drop a JPG on the box, or click the box to choose a file. The page shows its file size and its pixel dimensions.
- Keep JPEG under Output format. This page selects it for you, and Reset returns to it. PNG, WebP and AVIF files you open here also come out as JPEG.
- Move the Quality slider. It runs from 0 to 100 and starts at 80. A lower value usually gives fewer bytes and less detail.
- To remove pixels as well, tick Resize image (optional) and type a value in Longest edge (pixels).
- Press Compress image, then compare the two previews and the byte summary.
- Select Download result to save the new file, whose name ends in -compressed.jpg. Select Keep original to save the file you opened.
How much smaller a JPEG gets
Quality and pixel count decide most of a JPEG's size. We saved a 4000 × 3000 pixel test image, with smooth color and fine grain, at quality 95. That file took 3.37 MB. On this page in Chrome it came out at these sizes:
| Setting | New size | Saved |
|---|---|---|
| Quality 90 | 2.3 MB | 31.7% |
| Quality 80 | 777.56 KB | 76.9% |
| Quality 60 | 236.98 KB | 93.0% |
| Quality 40 | 101.61 KB | 97.0% |
| Quality 80, longest edge 2000 | 83.53 KB | 97.5% |
| Quality 80, longest edge 1000 | 28.13 KB | 99.2% |
Halving the width and height at quality 80 cut the result from 777.56 KB to 83.53 KB. Below quality 80, each step saved less: 541 KB from 80 to 60 and 135 KB from 60 to 40. Sizes use decimal units, so 1 KB is 1,000 bytes. A real photo gives its own numbers, so read the byte summary for your file.
When the page keeps your original JPG
If a new JPEG with the same pixel size is not smaller, the page gives back the file you opened. The button then reads Download original, the Details table says Original unchanged, and the summary says how much larger the attempt was. The kept file has your exact bytes, EXIF data included.
This happens with a JPG that was already saved at a low quality. We saved the same test image at quality 50, which gave 151.07 KB. Quality 90 made an attempt 48.6 KB larger, quality 80 one 23.11 KB larger and quality 50 one 492 B larger, so the page kept the original each time. Quality 40 gave 148.12 KB, a 1.9% saving.
A resize works another way. The page offers a resized result even when it is larger. At quality 90 with Longest edge (pixels) set to 2000, the 2000 × 1500 result was 57.7 KB larger than the original.
Quality, transparency and metadata
Each new JPEG is drawn again from the decoded pixels as an 8-bit sRGB image, so every quality changes some pixels. At quality 100, a 400 × 300 PNG crop of the test image came out with 31,856 of its 360,000 color values changed, by at most 3. Quality 100 also made the 3.37 MB test JPEG 4.25 MB larger, so the page kept the original.
In Chrome, the results below quality 100 stored color at half resolution (4:2:0 chroma subsampling). Quality 100 kept full color resolution (4:4:4).
JPEG has no transparency. The JPEG background color fills transparent areas and starts at #FFFFFF, which is white. In our test, the transparent border of a PNG came out as pure white.
The new file has no EXIF data, so camera details and a GPS location in the source do not carry over. A photo with an EXIF rotation is turned upright first.
Limits
This page compresses one JPG per run. If you drop several files, the page opens none of them. It has no target size setting, so it cannot aim for a size such as 100 KB or 1 MB.
The tool sets no byte or pixel cap. If your browser cannot hold the image in a canvas, the page stops with a memory error and offers no result. Resizing only makes an image smaller and never enlarges it. The page needs JavaScript to run.
The page uses the JPEG encoder built into your browser, and the sizes above come from Chrome. There is no setting for progressive JPEG or for chroma subsampling; our test results were all baseline JPEG files. A new file cannot keep EXIF data. Output format still lists PNG, WebP and AVIF if you want another format.
Questions
How to reduce JPG size to 1 MB?
Lower the Quality slider, press Compress image and read the new size in the summary. If the file is still above 1 MB, tick Resize image (optional) and enter a smaller Longest edge (pixels) value. To aim for an exact byte budget, use the image target file size tool.
Why is my JPG file so big?
A JPG grows with its pixel count and its quality setting. Our 12-megapixel test image, 4000 × 3000 pixels, took 3.37 MB at quality 95. The same image took 777.56 KB at quality 80. Resized to 2000 × 1500 at quality 80, it took 83.53 KB, about a tenth of that.
How can I compress a JPEG file to make it smaller?
Open the JPEG here, lower the Quality slider below 80 and press Compress image. Compare the previews first, because a lower value removes detail. A JPG that was saved at a low quality before may not shrink at a higher setting. The page then hands back your original, and a resize is the next thing to try.
How do I resize a JPG file?
Tick Resize image (optional) and type the length of the longer side in Longest edge (pixels); it starts at 1920. The width and height keep their proportions, and a smaller image is never enlarged. Before you compress, the Export line under the setting shows the new size in pixels.
Are my files uploaded?
No. The JPG is decoded and saved again by a Web Worker in your browser, and the page sends it to no server. The tool's browser test fails on any request to another origin or any non-GET request. It also checks that the main thread writes nothing to browser storage.