We created and released a reproducible WebP-to-PNG benchmark covering 80 deterministic generated images, 320 WebP encodings, and 3,840 published timing rows. The raw data, workbook, code, checksums, and sample files are available below for independent testing.
Scope: This is a controlled synthetic-image engineering benchmark, not a probability sample of every image on the web. File-size results apply to these fixtures and encoder settings. Timing results describe one documented Pillow/libwebp reference pipeline, not this website or every browser.
Key findings
- 320 of 320 conversions were pixel-identical: every decoded PNG matched the RGBA pixel buffer decoded from its WebP input.
- Transparency was preserved in every case: the alpha channel matched for all 320 encodings.
- PNG was larger in all 320 cases: the median PNG-to-WebP ratio ranged from 1.66x for lossless WebP to 11.20x for lossy Q50.
- WebP encoding quality remained separate from conversion fidelity: median source-to-WebP PSNR was 39.60 dB at Q50, 42.30 dB at Q80, and 46.22 dB at Q95. Converting a lossy WebP to PNG does not restore discarded detail.
- Reference-pipeline median time ranged from 34.80 to 40.76 ms: disk, network, browser rendering, and interface time were excluded.
- No timing outliers were removed: 18 of 320 cases exceeded the predeclared 15% timing-CV threshold and remain flagged in the published data.
Download the original dataset
The complete ZIP contains the raw and summary tables, every warm-up and measured timing row, JSON metadata, the data dictionary, validation report, environment record, generator and analysis code, representative source/WebP/PNG fixtures, licenses, and SHA-256 checksums.
Licensing: data and generated fixtures are released under CC BY 4.0; the code is released under the MIT License. Suggested attribution: WebP to PNG Synthetic Benchmark Dataset v1.0, webp-to-png.tools.
Overall results
| WebP mode | Cases | Median WebP | Median PNG | Median PNG/WebP (95% CI) | Median size change | Median reference time (95% CI) | Median source PSNR |
|---|---|---|---|---|---|---|---|
| Lossless exact | 80 | 70.11 KiB | 127.13 KiB | 1.66x (1.65-1.89) | +65.8% | 34.80 ms (20.74-40.02) | Exact |
| Lossy Q50 | 80 | 25.65 KiB | 342.21 KiB | 11.20x (6.77-14.13) | +1,020.3% | 40.14 ms (35.87-53.09) | 39.60 dB |
| Lossy Q80 | 80 | 30.02 KiB | 306.69 KiB | 7.55x (6.55-11.28) | +654.7% | 38.23 ms (33.96-49.60) | 42.30 dB |
| Lossy Q95 | 80 | 45.04 KiB | 329.89 KiB | 4.54x (3.98-7.86) | +354.2% | 40.76 ms (33.19-48.29) | 46.22 dB |
What pixel-identical conversion means
A PNG export stores the bitmap already decoded from WebP. We reopened every output PNG and compared its RGBA bytes with the decoded WebP buffer. All 320 cases had zero changed pixels and a maximum channel difference of zero.
This proves fidelity for the conversion step under the published settings. It does not mean lossy WebP compression was reversible. Q50, Q80, and Q95 source-quality metrics compare each generated reference image with the decoded WebP before PNG export. For a practical explanation of this distinction, see our guide to visual quality versus file size.
How the benchmark was built
- Generated corpus: five procedural content categories (flat UI, line art, gradients, soft transparency, and photo-like texture), two exact resolutions (512×512 and 1280×720), and eight published seeds per category-resolution cell produced 80 source images.
- WebP encodings: each source was encoded four ways: lossless exact, lossy Q50, Q80, and Q95, all using method 6. That produced 320 cases.
- PNG export: Pillow 12.2.0 with libwebp 1.6.0 decoded each WebP to RGBA and encoded PNG with compression level 6, optimize=false, and interlace=false.
- Fidelity checks: decoded WebP and decoded PNG buffers were compared byte-for-byte. Source-to-WebP MSE, MAE, PSNR, maximum channel difference, and direct alpha differences were recorded separately.
- Timing: bytes were preloaded into memory, cases ran in a seeded random order with one worker, and each case had three excluded warm-ups plus nine retained measurements. Decode and PNG encoding were timed separately with a monotonic nanosecond clock.
- Validation: 17 integrity gates checked balance, IDs, hashes, dimensions, alpha behavior, exact conversion, timing counts, deterministic output, and recomputed metrics.
The 3,840 published timing rows include 960 clearly marked warm-ups and 2,880 retained measurements. Aggregates use each case median; the repeats estimate timing noise and are not counted as additional independent images.
Why content type matters
The Q80 PNG/WebP median ratio ranged from about 3.73x for 512px line art to 27.40x for 1280×720 photo-like texture. This spread is why a single universal conversion ratio would be misleading. The downloadable summary separates category, resolution, and WebP mode so readers can test more specific hypotheses.
Soft-transparency fixtures also test the issue described in our alpha-channel and transparent-background guide. Every published case retained identical alpha values through the WebP-to-PNG conversion step.
Limitations and appropriate use
- The 80 source images are deterministic and synthetic. They improve reproducibility and avoid uncertain image licenses, but they are not representative sampling of all web photographs or graphics.
- The study tests still images only. Animated WebP, ICC/EXIF/XMP metadata, orientation, malformed input, and extreme dimensions are outside version 1.0.
- Lossy quality values are specific to the documented Pillow/libwebp settings. Other encoders and parameters can produce different results.
- PNG size depends on compression settings; version 1.0 fixes those settings for reproducibility.
- The timings exclude disk, network, page rendering, interface work, and downloads. They must not be used as a browser-speed or website-performance claim.
- Only one hardware and software environment was timed. The full environment record and raw trials are included so others can reproduce or extend the study.
Reproduce or extend the study
Download the complete ZIP, verify it against checksums.sha256, read methodology.md and data-dictionary.csv, then run the included generator. The fixed seeds regenerate the corpus. The release also includes representative source, WebP, and PNG files for quick manual inspection.
If you want to test a real file after reviewing the data, use the browser-based WebP to PNG tool. For high-volume workflow considerations that this reference benchmark does not simulate, read our guide to large batches on limited memory.
How to cite this dataset
WEBP to PNG Tools (2026). WebP to PNG Synthetic Benchmark Dataset v1.0. https://webp-to-png.tools/blog/webp-to-png-benchmark/

