From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
JPEG XL logo.svg
Filename extension
Internet media type
Magic numberFF 0A or 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A
Developed by
Type of formatLossy/lossless bitmap image format
Extended from
StandardISO/IEC 18181
Open format?Yes (royalty-free)

JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It is designed to outperform existing raster formats and thus to become their universal replacement.[2]



In 2017, JTC1/SC29/WG1 (JPEG) issued a Call for proposals for JPEG XL – the next generation image coding standard.[4]

The file format (bitstream) was frozen on December 25, 2020, meaning that the format is now guaranteed to be decodable by future releases.[5]


The main features are:[6][7]

  • Improved functionality and efficiency compared to traditional image formats (e.g. JPEG, GIF and PNG);
  • Image dimensions of over a billion (230-1) pixels on each side;[8]
  • Up to 4100 channels i.e grayscale or RGB, optional alpha, and up to 4096 "extra" channels;[8]
  • Progressive decoding (by resolution and precision);
  • Lossless JPEG transcoding with ~20% size reduction;
    • CMYK JPEGs are not supported for transcoding, but they are very rare;[9]
    • Transcoding of progressive JPEGs is supported by the format but not yet implemented in the reference software;[10]
  • Lossless encoding and lossless alpha encoding;
  • Support for both photographic and synthetic imagery;
  • Graceful quality degradation across a large range of bitrates;
  • Perceptually optimized reference encoder;
  • Support for wide color gamut and HDR;
  • Support for animated content,
  • Efficient encoding and decoding without requiring specialized hardware
    • In particular, JPEG XL is about as fast to encode and decode as old JPEG using libjpeg-turbo and an order of magnitude faster to encode and decode compared to HEIC with x265.[8] It is also parallelizable.
  • Royalty-free format with an open-source reference implementation.[11]

Technical details[edit]

refer to caption
JPEG XL codec architecture diagram

JPEG XL is based on ideas from Google's Pik format and Cloudinary's FUIF format (which was in turn based on FLIF).[12]

The format has a variety of encoding modes. On the legacy side, it has a mode that transcodes legacy JPEG in a more compact way for storage. On the more modern side, it has a lossy mode called VarDCT (variable-blocksize DCT) and a lossless/near-lossless/responsive mode called Modular which optionally uses a modified Haar transform (called "squeeze") and which is also used to encode the DC (1:8 scale) image in VarDCT mode as well as various auxiliary images such as adaptive quantization fields or additional channels like alpha. Both modes can use separate modeling of specific image features: splines, repeating "patches" like text or dots, and noise synthesis. Lossy modes typically use the XYB color space derived from LMS.[13]

Prediction is run using a pixel-by-pixel decorrelator without side information, including a parametrized self-correcting weighted ensemble of predictors. Context modeling includes specialized static models and powerful meta-adaptive models that take local error into account, with a signalled tree structure and predictor selection per context. Entropy coding is LZ77-enabled and can use both Asymmetric Numeral Systems and Huffman coding (for low complexity encoders or for reducing overhead of short streams).[citation needed]

It defaults to a visually near-lossless setting that still provides good compression.[8]

Animated (multi-frame) images do not perform advanced inter-frame prediction, though some rudimentary inter-frame coding tools are available:

  • a frame can only update part of the canvas;
  • a frame can not just replace the contents on the canvas, but also be blended, added or multiplied to it;[14]
  • up to three frames[15] can be 'remembered' and referenced using the "patches" coding tool in later frames.[16]


Codec implementation[edit]

JPEG XL Reference Software (libjxl)
Initial releaseDecember 27, 2019; 17 months ago (2019-12-27)
Stable release
0.3.7 / March 29, 2021; 2 months ago (2021-03-29)
Repository[17] Edit this on Wikidata
Written inC++
Operating system
LicenseNew BSD License (previously Apache License 2.0) Edit this on Wikidata
  • JPEG XL Reference Software (libjxl)
    • license: New BSD License (previously Apache License 2.0)
    • contains (among others):
      • coder cjxl
      • decoder djxl
      • tool for benchmarking speed and quality of image codecs benchmark_xl
      • GIMP and Gtk pixbuf plugin file-jxl

Official support[edit]

Unofficial support[edit]

Preliminary support[edit]

Standardization status[edit]

Common Name Part First public release date (First edition) ISO/IEC Number Formal Title
JPEG XL Part 1 under development, planned for 2021 ISO/IEC FDIS 18181-1 JPEG XL Image Coding System — Part 1: Core coding system
Part 2 under development, planned for 2021 ISO/IEC DIS 18181-2 JPEG XL Image Coding System — Part 2: File format
Part 3 under development, planned for 2022 ISO/IEC WD 18181-3 JPEG XL Image Coding System — Part 3: Conformance testing
Part 4 under development, planned for 2022 ISO/IEC CD 18181-4 JPEG XL Image Coding System — Part 4: Reference software


  1. ^ a b "fuif/". GitHub. Retrieved 2019-04-04.
  2. ^
  3. ^ a b
  4. ^ "JPEG - Next-Generation Image Compression (JPEG XL) Final Draft Call for Proposals". April 23, 2018. Retrieved 29 May 2018.
  5. ^ "v0.2 JPEG XL Reference Software". GitLab.
  6. ^ "JPEG XL reaches Committee Draft". JPEG Org. 3 August 2019. Archived from the original (html) on 3 August 2019. Retrieved 3 August 2019. The current contributors have committed to releasing it publicly under a royalty-free and open source license.
  7. ^ "JPEG XL White Paper" (PDF). JPEG Org. 22 January 2021. Retrieved 17 March 2021.
  8. ^ a b c d Sneyers, Jon. "How JPEG XL Compares to Other Image Codecs". Cloudinary.
  9. ^ Jon Sneyers (2021-01-03). "JPEG XL as PSD transfer/storage alternative". Reddit.
  10. ^ Jon Sneyers (2021-06-03). "Progressive Transcoding". GitHub.
  11. ^ "jpeg / JPEG XL Reference Software". GitLab.
  12. ^
  13. ^ Alakuijala, Jyrki; van Asseldonk, Ruud; Boukortt, Sami; Szabadka, Zoltan; Bruse, Martin; Comsa, Iulia-Maria; Firsching, Moritz; Fischbacher, Thomas; Kliuchnikov, Evgenii; Gomez, Sebastian; Obryk, Robert; Potempa, Krzysztof; Rhatushnyak, Alexander; Sneyers, Jon; Szabadka, Zoltan; Vandervenne, Lode; Versari, Luca; Wassenberg, Jan (6 September 2019). Tescher, Andrew G; Ebrahimi, Touradj (eds.). "JPEG XL next-generation image compression architecture and coding tools". Applications of Digital Image Processing XLII: 20. doi:10.1117/12.2529237. ISBN 9781510629677.
  14. ^
  15. ^
  16. ^
  17. ^ "PLEASE DO NOT OPEN NEW ISSUES HERE". Retrieved 27 May 2021.
  18. ^
  19. ^
  20. ^
  21. ^
  22. ^
  23. ^
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^
  29. ^

External links[edit]