format conversion

WebP to PNG

Going this way is a container change rather than an improvement, and the size moves in the direction people do not expect.

What actually changes

  • 133,198 B against 83,298 B, same pixels

    Measured in this repo: one file written as a PNG and as a lossless WebP. The PNG was the larger of the two with nothing given up on either side. If your WebP was lossy, the PNG is a lossless copy of an already-approximated picture and the gap is usually wider still.

    Source src/lib/seo/registry.ts — the image-compressor entry

  • Transparency survives

    Both formats carry an alpha channel, so nothing the WebP was expressing is lost in the move.

    Source The converter’s own format notes — src/copy/en/convert.ts

  • What you download is exactly what was compared

    The source is decoded once into a lossless PNG master and all three outputs are encoded from that one picture, so the three rows in the results table are three encodings of the same pixels rather than three different decodes.

    Source src/lib/convert.worker.ts — the master decode, per docs/v2/22

The short answer

Do it when something downstream will not read WebP. There is no size argument for it.

Convert it here

The converter takes your file, writes it as PNG, JPEG and WebP at the same pixel size, and shows you what each one weighs — measured on your file rather than on an average. It runs on the page using WebAssembly; the image never leaves your device.

Open the image converter

The other conversions

Every pair this tool can actually do. There are nine because it reads four formats and writes three, and a format cannot be converted to itself.

This page carries 3 facts and a source for each one. It is one of nine, generated from the same list the converter reads — so a page cannot exist here for a format the file picker would refuse.