JXL to JPG · Beta

Open JPEG XL anywhere. Once.

Convert JPEG XL to JPG or PNG locally, even if your browser cannot open JXL. This tool is in beta: some JPEG XL variants cannot be decoded here yet. Nothing is uploaded.

Drop a JPEG XL image

One .jxl file, up to 10.00 MB. Nothing is uploaded.

Choose a file

How it works

  1. 01Drop one .jxl image (up to 10.00 MB).
  2. 02Pick JPG or PNG and a quality level.
  3. 03Convert, preview and download — all on your device.

What is kept, what is lost

  • One still image. Animated JPEG XL files are not supported here: if the decoder returns anything, it is the first frame only, and the animation is lost.
  • Metadata is stripped. The output is re-encoded from pixels, so EXIF, GPS location, capture date and the embedded colour profile are not carried over.
  • 8-bit sRGB output. HDR and higher-bit-depth JPEG XL images are flattened to standard 8-bit output; exact HDR or wide-gamut colour is not preserved.
  • Not a JPEG rebuild. A JPEG XL file made losslessly from a JPEG is decoded and re-encoded here; this is not the bit-exact original JPEG.
  • Transparency: kept with PNG, filled with white with JPG, which has no transparency.

Limits

Input up to 10.00 MB; decoding stops after 60 seconds. Images above 20 megapixels are refused once the size is known, which is only after the image has been read — so this caps the output rather than the memory needed to decode. Very large images can still run a phone out of memory, which may end the attempt without a message.

Beta: JPEG XL has many variants, and some files cannot be decoded here yet. If a file is refused, it is not necessarily damaged.

Other modern formats: WebP to JPG, AVIF to JPG and HEIC to JPG.

Related tools

  • AVIF to JPGConvert AVIF to JPG or PNG with your browser's own decoder.
  • WebP to JPGConvert WebP to JPG, or to PNG to keep transparency.
  • HEIC to JPGConvert iPhone HEIC and HEIF photos to JPG, PNG or WebP.
  • Convert imageChange between JPG, PNG and WebP, with an optional max width.

Questions & limits

What is a .jxl file?
JPEG XL is a newer image format that stores photos at high quality in small files. Few apps and browsers can open it yet, which is why converting a .jxl to JPG or PNG is often the quickest way to use the picture somewhere else.
Does this work if my browser cannot display JPEG XL?
Yes. The decoder is a WebAssembly build of libjxl that runs inside this page, so no native JPEG XL support is needed.
Why is this tool marked as beta?
JPEG XL files come in many variants, and some of them cannot be decoded by the decoder used here — a known example is a file that other JPEG XL software opens without trouble. If a file is refused, that does not mean it is damaged, and we would rather say so than pretend every .jxl works.
Is my image uploaded anywhere?
No. The file is read in this browser tab and decoded in a background worker. No file name, no image data and no diagnostics are sent anywhere.
Should I pick JPG or PNG?
JPG for photos you want small. PNG when the image has transparent areas or sharp graphics — PNG keeps transparency, JPG fills it with white.
Will I get my original JPEG back?
No. JPEG XL can store a JPEG losslessly, but this tool decodes the image and encodes a new file from the pixels. It is a fresh JPG, not a bit-exact reconstruction of the original.
What about animated or HDR JPEG XL files?
Only a single still image is produced, and HDR or higher bit depths are flattened to standard 8-bit output, so very bright or wide-gamut images can look different from the original.
Which decoder is used?
libjxl compiled to WebAssembly, taken from the @jsquash/jxl package (Apache-2.0); libjxl itself is published under the BSD-3-Clause licence. Only the decoder is shipped — the JPEG XL encoder is not part of this app.