Read Images in Java with JDeli including support for HEIC, AVIF, JPEG XL, and other formats that ImageIO cannot handle natively. Pure Java, no native dependencies.
JDeli provides pure-Java image readers for a wide range of formats, including modern formats like AVIF, HEIC and JPEG XL that Java’s built-in ImageIO cannot handle natively. Reading an image with JDeli requires no native libraries, runs consistently across platforms, and eliminates the JVM crash risk that comes from native-dependent alternatives. Use the links below to find format-specific reading guides and code examples.
Frequently Asked Questions
Can Java read HEIC files without native libraries?
Not with ImageIO alone. JDeli adds HEIC reading support in pure Java, with no native dependencies required.
How do I read an image file in Java with JDeli?
JDeli provides a simple read method that accepts a File, InputStream, or byte array and returns a BufferedImage. See the individual format pages below for format-specific code examples.
Does JDeli support reading EXIF metadata?
Yes. JDeli can read EXIF metadata from image formats that support it, such as JPEG, TIFF, and HEIC.
Can JDeli read AVIF files in Java?
Yes. JDeli supports reading AVIF files in Java without requiring any native libraries or additional tooling.
Can JDeli be used as a drop-in replacement for ImageIO?
Yes. JDeli is available as an ImageIO plugin, so existing code that calls ImageIO will work without modification. It also provides its own API for more direct control.
Which image formats can JDeli read?
JDeli can read AVIF, BMP, DICOM, GIF, HEIC, JPEG, JPEG 2000, JPEG XL, PNG, PSD, SGI, TIFF, WEBP, WMF, and more. See the supported image formats page for the full list.
Why does ImageIO fail to read some image formats?
ImageIO relies on native libraries for certain formats, which are not available on all platforms and can cause JVM crashes. It also has no support for modern formats like HEIC and JPEG XL. JDeli fills both gaps in pure Java.