Introduction
JPEG XL is a raster image format standardised by the JPEG committee as ISO/IEC 18181. It grew out of Google's PIK and Cloudinary's FUIF formats. It handles both lossy and lossless compression, alpha, high bit depths, HDR, animation and very large images.
One feature sets it apart: an existing JPEG file can be repacked as JPEG XL without loss, making it smaller, and the original JPEG can be rebuilt from it bit for bit.
Structure
A JPEG XL file is either a bare codestream or a codestream wrapped in a box
container. A bare codestream starts with the two bytes FF 0A. The
container starts with the 12-byte box 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A
(a box of type JXL ), followed by an ftyp box and further
boxes for the codestream, Exif and XMP metadata, and the data needed to rebuild a
repacked JPEG.
The codestream holds an image header with the size and colour settings, then one or more frames. Each frame is split into groups that can be decoded in parallel.
Links
Software
- GIMP – free image editor that opens and exports JPEG XL (Windows, macOS, Linux)
- Krita – free painting program that opens and saves JPEG XL (Windows, macOS, Linux)
- Safari – Apple’s web browser, which displays JPEG XL (macOS, iOS)
- XnView MP – image viewer and batch converter (Windows, macOS, Linux)
- ImageMagick – command-line tools that convert to and from JPEG XL (Windows, macOS, Linux)
Developers
- libjxl – the reference library, with the
cjxlanddjxltools (C++)
Reference
- JPEG XL – the JPEG committee's overview of the standard