Skip to content

Convert JXL to PNG

JPEG XL is the best image format almost nothing opens. Turn a .jxl into a PNG — exact pixels, transparency kept — and it works everywhere, today. Nothing is stored.

  • Never stored
  • No queue, no waiting
  • No signup, no watermark

How it works

1

Add your .jxl files

One or a batch: a download, an export from a camera app or an editor that has adopted the format early.

2

Convert

Each file is decoded with the reference JPEG XL decoder and written as a PNG with every pixel and the alpha channel kept.

3

Download

Singly or as a ZIP.

What a .jxl is, and why it stalled

JPEG XL is the format the JPEG committee finished in 2022 as the successor to the 1992 original: lossy and lossless in one codec, alpha, animation, HDR, progressive decoding, and a trick nobody else has — an existing JPEG can be repacked into it about 20 per cent smaller with every pixel identical, and unpacked again to the byte. On photographs it beats WebP comfortably and matches or beats AVIF at the qualities people actually use, while encoding far faster.

What it lacks is a place to be seen. Chrome's removal in 2023 — the team said there was "not enough interest from the entire ecosystem" — took Edge, Opera and every Electron app with it, and a format a browser will not show is a format a website cannot use. Safari and a growing list of editors do open it, Apple has made it the capture format on recent iPhones in ProRAW, and camera makers are adopting it, so the files are out there; the places they can go are not.

The decoder here is libjxl, the reference implementation, in the jSquash build. It decodes to 8-bit RGBA: a 16-bit or HDR file is tone-mapped to sRGB first, which is what every PNG viewer would show you anyway. The alpha channel comes through as it is.

When you want something else

The command line is better for a folder of them. The reference tools are free: djxl in.jxl out.png decodes one file, and a shell loop decodes a directory in the time it takes to read this. djxl also keeps 16-bit depth, which the PNG here does not.

If the file is a losslessly recompressed JPEG, djxl in.jxl out.jpg gives you back the original JPEG byte for byte, which is strictly better than a PNG of its pixels and a few times smaller. Nothing in a browser can do that yet.

Frequently asked questions

Why will nothing open my JXL file?

Because support stalled. Chrome shipped JPEG XL behind a flag in 2021 and removed it in 2023; Safari added it in 2023; Firefox has never enabled it by default; Windows Photos needs an extension. A PNG sidesteps all of that, which is why this page exists.

Is the conversion lossless?

Yes. A PNG stores the exact pixels the decoder produced, so nothing is lost here. If the JXL itself was saved lossily, that loss is already in the picture and a PNG cannot undo it — but it adds none of its own.

Is transparency kept?

Yes. JPEG XL carries an alpha channel and PNG does too, so a cut-out stays a cut-out.

Why is the PNG so much bigger than the JXL?

Because JPEG XL is a far better compressor — typically 30 to 60 per cent smaller than PNG for the same pixels, and often smaller than a JPG of lower quality. The PNG is the honest size of the picture; the JXL was the clever one. If size matters, convert to WebP afterwards.

Are my files stored anywhere?

No — nothing is stored at any point.

Can I go the other way, to JXL?

Not here yet. The reference encoder, cjxl, is a free command-line tool and the best way to make one: cjxl in.png out.jxl -d 0 writes a lossless file.

Good to know: JPEG XL animations, 16-bit depth and HDR tone curves are flattened: the first frame, 8 bits a channel, sRGB. A .jxl that holds a losslessly recompressed JPEG is decoded to pixels like any other, so the result is a PNG rather than the original JPG.

Put this tool on your website

Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.