Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

How to read JPEG XL images in Java (Tutorial)

1 min read

what is jpeg xl?

Why do JPEG XL Images cause issues for Java Developers?

ImageIO does not read JPEG XL file types by default so existing Java Applications will not work with them. If you have an existing Java Application using ImageIO you will find it cannot process these images. ImageIO will read JPEG files which are not the same.

In this post, I will cover options to read JPEG XL directly and how to upgrade ImageIO to support JPEG XL files so existing Java Applications which use ImageIO will work (often without having to make any code changes).

What options are there for reading JPEG XL files in Java?

Java does not read JPEG XL images by default so you will need to use an external library or plugin for ImageIO. Commercial libraries like JDeli offer reading support with the option to be added as an ImageIO plugin.

We will cover several options below including our JDeli pure Java library to read JPEG XL files.

How to read JPEG XL images in Java with Jxlatte

Jxlatte is a ‘work-in-progess’ JPEG XL Decoder which can be used to convert to better supported Image formats using this code

java -jar jxlatte.jar samples/art.jxl output.png

How to upgrade ImageIO to read JPEG XL files

It’s actually very simple and can be done without rewriting your existing code!

For example, the code below does not work with ImageIO for JPEG XL images


Steps to fix with a plugin:

How to read a JPEG XL image in Java directly with JDeli

JDeli is the best enterprise-level Java image library for quick development. JDeli supports reading JPEG XL image files out of the box. You can convert JPEG XL files into other formats directly in JDeli. You can also directly read any JPEG XL image into a Java BufferedImage with this code.

  1. Add JDeli to your class or module path (download the trial jar).
  2. Create a File handle, InputStream pointing to the raw JPEG XL image. You can also use a byte[] containing the image data.
  3. Read the JPEG XL image into a BufferedImage

and the Java code to read JPEG XL…

JDeli, our pure java image library has JPEG XL support for reading, you can read more about it on our support site.



Are you a Java Developer working with Image files?

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.