Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Use the JPEG XL reference tool djxl for JPG and PNG conversion: djxl input.jxl output.jpg or djxl input.jxl output.png. The output filename extension selects the format. For WebP, use an ImageMagick build with JPEG XL support: magick input.jxl output.webp, after checking that both JXL and WebP delegates are available. The right target depends on compatibility, transparency, animation, and whether a new lossy JPEG encode is acceptable.

Choose the format before you convert

A JPEG XL file can contain ordinary decoded image data or a JPEG that was losslessly recompressed inside JXL. That distinction matters most when creating JPG. A reconstructed JPEG can be bit-for-bit identical to the source JPEG; a newly encoded JPEG is lossy and can introduce additional artifacts.

Target Recommended method When it fits Important limitation
JPG djxl input.jxl output.jpg Broad compatibility and small files Losslessness is guaranteed only when the JXL contains a losslessly recompressed JPEG and djxl reconstructs that JPEG. A new JPEG encode is lossy.
PNG djxl input.jxl output.png Lossless pixels, screenshots, diagrams, or transparency PNG is a still-image output in the documented djxl workflow.
WebP magick input.jxl output.webp A receiving site or application accepts WebP ImageMagick must have JPEG XL support enabled; djxl‘s documented output extensions do not include WebP.

Keep the original .jxl file until the converted file opens correctly in the application that will receive it. A successful command only proves that a file was written; it does not prove that every browser, editor, upload service, or image viewer can read it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the JPEG XL reference tools

Debian-based Linux

Install the package containing the reference command with:

apt install libjxl-tools

The package provides djxl, the decoder used for the JPG and PNG procedures below. Run the installation through the normal package-management privileges and repository configuration for your distribution.

macOS

With Homebrew installed, use:

brew install jpeg-xl

After installation, the djxl command is available for the same extension-based conversions. If your shell cannot find it, confirm that Homebrew’s bin directory is on your PATH before changing the conversion command.

Other operating systems

The commands in this guide rely on the libjxl reference tools. Package names and installation methods vary outside Debian-based Linux and macOS. Do not assume that a similarly named image utility includes JPEG XL decoding; verify that the program you install provides djxl or an ImageMagick build with a JXL delegate.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Convert a JXL file to JPG

Use the default command when the JXL contains a recompressed JPEG

Run:

djxl input.jxl output.jpg

When input.jxl was made by losslessly recompressing a JPEG, the default JPG output reconstructs the original JPEG. In that specific case, the JPEG data can be preserved bit-for-bit rather than decoded and compressed again. This is the preferred route when your priority is recovering the original JPEG without another generation of quality loss.

Request a new JPEG encode from decoded pixels

If you want a newly encoded JPEG instead of reconstruction, add the --pixels_to_jpeg option:

djxl input.jxl output.jpg --pixels_to_jpeg

The --jpeg_quality option controls the quality of that new JPEG encode. Choose the quality value appropriate for your delivery requirements and record it alongside the output if reproducibility matters. Because this path encodes decoded pixels into JPEG, it is lossy even when the source JXL itself was visually lossless.

Check the result

  • Open the JPG in the destination browser, editor, or upload service.
  • Confirm that transparency was not required; JPG does not provide an alpha channel for transparent artwork.
  • If exact recovery of a source JPEG matters, use the default command rather than --pixels_to_jpeg and retain the original JXL as an archival copy.

Convert a JXL file to PNG

Decode directly to PNG

Run:

djxl input.jxl output.png

The djxl manual lists PNG as a supported output extension, and the extension determines the output format. PNG is the practical choice when you need lossless pixel values or transparency, such as a screenshot, interface asset, diagram, or image containing an alpha channel.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Validate transparency and pixel fidelity

Open the PNG against a checkerboard or another background in an editor that displays alpha transparency. A viewer that shows a solid background may make a transparent image appear opaque even though the file retains transparency. For pixel-critical work, compare the PNG in the application where it will be edited or published rather than relying on a thumbnail preview.

PNG conversion decodes the JXL and writes PNG pixels; it is not a method for recovering an original JPEG byte stream. If your goal is JPEG recovery, use the JPG workflow instead.

Convert a JXL file to WebP with ImageMagick

Check whether the local build supports both formats

The libjxl software-support index lists ImageMagick support for JPEG XL beginning with version 7.0.10-54. However, ImageMagick packages are built with different delegates, so a version number alone does not prove that your installed binary can read JXL.

magick -list format | grep -E 'JXL|WEBP'

Look for entries for JXL and WebP in the output. If JXL is absent, that particular ImageMagick build cannot decode the input through this command. If WebP is absent, it cannot write the requested output. Install or select a package build that includes the needed delegates, then repeat the check.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Write the WebP file

Once both formats appear in the format list, run:

magick input.jxl output.webp

ImageMagick uses the input and output extensions to select the delegates and output format. Open the resulting WebP in the receiving application before deleting the JXL. The support index confirms ImageMagick’s JXL capability, but the exact behavior still depends on how the binary was packaged.

Why djxl is not the WebP command here

The documented djxl output extensions include .png, .jpg, .ppm, and .pfm; WebP is not listed. Use a general image library such as ImageMagick for WebP, and verify its delegates first instead of assuming that a successful djxl installation also provides WebP writing.

Handle animated JPEG XL files

For an animated JXL, the djxl manual says that multiple output files are produced with frame-number suffixes. Do not expect a single still-image command to create one multi-frame file without checking the generated names.

  1. Run the desired djxl conversion with a JPG or PNG output name.
  2. Inspect the directory for the frame-number-suffixed files that were created.
  3. Open several frames, including the first and last, to confirm that the sequence decoded correctly.
  4. Choose the next step based on what the destination accepts: a sequence of still images, or a separate animation-capable workflow that can read the generated frames.

For WebP animation, use a JXL-capable general image tool and verify the result in the target application. The documented direct djxl extension list does not establish a one-command animated WebP export.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify compatibility before sharing the converted image

JPEG XL adoption differs by browser and application. The libjxl support index lists Safari support since version 17 and ImageMagick support since version 7.0.10-54. It also lists online tools including Gumlet, Squoosh, Cloudinary, MConverter, and jpegxl.io. These entries indicate that support exists in those services or applications, not that every release, account type, browser, or upload path behaves identically.

  • Test the converted file in the exact browser or editor used by the recipient.
  • For a website upload, confirm that the content-management system accepts the extension and preserves transparency or animation as required.
  • For an offline handoff, include the JPG, PNG, or WebP rather than assuming the recipient can open JXL.
  • Keep the source JXL until the destination has displayed the image and any required metadata or frames have been checked.

Choose JPG, PNG, or WebP for common situations

Use JPG for compatibility and compact still images

Choose JPG when the receiving system has broad JPG support and transparency is not needed. If the JXL is a lossless recompression of a JPEG, the default djxl command can reconstruct the original JPEG. Otherwise, use a new JPEG encode only when its lossy compression is acceptable.

Use PNG for transparency or exact decoded pixels

Choose PNG for screenshots, diagrams, interface graphics, and other images where lossless pixels or an alpha channel matter. The direct djxl command is simple and does not require an ImageMagick delegate.

Use WebP when the destination explicitly accepts it

Choose WebP when the receiving site or application supports WebP and you want that format’s delivery path. Because WebP conversion in this workflow uses ImageMagick, check the local format list before attempting the conversion. Do not substitute WebP merely because a program can read JXL; reading and writing delegates are separate capabilities.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot failed or unexpected conversions

djxl is not found

The reference tools are not installed or are not on the shell’s path. On Debian-based Linux, install libjxl-tools; on macOS, install jpeg-xl with Homebrew. Start a new terminal session if your package manager changed the path, then retry the same command.

ImageMagick reports an unknown JXL format

Run:

magick -list format | grep -E 'JXL|WEBP'

If JXL does not appear, the installed ImageMagick package lacks the required delegate. The support index’s version fact does not guarantee delegate availability in every packaged build, so use a build that exposes JXL support and check again.

The JPG is not bit-for-bit identical

Confirm whether the source JXL actually contains a JPEG that was losslessly recompressed. Bit-for-bit reconstruction applies to that case when the default djxl input.jxl output.jpg path is used. If you supplied --pixels_to_jpeg, you explicitly requested a new lossy JPEG encode. If the JXL originated from non-JPEG pixels, there is no original JPEG byte stream to reconstruct.

Transparency appears to be missing

JPG cannot represent transparency. Convert to PNG instead with djxl input.jxl output.png, then inspect the PNG in an application that shows alpha. If the destination only accepts JPG, decide how the transparent areas should be composited before delivery; the conversion command itself cannot preserve an alpha channel in JPG.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Only one frame appears from an animation

Inspect the output directory for frame-number-suffixed files. Animated JXL decoding through djxl produces multiple output files according to the manual. If the receiving application expects a single animated asset, its supported import workflow must be checked separately.

The output opens locally but fails for the recipient

Test the exact target browser, editor, or upload service. Browser and application support varies, and a local viewer may have a decoder that the recipient lacks. Deliver the converted JPG, PNG, or WebP when broad compatibility is more important than retaining JXL.

A repeatable conversion checklist

  1. Keep the original .jxl file and decide whether you need broad compatibility, transparency, animation, or JPEG reconstruction.
  2. Install libjxl-tools on Debian-based Linux or jpeg-xl through Homebrew on macOS.
  3. Use djxl input.jxl output.jpg for the default JPG path, or add --pixels_to_jpeg when a new JPEG encode is intentional.
  4. Use djxl input.jxl output.png when lossless pixels or transparency are required.
  5. For WebP, check magick -list format | grep -E 'JXL|WEBP' and then run magick input.jxl output.webp only if both formats are listed.
  6. If the source is animated, inspect every frame-number-suffixed output.
  7. Open the converted file in the destination application and verify appearance, transparency, animation, and acceptance before archiving or deleting anything.

What JPEG XL is and why conversion choices matter

JPEG XL was standardized in 2022 as ISO/IEC 18181. Its ability to carry a losslessly recompressed JPEG is why a JXL-to-JPG operation can sometimes recover the original JPEG exactly instead of performing another compression pass. That special property should not be generalized to every JXL image or every JPG command.

The extension-based workflow keeps the decision visible: djxl decodes to the format named by the output filename, while ImageMagick supplies the general-library path for WebP. Selecting the target according to the receiving application’s requirements prevents two common mistakes—using JPG when transparency is essential, and assuming that every ImageMagick installation has JPEG XL support enabled.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.