1. Home
  2. Blog
  3. We checked all 28 image conversions pixel by pixel
Guide

We checked all 28 image conversions pixel by pixel

A converter that "works" can still be wrong: the right file type with shifted colours, a lost transparent edge, an icon in the wrong size. So we test ConvertPicto the hard way. Every one of its 28 conversions is run in a real browser, and the output is compared to the source using a separate image library.

This page shows the results, so you know what each conversion actually guarantees.

How we tested

  • One test file per source format (PNG, JPG, WebP, GIF, BMP, AVIF, ICO and SVG). They are synthetic images built to be hard cases: smooth gradients, hard edges and transparent regions, rather than ordinary photographs.
  • Each conversion page was loaded in headless Chromium, given the file, and the downloaded output was read back.
  • The reference was Pillow's own decode of the source file. We compared dimensions, file type and per-pixel differences. For targets that cannot hold transparency (JPG and BMP), both images were flattened onto white first.

The headline results

  • All 28 outputs had the correct file type (and for ICO, the correct frame sizes).
  • 7 conversions were bit-for-bit identical to the reference, with a mean difference of exactly 0.00: png-to-bmp, jpg-to-png, jpg-to-bmp, gif-to-png, gif-to-bmp, bmp-to-png, avif-to-png. Lossless to lossless is exactly what it sounds like.
  • Lossy targets (JPG and WebP) moved each channel by 1.4 to 3.9 levels on average (out of 255), with PSNR between 25.8 and 39.9 dB. That is expected: JPG and WebP discard detail, and these test images are deliberately harsh on lossy codecs.
  • SVG sources rendered at 1024 pixels wide when the file has no explicit size, keeping the aspect ratio. Without that step browsers use 300 x 150. We explain why in our write-up on building the PNG encoder.

All 28 conversions

ConversionOutput size (bytes)Correct file typeResult
png-to-jpg30,671YesPSNR 33.6 dB
png-to-webp25,518YesPSNR 25.8 dB
png-to-bmp806,454YesIdentical
png-to-ico5,810YesFrames: 16x16, 32x32, 48x48
jpg-to-png419,602YesIdentical
jpg-to-webp26,820YesPSNR 39.9 dB
jpg-to-bmp806,454YesIdentical
jpg-to-ico5,957YesFrames: 16x16, 32x32, 48x48
webp-to-png410,583YesPSNR 27.9 dB
webp-to-jpg31,005YesPSNR 37.7 dB
webp-to-bmp806,454YesPSNR 67.6 dB
webp-to-ico5,992YesFrames: 16x16, 32x32, 48x48
gif-to-png126,488YesIdentical
gif-to-jpg36,275YesPSNR 30.2 dB
gif-to-webp32,152YesPSNR 32.0 dB
gif-to-bmp806,454YesIdentical
bmp-to-png384,368YesIdentical
bmp-to-jpg31,559YesPSNR 33.6 dB
bmp-to-webp26,270YesPSNR 35.1 dB
bmp-to-ico5,845YesFrames: 16x16, 32x32, 48x48
avif-to-png406,981YesIdentical
avif-to-jpg31,506YesPSNR 38.5 dB
avif-to-webp20,560YesPSNR 39.7 dB
svg-to-png30,369YesRendered 1024 x 512
svg-to-jpg15,398YesRendered 1024 x 512
svg-to-webp7,800YesRendered 1024 x 512
svg-to-ico1,851YesIcon frames
ico-to-png7,149YesPSNR 67.9 dB

The one quirk: invisible pixels

WebP to PNG showed a small mean difference, and it is worth explaining. We checked where it came from: across every pixel that is actually visible, the mean difference was 0.02 levels out of 255 (the largest single difference was 2), and the transparency channel matched exactly. The rest comes from colours stored underneath fully transparent pixels. Browsers keep canvas pixels in premultiplied form, so the colour data hidden under a 100% transparent pixel is not preserved. You cannot see those pixels, and they do not affect how the image displays, but a byte-for-byte file comparison will show them as different.

What this means for you

  • Converting between lossless formats (PNG, BMP, and lossless sources like GIF) does not change visible pixels.
  • Converting to JPG or WebP is lossy by design. Use the quality slider, and see our measurements of what each quality level costs.
  • JPG and BMP have no transparency. Transparent areas are filled with a colour you choose, white by default.
  • Everything runs locally. None of these test files, or yours, are ever uploaded.

The site is open source, so the test suite that does this is in the GitHub repository if you want to run it yourself.

PNG to JPGConvert Portable Network Graphics to JPG — free, no upload
WebP to PNGConvert WebP to PNG — free, no upload
SVG to PNGConvert Scalable Vector Graphics to PNG — free, no upload
PNG to ICOConvert Portable Network Graphics to ICO — free, no upload
Limits of this test: one file per source format, and synthetic rather than photographic. It checks that the conversions are correct, not how they compare to other converters.

Tools mentioned in this article

More from the blog

How big will your image PDF be? We measured it
Page size does not change the file size, but quality does, a lot. Measured PDF sizes from JPG and PNG sources.
4 min read
JPG vs WebP quality settings: what each level really costs in file size
Nine quality settings, two formats, five photos, measured. Where the file-size curve is gentle, and where it falls off a cliff.
4 min read
PNG vs JPG vs WebP: what we measured on photos, screenshots, text and charts
There is no best format, only a best format for each kind of image. Measured sizes and quality scores for photos, screenshots, text and charts.
4 min read
Resize or compress first? Measuring what actually shrinks an image
Image size scales with pixel count, so resizing beats lowering quality. Here are the measured numbers, and the order that works best.
4 min read
Writing a real PNG compressor in vanilla JavaScript (no WASM, no libraries)
Median-cut quantization, Floyd–Steinberg dithering, hand-built PNG chunks, and the four browser traps that cost me an evening each.
6 min read
Are online image converters safe? What actually happens to your files
Most converters upload your file to a server you know nothing about. Here's how to tell which ones do, and when it actually matters.
6 min read
JPG vs PNG vs WebP vs AVIF: which image format should you use?
Five formats, one decision. Here's what each one is actually good at, with a rule of thumb you can apply in ten seconds.
6 min read
How to combine multiple images into one PDF
Every method, on every device — plus the page-size and quality settings that decide whether your PDF is 200 KB or 20 MB.
5 min read
How to make a favicon: every size and format you actually need
Which sizes you actually need, the exact HTML to paste, and the three reasons a favicon usually fails to appear.
5 min read
How to reduce image file size without losing quality
Do these three things in the right order and a 4 MB photo becomes 80 KB with no visible difference. The order matters more than the tools.
6 min read
What is a WebP file, and how do you open one?
Why the internet keeps giving you files you can't open, how to open them anyway, and when WebP is actually the right choice.
5 min read