JPEG XL libraries
Almost every JPEG XL library is built on libjxl, the reference encoder and decoder. Independent decoders exist in Rust (jxl-oxide, jxl-rs) and Java (JXLatte). Only libjxl-based libraries can encode lossy JPEG XL and do lossless JPEG recompression.
| Language | Library | Read | Write | Notes |
|---|---|---|---|---|
| C/C++ | libjxl | yes | yes | reference implementation, every feature, cjxl/djxl tools |
| C/C++ | jxldec | yes | no | plain-C decoder, no dependencies, one file; no license file yet |
| C# | Magick.NET | yes | yes | ImageMagick for .NET, libjxl bundled in the NuGet package |
| Java | JXLatte | yes | no | pure Java decoder, no animation yet |
| Go | gen2brain/jpegxl | yes | yes | libjxl as WebAssembly, no cgo; image.Decode support |
| Python | pillow-jxl-plugin | yes | yes | adds JXL to Pillow; GPL-3.0 |
| Python | pyvips | yes | yes | libvips binding, fast and low memory |
| Ruby | ruby-vips | yes | yes | libvips binding |
| Rust | jxl-oxide | yes | no | pure Rust decoder, image crate integration |
| Rust | jpegxl-rs | yes | yes | libjxl binding; GPL-3.0 |
| PHP | Imagick | yes | yes | ImageMagick extension, needs ImageMagick built with libjxl |
By language#
- JPEG XL libraries for C/C++ Open-source C and C++ libraries for JPEG XL images: libjxl, the reference encoder and decoder, and jxldec, a dependency-free decoder in plain C.
- JPEG XL libraries for C# Open-source .NET libraries to read and write JPEG XL images in C#: Magick.NET, which bundles libjxl, with code examples.
- JPEG XL libraries for Java Open-source Java libraries to decode JPEG XL images: JXLatte, a pure Java JXL decoder with no native code, with code examples.
- JPEG XL libraries for Go Open-source Go libraries to read and write JPEG XL images: gen2brain/jpegxl, libjxl compiled to WebAssembly with no cgo, with code examples.
- JPEG XL libraries for Python Open-source Python libraries to read and write JPEG XL images: pillow-jxl-plugin for Pillow and pyvips for libvips, with code examples.
- JPEG XL libraries for Ruby Open-source Ruby libraries to read and write JPEG XL images: ruby-vips, the libvips binding, with code examples for converting, lossless saving and thumbnails.
- JPEG XL libraries for Rust Open-source Rust crates to read and write JPEG XL images: jxl-oxide, a pure Rust decoder, and jpegxl-rs, bindings to libjxl. Comparison and code examples.
- JPEG XL libraries for PHP Open-source PHP libraries to read and write JPEG XL images: the Imagick extension with an ImageMagick built with libjxl, with code examples.