Image Compression Tested
Every compression format taken to the same near-identical quality on three real photographs, then measured. The smaller the number, the better it compresses.
"Which format compresses smallest" only means something at equal quality. So we did exactly that: took three real photographs and compressed each format down to the same near-identical quality (about 40 dB PSNR, where the difference is very hard to see), then measured the file that came out. Formats that only reduce size by throwing quality away, like GIF and WBMP, are shown with the quality they actually keep.
The compressor accepts 60+ image formats, but most of those share one of these compression engines. The 69 collapse to the 16 distinct behaviours below: the JPEG family (JPEG, JPE, JFIF, JFI, JIF, JPS) is one codec measured once, while dozens of formats (BMP, TGA, PPM, RGB, YUV, SUN, SGI and similar raw or 1-bit types) store pixels without real compression and only get larger, so testing them separately would add rows that all say the same thing. What follows is every genuinely different way an image can be compressed.
Method: each photo started as a lossless PNG. For the lossy formats we searched the quality setting for the smallest file that still held 40 dB. Lossless formats report their fixed size, since they cannot trade quality for size.
How were the image compression sizes measured?
Three real photographs were saved as lossless PNG references. For each lossy format, FFmpeg 7.1 encoded the photo repeatedly, searching for the lowest quality setting that still measured at least 40 dB PSNR against the source, and recorded that file size. Lossless formats were encoded once. Palette (GIF) and one-bit (WBMP) formats were encoded once and their real quality measured.
ffmpeg -i photo.png -c:v libwebp -quality 70 out.webp # tuned to hit 40 dBThe results are the average across the three photos as a percentage of the PNG source. A brand-new photo compresses far more than one that is already a JPEG.
- WEBP produced the smallest near-identical file at 2% of the PNG, with JPEG and AVIF close behind at 3% and HEIC at 9%.
- Among lossless formats, FFV1 (31%) and WEBP lossless (34%) were the most efficient, well ahead of QOI (83%) and TIFF (no gain over PNG).
- GIF and WBMP look small (32% and 10%) only because they discard color or drop to black and white, so their quality falls far below the rest.
| Format | Type | Smallest at equal quality | Quality held | Verdict | Notes | Learn |
|---|---|---|---|---|---|---|
| JPEG | Lossy | 3% | 40.1 dB | Excellent all-rounder | Works everywhere | |
| WEBP | Lossy | 2% | 40.1 dB | Smallest for the web | All modern browsers | |
| AVIF | Lossy | 3% | 40.3 dB | Smallest, newest support | Newer browsers | |
| HEIC | Lossy | 9% | 40.2 dB | Small, Apple-first | Apple ecosystem | |
| JP2 | Lossy | 12% | 40.3 dB | Niche, much larger | Limited support | |
| PNG | Lossless | 100% (baseline) | Identical | Universal lossless | Baseline reference | |
| APNG | Lossless | 100% (baseline) | Identical | PNG size, adds animation | Same size as PNG | |
| WEBP-LL | Lossless | 34% | Identical | Smaller lossless, web | All modern browsers | |
| FFV1 | Lossless | 31% | Identical | Best lossless ratio | Archival, not web | |
| QOI | Lossless | 83% | Identical | Fast, modest ratio | Niche, fast encode | |
| TIFF | Lossless | 100% (baseline) | Identical | No gain over PNG here | Print, editing | |
| JPEG-LS | Lossless | 71% | Identical | Solid lossless ratio | Medical, niche | |
| Lossless-JPG | Lossless | 84% | Identical | Weak, largely obsolete | Legacy | |
| MagicYUV | Lossless | 67% | Identical | Good ratio, video roots | Capture, editing | |
| GIF | Palette | 32% | 20.9 dB | Small but drops color | 256 colors only | |
| WBMP | 1-bit | 10% | 7.8 dB | Tiny but black & white | Legacy mobile |
Sizes are the average across three real photos, relative to the lossless PNG of each, at roughly equal quality where the format allows it. GIF and WBMP show the quality they actually keep. Your own results vary with the image and settings.
Compress your images free
Pick a format above, then drop your file into our in-browser compressor. Nothing uploads to a server.
Open the Image CompressorReferences
Frequently Asked Questions
Which format compresses an image smallest at equal quality?
WEBP, at 2% of the lossless PNG while holding 40.1 dB PSNR. JPEG and AVIF both landed at 3%, at 40.1 dB and 40.3 dB. HEIC needed 9% to reach 40.2 dB and JP2 needed 12%.
Why compare formats at the same quality instead of the same setting?
Because "smallest file" is meaningless on its own: any format looks good if you let its quality collapse. Each lossy format here was searched for the lowest quality setting that still measured at least 40 dB PSNR, a level at which the difference is very hard to see, and then the resulting file size was recorded.
Why are GIF and WBMP shown separately?
They cannot hit 40 dB at all. GIF is limited to 256 colors and measured 20.9 dB, while WBMP is one-bit black and white and measured 7.8 dB. Their 32% and 10% sizes come from discarding color, not from compressing better.
Which lossless format should I use?
FFV1 was smallest at 31% of the PNG, with lossless WEBP very close at 34%. Both are far ahead of MagicYUV at 67%, JPEG-LS at 71% and QOI at 83%. TIFF and APNG showed no gain over PNG. For the web, lossless WEBP is the practical pick since FFV1 is an archival codec.
Why does the comparison show 16 rows when the converter accepts more formats?
Most of those formats share a compression engine. The JPEG family (JPEG, JPE, JFIF, JFI, JIF, JPS) is one codec, measured once, and dozens of raw or one-bit types such as BMP, TGA, PPM, RGB, YUV, SUN and SGI store pixels without real compression. Listing them separately would add rows that all report the same behaviour.
Will my own files compress this much?
Probably not by the same ratio. These figures start from a lossless PNG of a brand-new photograph, which has the most detail available to remove. A file that is already a JPEG has been compressed once and will shrink far less.
What is 40 dB PSNR in practical terms?
PSNR measures how close the compressed image is to the original in decibels, and higher is closer. At roughly 40 dB the difference from the source is very hard to see on a normal screen, which is why it was chosen as the equal-quality target for every lossy format here.
How were these sizes measured?
Three real photographs of about 1.5 to 3.9 MB each were saved as lossless PNG references. FFmpeg 7.1 encoded each lossy format repeatedly, searching for the lowest quality that still held 40 dB PSNR, while lossless formats were encoded once. Every figure is the average across the three photos.