Image Load Lab

Guides Formats & Compression Tested Oct 17, 2026 16 images · cwebp 1.6.0

WebP Near-Lossless: Smaller Than Lossless, Cleaner Than Lossy?

Near-lossless WebP at level 60 made screenshots 13.2 % smaller than lossless WebP with a SSIMULACRA2 score of 94. For photographs it stayed almost four times larger than lossy quality 90.

WebP has a mode between lossless and lossy that few people use: near-lossless. It slightly adjusts pixel values before lossless compression, so that the file compresses better while every pixel stays close to the original. How much does near-lossless save compared with true lossless WebP, how close does it stay to the original, and when is it better than ordinary lossy WebP? We tested five settings on screenshots, synthetic graphics and photographs.

The test

We used four real screenshots of an earlier version of this site, four synthetic graphics generated by code (a gradient, a flat illustration, line art and a chart) and eight of our CC0 photos at 1600 pixels. Each image was encoded with cwebp 1.6.0 as lossless (-lossless -m 4), as near-lossless at levels 80, 60, 40 and 20 (-lossless -near_lossless N, where lower means more preprocessing; 100 is off), and as lossy WebP at quality 90 and 75 for comparison. Every file was scored with SSIMULACRA2 against the lossless source, where 100 means identical. Sizes are compared with the true lossless WebP of the same image. See our methodology.

Results

Bar chart for screenshots: lossless WebP 230.8 KB, near-lossless 60 198.8 KB with a score of 94, near-lossless 20 186.4 KB with a score of 86.5, lossy quality 90 54.1 KB with a score of 72.7
Median file size and quality score of four screenshots of this site at each cwebp setting. Chart generated from the linked CSV.
cwebp 1.6.0, -m 4; scores against the lossless source
Image group cwebp setting Median KB vs lossless WebP Median SSIMULACRA2 Lowest score
Screenshots (4) Lossless 230.8 – 100.0 100.0
Near-lossless 80 211.8 −8.3 % 95.2 94.9
Near-lossless 60 198.8 −13.2 % 94.0 93.6
Near-lossless 40 192.3 −16.0 % 91.9 91.3
Near-lossless 20 186.4 −17.9 % 86.5 85.3
Lossy q90 54.1 −77.6 % 72.7 69.3
Lossy q75 34.5 −85.8 % 67.2 65.6
Synthetic graphics (4) Lossless 113.4 – 100.0 100.0
Near-lossless 80 114.2 −1.4 % 92.4 91.9
Near-lossless 60 104.8 −4.3 % 92.0 90.9
Near-lossless 40 77.4 −10.2 % 91.4 90.3
Near-lossless 20 56.9 −19.5 % 89.7 87.4
Lossy q90 24.5 +14.9 % 84.4 80.2
Lossy q75 16.5 −22.8 % 81.5 75.6
Photos (8) Lossless 1,952.0 – 100.0 100.0
Near-lossless 80 1,464.1 −22.5 % 93.7 92.3
Near-lossless 60 1,247.0 −30.3 % 92.5 91.4
Near-lossless 40 1,187.2 −36.2 % 90.3 88.8
Near-lossless 20 1,185.6 −40.5 % 86.8 84.1
Lossy q90 330.2 −83.6 % 81.0 76.3
Lossy q75 157.7 −92.3 % 67.2 63.6

On screenshots, near-lossless saved 8–18 % and stayed almost indistinguishable. The four screenshots needed a median 356 KB as PNG and 230.8 KB as lossless WebP. Near-lossless 60 brought that down to 198.8 KB (13.2 % less than lossless WebP) with a median score of 94.0; level 20 reached 186.4 KB (17.9 % less) with a score of 86.5. Even the lowest score at level 40 was 91.3.

Lossy WebP was in a different size class. Quality 90 produced 54.1 KB for the same screenshots, 77.6 % less than lossless, but with a median score of 72.7: still good, but no longer near-identical. The crops below show where that difference lies: small coloured text becomes softer and duller in the lossy file, while near-lossless 40 looks the same as the source.

Three enlarged crops of small text in a screenshot: the PNG source and near-lossless 40 look the same, while lossy quality 90 makes the coloured heading text softer and duller
Crops of a screenshot of an earlier version of this site, enlarged 2× without smoothing (file sizes are for the whole screenshot). Select the image to open the lossless original.

On photographs, near-lossless is a poor compromise. Our photos needed a median 1,952 KB as lossless WebP; near-lossless 60 cut that by 30.3 % to 1,247 KB, which is still almost four times the 330 KB of lossy quality 90, a file that scored 81.0. Nobody serves 1.2 MB photos to save a few points of a quality score.

Synthetic graphics gained the most in relative terms. Near-lossless 20 saved a median 19.5 % over lossless WebP while scoring 89.7, and for flat graphics the lossless files were already small.

When near-lossless makes sense

  • Screenshots for documentation, UI mock-ups and diagrams with text, where lossy artefacts on letters are not acceptable but exact pixels are not required either. Near-lossless 40 to 60 saved 13–16 % over lossless WebP with scores above 91.
  • Not for photos. Use lossy WebP or AVIF; near-lossless leaves photographs several times larger.
  • Compare with lossy first. If a lossy quality-90 screenshot looks acceptable at the size it will be shown, it is about four times smaller than near-lossless. Our lossless screenshot test covers the lossless options in more detail.

Practical conclusion

WebP near-lossless is a useful middle step for screenshots and graphics: level 60 saved a median 13.2 % over lossless WebP on our screenshots while keeping a SSIMULACRA2 score of 94. For photographs it is the wrong tool; lossy WebP at quality 90 was about a quarter of the size.

Limitations

Small groups (four screenshots, four synthetic images, eight photos), one encoder version and one effort level (-m 4). The screenshots show an older design of this site at 1× density. Chrome and other browsers decode near-lossless files like any lossless WebP; we did not measure decoding speed.

Data and files

Download webp-near-lossless.csv (112 rows, 12.2 KB) · Method: testing methodology. Photos: image credits.