Key results
- Photos: WebP at 75% made the Kodak photos 92.3% smaller than the lossless PNG originals (mean PSNR 35.09 dB); JPEG at 75%: 89.6% (34.52 dB).
- Screenshots: palette PNG at 75% saved 58% at 58.24 dB, visually identical; JPEG saved only 21.6% and blurred text.
- Max size: with a 50 KB limit every photo fit (largest 49.9 KB); 4 of 24 needed smaller dimensions.
- Where it doesn't help: lossless PNG saved 0% on the photos, whose PNG files were already tightly compressed, so TinySquish kept the originals.
Kodak photo suite (24 ร 768ร512 PNG photos)
| Setting | Total size | Smaller by | Median per image | Mean PSNR |
|---|---|---|---|---|
| Keep PNG, quality 75% (256-color palette) | 14.68 MB โ 5.32 MB | 63.8% | 63.7% | 39.56 dB (min 35.32) |
| Keep PNG, quality 95% (lossless) | 14.68 MB โ 14.68 MB | 0% | 0% | lossless |
| Convert to JPEG, quality 75% | 14.68 MB โ 1.52 MB | 89.6% | 90.5% | 34.52 dB (min 30.51) |
| Convert to WebP, quality 75% | 14.68 MB โ 1.13 MB | 92.3% | 92.9% | 35.09 dB (min 33.01) |
| Convert to JPEG, max size 50 KB | 14.68 MB โ 1.13 MB | 92.3% | 92% | 32.77 dB (min 24.6) ยท 4 resized |
UI screenshots (4 PNG screenshots of this site)
| Setting | Total size | Smaller by | Median per image | Mean PSNR |
|---|---|---|---|---|
| Keep PNG, quality 75% (256-color palette) | 432.6 KB โ 181.9 KB | 58% | 58.2% | 58.24 dB (min 55.81) |
| Keep PNG, quality 95% (lossless) | 432.6 KB โ 360.0 KB | 16.8% | 17% | lossless |
| Convert to JPEG, quality 75% | 432.6 KB โ 339.1 KB | 21.6% | 22.1% | 37.55 dB (min 35) |
| Convert to WebP, quality 75% | 432.6 KB โ 198.2 KB | 54.2% | 54.6% | 40.38 dB (min 38.32) |
| Convert to JPEG, max size 50 KB | 432.6 KB โ 199.0 KB | 54% | 54.2% | 29.64 dB (min 25.67) ยท 3 resized |
Method
The benchmark drives the real app in headless Chromium, so it measures exactly the code visitors run. Each image is added through the file picker, compressed with the setting shown, and downloaded as a ZIP. Size reduction compares output bytes with the input PNG. PSNR (peak signal-to-noise ratio, higher is better; above about 40 dB differences are very hard to see) is computed over RGB after both files are decoded by the browser; outputs that were resized are scaled back up first, so the score includes the lost resolution.
Photos: the 24 images of the Kodak Lossless True Color Image Suite, a standard test set for image compression. Screenshots: four PNG screenshots of tinysquish.com rendered by the benchmark script. Raw per-image results: results.json. Run it yourself with tools/benchmark.js from the source repository.