You received a .jxl file and your program, your phone or the website you want to upload it to cannot open it. JPEG XL is a modern image format with good compression, but support is still patchy. This tool decodes a still JPEG XL image in your browser and saves it as a JPG or a PNG, at the same pixel dimensions.
The decoder (libjxl, compiled to WebAssembly) comes from this website, so the picture is not uploaded. Files it cannot decode safely, including animated ones, are refused with an explanation instead of guessed at.
Loading the tool…
Overview
About JPEG XL to JPG / PNG
About the format. JPEG XL (ISO/IEC 18181) can compress photos better than JPEG, supports transparency, high bit depth, wide colour and animation, and can re-pack an existing JPEG losslessly. Files are either a bare codestream starting with the bytes FF 0A, or an ISO-container with a "JXL " signature box. Both are recognised from their bytes, not from the name.
Safety checks before decoding. The header is read first: the declared width and height are checked against limits (30,000 pixels on a side, 100 megapixels) so a tiny file that claims an enormous picture cannot make your browser tab allocate gigabytes. The header also says whether the file is animated, and animated files are refused rather than silently reduced to a single frame. A file that is cut short or damaged produces an error message.
Decoding and saving. The decoder returns 8-bit RGBA pixels. PNG stores them without loss and keeps transparency. JPEG is lossy, has no transparency (transparent areas are filled with a background colour you choose) and has a quality slider. The pixel size is not changed.
Browser support. At the time of writing (October 2026), reports are that Safari 17 and later decodes JPEG XL, Chrome added a decoder behind an experimental flag from version 145, and Firefox has it behind a preference. Because that can change, this tool brings its own decoder instead of depending on yours; check the current state of your browser if you want to view .jxl files natively.
Compatibility
Supported Formats
Still JPEG XL images (.jxl): bare codestream and container files, up to 80 MB, up to 30,000 pixels on a side and 100 megapixels. Output: PNG (lossless, with transparency) and JPEG (lossy, no transparency) at the same pixel size.
Guide
How to Use JPEG XL to JPG / PNG
- Choose a .jxl file.
- Check the preview and the pixel size shown.
- Download PNG for lossless output with transparency, or JPG for a smaller file (pick the quality and background for transparent areas).
Highlights
Features
- Header checked first Declared size and animation are read before decoding, so absurd or animated files are refused safely.
- PNG or JPG Lossless PNG with transparency, or JPEG with quality and a background colour.
- Same pixel size No resizing; dimensions are preserved.
- Own decoder libjxl as WebAssembly from this site; works whatever your browser supports.
- No upload The file stays on your device.
Applications
Use Cases
- Uploading a JPEG XL image to a site or app that only takes JPG or PNG
- Opening a .jxl file received from a camera, an app or a friend in any program
- Converting a JPEG XL screenshot or export for a document
- Checking what is inside a .jxl file without installing a codec
- Getting a lossless PNG out of a JPEG XL image
Good to Know
Limitations
Animated JPEG XL files are not converted; they are refused. Output is 8-bit sRGB: images with higher bit depth, HDR or wide-gamut colour are reduced, and an embedded colour profile is not applied or copied, so colours can look different from a program that honours the profile. Exif, XMP and orientation information are not carried into the new file.
Some JPEG XL features or damaged files can fail to decode, and then you get an error instead of a result. A JPEG XL that was a lossless re-pack of a JPEG is decoded to pixels, so the JPG you save is a fresh encode, not the original JPEG bytes. Very large images may be slow or fail on devices with little memory.
This tool runs entirely in your browser — your file is never uploaded to our servers. See our Privacy Policy for full details.
Support
Frequently Asked Questions
Is my image uploaded?
No. The decoder is a WebAssembly file served by this site and runs in your browser tab. The image is never sent to a server.
Why not use my browser's own JPEG XL support?
Browser support is still limited and uneven, and a browser's decoder does not give this tool the header information it uses for safety checks. Bringing a decoder works the same everywhere.
Can it convert animated JPEG XL?
No. Animated files are refused so that you do not unknowingly get one frame.
Is quality lost when I convert to PNG?
PNG is lossless from the decoded pixels, so nothing more is lost. If the JPEG XL itself was lossy, that loss is already in the pixels. JPG output adds new, lossy compression.
Why do the colours look slightly different?
The result is 8-bit sRGB and the embedded colour profile is not applied. Wide-gamut or HDR images are reduced to this range.
Is the pixel size kept?
Yes. The converted image has exactly the same width and height as the decoded JPEG XL image.
Keep Going
Related Tools
- PNG to JPG Convert a PNG to JPG. Transparent areas are filled with white and quality is fixed at 85.
- JPG to PNG Convert a JPG to a lossless PNG copy. It will not look sharper, and it will be larger.
- WebP to PNG Convert a static WebP to PNG with transparency kept. The PNG is lossless but much larger.
- Image Dimensions Checker See an image's width, height, aspect ratio, format and file size. The file stays on your device and is never sent to a server.