Free tool · JPEG output · Runs in your browser

Compress an image

No uploadRuns in your browserReviewed October 9, 2026

Short answer

Drag the quality slider (20% to 95%, default 70%) and the tool redraws your image on a white background and saves it as a JPEG, with the size shown as you move. Dimensions never change. At 70%, our 3.1 MB photo became 1564 KB (-48%), a 733 KB portrait 493 KB, and an 18.9 MB PNG graphic 1875 KB. A file that is already small can come out larger. Nothing is uploaded.

Key takeaways

  • Size falls much faster than similarity: for the photo, 95% was 3891 KB, 70% 1564 KB and 50% 1195 KB, while SSIM went 0.995, 0.916 and 0.896.
  • At 80%, the four larger images were 9% to 87% smaller and kept SSIM from 0.94 to 0.98. At 70% they were 48%, 31%, 59%, 90% smaller (photo, portrait, document, graphic).
  • A high quality can make the file larger than the original: at 95% the photo was 3891 KB (original 3028 KB), the portrait 981 KB (original 716 KB) and our 65 KB small JPEG 76 KB (18%). At 80% the small file was -26%.
  • The output is always a JPEG. A PNG with transparency is drawn on white, so the transparent parts turn white: our 17.99 MB graphic became 1875 KB at 70%, -90%.
  • The dimensions are not changed. If you need a file under a set size such as 100 KB, use the target size tool, which can shrink the picture as well.

What the tool does to your image

The tool decodes your file in the browser, draws it at full size on a white canvas and asks the browser to save that canvas as a JPEG. MDN describes the quality argument of toBlob as a number between 0 and 1 for formats with lossy compression such as image/jpeg. The slider is that number as a percentage.

The settings behind the Compress an image tool.
SettingValueWhat it means
OutputJPEGAlways, whatever you upload
Quality20% to 95%, default 70%Lower is smaller and softer
BackgroundWhiteTransparent areas become white
DimensionsUnchangedWidth and height stay as they were
InputAny image your browser can readJPEG, PNG, WebP and others

Measured: size at each quality

Measured in headless Chromium with the browser's own canvas JPEG encoder, the way the tools draw: a white background, then toBlob at the quality given. Five public domain images: a 3840 × 3877 photo (3.1 MB), a 2122 × 2644 portrait (733 KB), a 3827 × 1588 handwritten document scan (1.36 MB), a 5380 × 5432 PNG graphic with transparency (18.9 MB) and a small 441 × 517 JPEG (66.6 KB). SSIM compares each result with the original at the result's own size, so 1.0 would be identical. Other browsers use their own encoders, so sizes can differ.

QualityPhoto (2.96 MB)Portrait (715.7 KB)Document scan (1.30 MB)Graphic (PNG) (17.99 MB)
20%533 KB (-82%)113 KB (-84%)211 KB (-84%)744 KB (-96%)
35%869 KB (-71%)180 KB (-75%)292 KB (-78%)not measured
50%1195 KB (-61%)278 KB (-61%)374 KB (-72%)1377 KB (-93%)
65%1439 KB (-52%)329 KB (-54%)519 KB (-61%)not measured
70% (default)1564 KB (-48%)493 KB (-31%)550 KB (-59%)1875 KB (-90%)
80%2643 KB (-13%)650 KB (-9%)835 KB (-37%)2337 KB (-87%)
95%3891 KB (28%)981 KB (37%)1473 KB (11%)4854 KB (-74%)

File size at each quality, with the change against the original file.

The graphic shrinks furthest because a PNG is lossless and large to begin with. The portrait shrinks least: at 70% it was -31%, at 65% -54%. Size does not move smoothly with the slider.

Measured: how close the result is

SSIM is a score of how similar two pictures are. These are the same saves as above.

SSIM against the original at each quality; higher is closer.
QualityPhotoPortraitDocument scanGraphic (PNG)
20%0.8140.8570.8910.892
35%0.8700.8920.912not measured
50%0.8960.9210.9230.929
65%0.9130.9330.936not measured
70%0.9160.9460.9410.938
80%0.9730.9850.9510.944
95%0.9950.9950.9860.965

Going from 95% to 70% cost 0.03 to 0.08 of SSIM; going from 70% to 50% cost 0.01 to 0.02. SSIM cannot tell you whether a face or a line of text stays readable, so look at the result at the size you will use it.

When the file gets bigger

A JPEG saved at a lower quality has already lost the detail a higher quality would keep. Saving it again at a higher quality cannot bring the detail back, but it does spend bytes on the blocks the first save left. This is the same small file saved at every quality in the slider.

A small JPEG
QualityResultAgainst the originalSSIM
20%14,818 bytes-78%0.861
35%21,778 bytes-67%0.904
50%27,060 bytes-59%0.924
65%35,127 bytes-47%0.943
70%36,908 bytes-45%0.951
80%49,091 bytes-26%0.960
95%78,269 bytes18%0.996

66,554 bytes, 441 × 517) saved again at each quality.

The result was larger than the original at 95%. If the tool shows a larger number than your original, keep the original or choose a lower quality.

Choosing a quality

  • Photos for web or email: 70% to 80%. In our test 80% cut the larger images by 9% to 87% with SSIM 0.94 or better.
  • Anything you will print or edit again: keep the original and compress a copy.
  • Text and line art: look at the result closely. JPEG softens sharp edges, and a screenshot of text may look better as the PNG you started with.
  • A strict size limit: use the target size tool, so you do not have to guess a quality.

Free tools:Compress an image to a target sizeCompress an image to 100 KBCompress an image to 200 KBCompress an image to 50 KBConvert PNG to JPG

PNG, transparency and screenshots

The tool always writes a JPEG. A PNG logo with a transparent background comes out on white, and a flat-color PNG can look slightly fuzzy at the edges of shapes and text. Our graphic, a 17.99 MB PNG, was 1875 KB at 70% and 4854 KB at 95%. If you need transparency, do not use this tool.

Questions people ask

How do I compress an image without losing quality?

You cannot compress a JPEG without some loss. At 95% the photo was 3891 KB with SSIM 0.995; 80% was 2643 KB with SSIM 0.973.

What quality should I choose?

70% to 80% for most pictures. At 70% our four larger images were between 31% and 90% smaller.

Why did my compressed image get bigger?

The file was probably already a small JPEG. Ours (65 KB) grew to 76 KB at 95%. Lower the quality or keep the original.

Does it keep transparency?

No. The output is a JPEG on a white background.

Does it change the dimensions?

No. Only the quality changes. To shrink the dimensions as well, use the target size tool.

How do I compress an image to a specific size like 100 KB?

Use the target size tool or one of the size pages. It searches quality, and when quality is not enough it shrinks the picture.

Is my image uploaded?

No. It is decoded and saved in your browser.

Related

Sources and how we checked

  1. MDN: HTMLCanvasElement.toBlob() (read 2026-10-09)
  2. Wikimedia Commons: NASA, Portrait of Neil Armstrong (public domain); the other test images are NASA public domain files and the Bliss copy of the Gettysburg Address (read 2026-10-09)

Reviewed October 9, 2026. The measurements ran the tool's own code in headless Chromium with the browser's canvas JPEG encoder. The script and the results are in data/seo/hub/evidence/2026-10-09/image.