{"id":22085,"date":"2020-05-26T14:27:28","date_gmt":"2020-05-26T21:27:28","guid":{"rendered":"http:\/\/how_jpeg_xl_compares_to_other_image_codecs"},"modified":"2025-10-30T14:50:40","modified_gmt":"2025-10-30T21:50:40","slug":"how_jpeg_xl_compares_to_other_image_codecs","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs","title":{"rendered":"How JPEG XL Compares to Other Image Codecs"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>JPEG XL is a next-generation image codec currently being standardized by the JPEG Committee. Based on Google\u2019s PIK codec and <a href=\"https:\/\/github.com\/cloudinary\/fuif\">Cloudinary\u2019s Free Universal Image Format (FUIF)<\/a> codec, JPEG XL has created a sum that\u2019s greater than the parts by leveraging the best elements of Google PIK and FUIF:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_400,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/jpegxl-cld-pik.png\" alt=\"Image showing graphic flow of JPEG XL feeding Google\u2019s PIK into Cloudinary\u2019s FUIF\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"101.5\"\/><\/p>\n<ul>\n<li>From PIK, JPEG XL has reaped the focus on strong psychovisual modeling and preservation of detail and texture, as well as decode speed, in particular enabling parallelization and efficient cropped decoding of huge (gigapixel or more) images.<\/li>\n<li>From FUIF, JPEG XL has brought in the cornerstone on being responsive by design and universal.<\/li>\n<li>From PIK and FUIF, JPEG XL has learned to put a tremendous emphasis on being legacy friendly, delivering a smooth transition from existing file formats (notably JPEG, but also PNG, GIF, and TIFF) to JPEG XL.<\/li>\n<\/ul>\n<p>The key features of JPEG XL are described in a <a href=\"http:\/\/ds.jpeg.org\/whitepapers\/jpeg-xl-whitepaper.pdf\">recent white paper<\/a> published by the JPEG Committee.<\/p>\n<h2>No Royalties for JPEG XL vs. HEIC and AVIF<\/h2>\n<p>This section highlights the important features that distinguish JPEG XL from other state-of-the-art image codecs like HEIC and AVIF.<\/p>\n<h3>No Royalties<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_400,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/Main-Image-Troll.jpg\" alt=\"Image showing graphic of trolls crossed out with red x\u2019s representing No Royalties for JPEG XL vs HEIC and AVIF\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"200\"\/>\n<em><a href=\"https:\/\/bitmovin.com\/caveat-troglodytarum-trolls-beware\/\">Image attribution: Bitmovin<\/a><\/em><\/p>\n<p>Although they can never make guarantees (patent trolls can always suddenly wake up), the contributors who created JPEG XL have agreed to license the reference implementation under the Apache 2.0 license. That means that, besides being Free and Open Source Software (FOSS), JPEG XL also comes with a royalty-free patent grant.<\/p>\n<p>That\u2019s not at all the case for the High Efficiency Image File Format (HEIC), which is based on the HEIF container, on which Nokia claims patents; and the High Efficiency Video Coding (HEVC) codec, which is a <a href=\"https:\/\/www.streamingmedia.com\/Articles\/Editorial\/Featured-Articles\/The-Future-of-HEVC-Licensing-Is-Bleak-Declares-MPEG-Chairman-122983.aspx\">complete patent mess<\/a>. For the AV1 Image File Format (AVIF), the patent situation looks better since it\u2019s based on AV1, and <a href=\"http:\/\/aomedia.org\/the-alliance-for-open-media-statement\/\">being royalty free was a major goal<\/a> of the Alliance for Open Media, which created AV1. It is not clear, though, to what extent AV1 is actually royalty free. Moreover, AVIF is based on the HEIF container so Nokia patents might apply as well.<\/p>\n<h2>Legacy Friendliness: JPEG XL vs. JPEG<\/h2>\n<p>You can transcode existing JPEG files effectively and reversibly to JPEG XL without any additional loss. Not so for previous attempts at creating \u201cnext-generation\u201d image formats, such as JPEG 2000, JPEG XR, WebP, and now HEIC and AVIF. Transcoding to one of those other formats requires decoding the JPEG image to pixels and then re-encoding those pixels with the other format\u2014an irreversible process that leads to <a href=\"https:\/\/cloudinary.com\/blog\/why_jpeg_is_like_a_photocopier\"><strong>generation loss<\/strong><\/a>.<\/p>\n<p>To me, legacy friendliness is an important feature that facilitates a smooth transition from JPEG to a successor format <strong>without<\/strong> requiring a transition period in which two versions of every image\u2014the old JPEG file and the new \u201csuccessor-format\u201d file\u2014must be stored to satisfy the long tail of users who haven\u2019t upgraded yet. Such a requirement completely defeats the purpose of improved image compression.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/Encoder_diagram.png\" alt=\"Image showing graphic flow chart how JPEG XL vs JPEG\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"1244\"\/><\/p>\n<h2>Responsive Design<\/h2>\n<p>Especially for web delivery, it would be desirable to <a href=\"https:\/\/cloudinary.com\/blog\/introducing_fuif_responsive_images_by_design\">avoid having to store and serve multiple variants of the same image<\/a> according to the viewer\u2019s viewport width. Equally desirable is an option to <a href=\"https:\/\/cloudinary.com\/blog\/progressive_jpegs_and_green_martians\">progressively<\/a> decode images, showing a <a href=\"https:\/\/www.guypo.com\/introducing-lqip-low-quality-image-placeholders\">low-quality image placeholder<\/a> when only a few hundred bytes have arrived and adding more detail as the rest of the data shows up. JPEG XL ably supports both nice-to-haves.<\/p>\n<p>As a rule, image formats that are based on video codecs do not support those two worthwhile features because the concept doesn\u2019t make much sense for a single video frame. <a href=\"https:\/\/cloudinary.com\/tools\/compress-webp\">WebP<\/a> (based on VP8), HEIC (based on HEVC), and AVIF (based on AV1) only offer sequential decoding, i.e., the image loads at full detail from top to bottom, and you must wait until it has almost been completely transferred before getting an inkling of the image content.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/sequantial_decode_truncated.jpg\" alt=\"Image bored man looking at his computer to show slow loading speed in JPEG XL vs HEIC and AVIF\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"870\"\/><\/p>\n<h3>High Fidelity<\/h3>\n<p>JPEG XL is particularly effective with image compression at perceptual qualities that range from visually nearly lossless (in a side-by-side comparison), over visually completely lossless (in a flicker test, which is stricter than a side-by-side evaluation), to mathematically lossless. A lot of effort has been mounted to preserve subtle texture and other fine image details. Even though you can take advantage of the codec at lower bitrates, where the degradation becomes obvious, it really shines at the relatively higher bitrates.<\/p>\n<p>In contrast, image formats based on video codecs tend to excel at the very low bitrates: they can produce a nice image in just a few bytes. The image looks good at first but, on closer inspection, often seems weirdly \u201cplasticy,\u201d e.g., skin complexion becomes very smooth as if the compression applied a huge amount of foundation cream, or \u201cdistilled\u201d like an oil painting. That\u2019s acceptable for video codecs: you need a low bitrate to keep the file size or bandwidth reasonably low and, since frames are typically only shown for less than 40 milliseconds, the audience usually doesn\u2019t notice such artifacts. For still images, however, a higher quality is often desired.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/Web_Assets\/blog\/low-bitrate_HEIC.gif\" alt=\"Image of child with face paint\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"512\"\/>\n<em>Illustration: low-bitrate HEIC can smooth out a lot of fine image details<\/em><\/p>\n<h2>Fool-Proof Default Quality<\/h2>\n<p>The JPEG XL reference encoder (cjpegxl) produces, by default, a well-compressed image that is indistinguishable from (or, in some cases, identical to) the original. In contrast, other image formats typically have an encoder with which you can select a quality setting, where <em>quality<\/em> is not really defined perceptually. Consequently, one image might look fine as a quality-60 JPEG while another might still contain annoying artifacts as a quality-90 JPEG.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/f_jpg,q_97\/Web_Assets\/blog\/high_fidelity.png\" alt=\"Image of color spectrum and words high fidelity showing resolution of PNG image\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"400\"\/>\n<em>Original PNG image (2.6 MB)<\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/Web_Assets\/blog\/high_fidelity.png.jxl.png\" alt=\"Image of color spectrum and words high fidelity showing resolution of JPEG XL image\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"400\"\/>\n<em>JPEG XL (default settings, 53 KB): indistinguishable from the original<\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/Web_Assets\/blog\/high_fidelity_webp.png\" alt=\"Image of color spectrum and words high fidelity showing resolution of WebP image\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"400\"\/>\n<em>WebP (53 KB): some mild but noticeable color banding along with blurry text<\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/Web_Assets\/blog\/jpeg_high_fidelity.jpg\" alt=\"Image of color spectrum and words high fidelity showing resolution of JPEG image\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"400\"\/>\n<em>JPEG (53 KB): strong color banding, halos around the text, small text hard to read<\/em><\/p>\n<p>Zooming in a bit, when considering JPEG XL vs JPEG, you can see how JPEG XL preserves the text even better than a five-times- larger quality-95 JPEG, which still emits some subtle discrete cosine transform (<a href=\"https:\/\/cloudinary.com\/glossary\/dct-compression\">DCT<\/a>) noise around the letters. At a similar compression rate, HEIC, WebP, and JPEG look significantly worse than JPEG XL for this image.<\/p>\n<table class=\"table table-striped table-bordered\">\n    <tbody>\n      <tr>\n         <td>Original<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/high_fidelity.png.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>JPEG XL (53 KB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/high_fidelity.jxl.png\" width=\"512\" height=\"80\"\/><\/td>\n      <tr>\n         <td>JPEG q95 (253 KB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/high_fidelity.q95.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>HEIC (55 KB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/high_fidelity-heic.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>WebP (53 KB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/webp_high_fidelity.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>JPEG (53 KB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1589998060\/Web_Assets\/blog\/high_fidelity.jpg.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n   <\/tbody>\n<\/table>\n<p>Internally, JPEG XL leverages a novel, perceptually-motivated color space called XYB. Most other codecs still use the YCbCr color space, usually with chroma subsampling. YCbCr, which is rooted in analog color television, is a relatively crude and somewhat dated attempt at modeling human color perception. Part of YCbCr\u2019s problem is lack of precision, especially in the dark colors and in the blues and reds. That\u2019s why dark video scenes are often a terrible blocky mess.<\/p>\n<p>Thanks to its more accurate color handling, JPEG XL is better at avoiding color-banding issues, even in those difficult darks.<\/p>\n<table class=\"table table-striped table-bordered\">\n    <tbody>\n      <tr>\n         <td>Original PNG (1.3 MB)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/v1590006353\/Web_Assets\/blog\/gradient.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>Original <br> (brightened for clarity)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/e_brightness:50\/Web_Assets\/blog\/gradient.png\" width=\"512\" height=\"80\"\/><\/td>\n      <tr>\n         <td>JPEG XL <br> (4 KB, brightened for clarity)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/e_brightness:50\/Web_Assets\/blog\/gradient.jxl.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>HEIC <br> (4 KB, brightened for clarity)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/e_brightness:50\/Web_Assets\/blog\/gradient_heic.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>WebP <br> (4 KB, brightened for clarity)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/e_brightness:50\/Web_Assets\/blog\/gradient.webp.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n      <tr>\n         <td>JPEG <br> (5 KB, brightened for clarity)<\/td>\n         <td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/e_brightness:50\/Web_Assets\/blog\/gradient_jpd.png\" width=\"512\" height=\"80\"\/><\/td>\n      <\/tr>\n   <\/tbody>\n<\/table>\n<h2>Universality<\/h2>\n<p>JPEG XL handles numerous image types, including regular photographs; illustrations; cartoons; computer-generated images; logos; user-interface elements; screenshots; maps; medical imagery; images for printing, e.g., Cyan Magenta Yellow Black (CMYK) with additional spot colors; scientific images; satellite images; game graphics; huge images (gigapixel or even terapixel); tiny icons; images with alpha transparency, selection masks or depth information; layered images; and so on.<\/p>\n<p>Apropos of workflows, you can leverage JPEG XL not only as a web-delivery format, but also as a local storage and an exchange format for authoring workflows, for which fast and effective lossless compression and high <a href=\"https:\/\/cloudinary.com\/glossary\/bit-depth\">bit depth<\/a> are important. In terms of functionality and compression, JPEG XL fully supersedes JPEG, PNG, GIF, WebP, and TIFF.<\/p>\n<p>In contrast, video codec-based formats tend to have limitations that do not matter for video but that might impact still images in terms of dimensions, bit depth, number of channels, and types of image content.<\/p>\n<table class=\"table table-striped table-bordered\">\n   <thead>\n      <tr>\n         <th>Format<\/th>\n         <th>Maximum Image Dimensions <br> (in a Single Code Stream)<\/th>\n         <th>Maximum Bit Depth, <br> Maximum Number of Channels<\/th>\n      <\/tr>\n   <\/thead>\n   <tbody>\n      <tr>\n         <td>JPEG<\/th>\n         <td>4,294 megapixels (65,535 x 65,535)<\/td>\n         <td>8-bit, three channels (or four for CMYK)<\/td>\n      <\/tr>\n         <td>PNG<\/td>\n         <td>Theoretically 4 exapixels <br> (but no way to efficiently decode crops)<\/td>\n         <td>16-bit, four channels (RGBA)<\/td>\n      <\/tr>\n         <td>WebP<\/td>\n         <td>268 megapixels <br> (16,383 x 16,383)<\/td>\n         <td>8-bit, four channels (RGBA)<\/td>\n      <\/tr>\n         <td>HEIC<\/td>\n         <td>35 megapixels <sup id=\"fnref-1\"><a href=\"#fn-1\" class=\"footnote-ref\">1<\/a><\/sup>  <br> (8,192 x 4,320)<\/td>\n         <td>16-bit, three channels <br> (alpha or depth as separate image)<\/td>\n      <\/tr>\n         <td>AVIF<\/td>\n         <td>9 megapixels <sup id=\"fnref-1\"><a href=\"#fn-1\" class=\"footnote-ref\">1<\/a><\/sup>  <br> (3,840 x 2,160)<\/td>\n         <td>12-bit, three channels <br> (alpha or depth as separate image)<\/td>\n      <\/tr>\n         <td>JPEGXL<\/td>\n         <td>1,152,921,502,459 megapixels <br> (1,073,741,823 x 1,073,741,824)<\/td>\n         <td>24-bit (integer) or 32-bit (float), <br> up to 4,100 channels<\/td>\n      <\/tr>\n   <\/tbody>\n<\/table>\n<hr \/>\n<ol>\n<li id=\"fn-1\">HEIC and AVIF can handle larger images but not directly in a single code stream. You must decompose the image into a grid of independently encoded tiles, which could cause discontinuities at the grid boundaries. <i>Illustration: grid boundary discontinuities in a HEIC-compressed image. _HEIC and AVIF can handle larger images but not directly in a single code stream. You must decompose the image into a grid of independently encoded tiles, which could cause discontinuities at the grid boundaries. <\/i>Illustration: grid boundary discontinuities in a HEIC-compressed image._\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/Web_Assets\/blog\/grid_boundary.gif\" alt=\"GIF Image showing extreme close up of an image showing grid boundaries for JPEG XL vs HEIC and AVIF\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1280\" height=\"512\"\/><\/p>\n<hr \/>\n<h2>Computational Complexity<\/h2>\n<p>You can encode or decode modern video codecs like AV1 and HEVC in software, but the computational cost is high, especially for well-optimized encoding. Dedicated hardware is desirable or even required to efficiently implement such codecs. In contrast, you can easily encode or decode JPEG XL in software on current hardware. The speed results in the table below are based on four CPU cores.<\/p>\n<table class=\"table table-striped table-bordered\">\n   <thead>\n      <tr>\n         <th>Codec<\/th>\n         <th>Encoding Speed (MP\/s)<\/th>\n         <th>Decoding Speed (MP\/s)<\/th>\n      <\/tr>\n   <\/thead>\n   <tbody>\n      <tr>\n         <td>JPEG (libjpeg-turbo)<\/th>\n         <td>49<\/td>\n         <td>108<\/td>\n      <\/tr>\n         <td>HEVC (HM)<\/td>\n         <td>0.014<\/td>\n         <td>5.3<\/td>\n      <\/tr>\n         <td>HEVC (x265)<\/td>\n         <td>3.7<\/td>\n         <td>14<\/td>\n      <\/tr>\n         <td>JPEG XL<\/td>\n         <td>50<\/td>\n         <td>132<\/td>\n      <\/tr>\n   <\/tbody>\n<\/table>\n<h2>Advantages of AVIF and HEIC<\/h2>\n<p>You might conclude from the above that AVIF and HEIC are pointless. That\u2019s not true; they have three important strengths.<\/p>\n<h2>Very Low Bitrates<\/h2>\n<p>Both AVIF and HEIC can reach very low bitrates yet still produce presentable images. For all that, obviously, a lot of the image information has vanished, the compression artifacts are much less bothersome than those of JPEG.<\/p>\n<p>For applications for which bandwidth, storage reduction, or both of those factors are the main concern, i.e., they are more important than image fidelity, AVIF and HEIC might come in handy. On the other hand, if bandwidth is the major issue, then you might also desire progressive or responsive decoding, which AVIF and HEIC do not support.<\/p>\n<h2>Animation and Cinemagraphs<\/h2>\n<p>Even though you can create animation in JPEG XL, it offers no advanced video-codec features, such as <a href=\"https:\/\/cloudinary.com\/glossary\/motion-estimation\">motion estimation<\/a>. JPEG XL compresses better than GIF, APNG, and animated WebP but cannot compete with actual video codecs for production of \u201cnatural\u201d video. Even for a three-second looping video or <a href=\"https:\/\/cloudinary.com\/glossary\/cinemagraphs\">cinemagraph<\/a>, where most of the image is static, actual video codecs like AV1 and HEVC can compress much better than still-image codecs.<\/p>\n<h2>Support and Availability<\/h2>\n<p>HEIC already works well far and wide in the Apple ecosystem. No matter that HEIC doesn\u2019t yet function in the Safari browser as a web image format, it does already support HEVC as a video codec.<\/p>\n<p>AV1 shines as a video codec in the Google Chrome and Firefox ecosystems, and AVIF could follow suit. With the influential Alliance for Open Media as its sponsor, AV1 counts among its many proponents giant enterprises. Furthermore, hardware devices for AV1 are already available.<\/p>\n<p>HEIC and AVIF are now on tap. JPEG XL is still in the final stages of standardization, however, and does not yet work in browsers.<\/p>\n<h2>Current Status of JPEG XL<\/h2>\n<p>The JPEG Committee is a working group of the International Standards Organization (ISO) and the International Electrotechnical Commission (IEC). The standardization process takes time, involving multiple stages of balloting, in which the draft specification is scrutinized by various national-standards bodies, including the American National Standards Institute (ANSI) in the U.S., Deutsches Institut f\u00fcr Normung e.V. (DIN) in Germany, the Japanese Industrial Standards Committee (JISC) in Japan, etc.<\/p>\n<p>The main stages of the standardization process are New Project (NP), Working Draft (WD), Committee Draft (CD), Draft International Standard (DIS), Final DIS (FDIS), and International Standard (IS).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/iso_process.png\" alt=\"Image showing graphic representation of the ISO standardization process\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"312\"\/><\/p>\n<p>The JPEG XL standard will consist of four parts:<\/p>\n<ul>\n<li>\n<strong>Part 1 (the main part)<\/strong>, which describes the codestream (the actual image codec), is currently in the DIS stage.<\/li>\n<li>\n<strong>Part 2<\/strong>, which describes the file format (the container that wraps the codestream and additional metadata or extensions), has just proceeded to the CD stage.<\/li>\n<li>\n<strong>Part 3<\/strong>, which describes the procedure for testing conformance of JPEG XL decoders, is in the WD stage.<\/li>\n<li>\n<strong>Part 4<\/strong>, which is the <a href=\"https:\/\/gitlab.com\/wg1\/jpeg-xl\">reference implementation<\/a>, is also in the WD stage.<\/li>\n<\/ul>\n<p>If everything goes as planned, an International Standard for part 1 will be available at the beginning of 2021; for the other parts, at the end of 2021.<\/p>\n<p>In practice, once the process reaches the FDIS stage, the spec is \u201cfrozen\u201d and you can use JPEG XL for real. Nonetheless, it\u2019ll still take time and effort to garner software support for JPEG XL in applications and on platforms. Enthroning JPEG XL vs JPEG as the new go-to codec will not be a trivial task, as evidenced by several failed attempts in the past. We are hopeful that we\u2019ll succeed this time around and that we\u2019ve created a worthy successor to a 30-year-old image format that\u2019s as old as the World Wide Web, that\u2019s older than Google, that\u2019s twice as old as Facebook and Twitter, and that\u2019s three times as old as WhatsApp, Instagram, and Cloudinary.<\/p>\n<p>Here\u2019s hoping that, once it becomes a standard, JPEG XL will last for 30 years, too!<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":36279,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,426,180],"class_list":["post-22085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","tag-featured","tag-jpeg-xl"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How JPEG XL Compares to Other Image Codecs<\/title>\n<meta name=\"description\" content=\"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How JPEG XL Compares to Other Image Codecs\" \/>\n<meta property=\"og:description\" content=\"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-26T21:27:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-30T21:50:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"How JPEG XL Compares to Other Image Codecs\",\"datePublished\":\"2020-05-26T21:27:28+00:00\",\"dateModified\":\"2025-10-30T21:50:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\"},\"wordCount\":8,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA\",\"keywords\":[\"Asset Management\",\"Featured\",\"JPEG XL\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\",\"url\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\",\"name\":\"How JPEG XL Compares to Other Image Codecs\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA\",\"datePublished\":\"2020-05-26T21:27:28+00:00\",\"dateModified\":\"2025-10-30T21:50:40+00:00\",\"description\":\"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA\",\"width\":2000,\"height\":1100,\"caption\":\"image_formats-blog\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How JPEG XL Compares to Other Image Codecs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How JPEG XL Compares to Other Image Codecs","description":"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs","og_locale":"en_US","og_type":"article","og_title":"How JPEG XL Compares to Other Image Codecs","og_description":"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.","og_url":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs","og_site_name":"Cloudinary Blog","article_published_time":"2020-05-26T21:27:28+00:00","article_modified_time":"2025-10-30T21:50:40+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs"},"author":{"name":"","@id":""},"headline":"How JPEG XL Compares to Other Image Codecs","datePublished":"2020-05-26T21:27:28+00:00","dateModified":"2025-10-30T21:50:40+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs"},"wordCount":8,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","keywords":["Asset Management","Featured","JPEG XL"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs","url":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs","name":"How JPEG XL Compares to Other Image Codecs","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","datePublished":"2020-05-26T21:27:28+00:00","dateModified":"2025-10-30T21:50:40+00:00","description":"The JPEG XL is a powerful codec \u2013 find out how it compares to other codecs, including JPEG XL vs HEIC and JPEG XL vs JPEG.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","width":2000,"height":1100,"caption":"image_formats-blog"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/how_jpeg_xl_compares_to_other_image_codecs#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How JPEG XL Compares to Other Image Codecs"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1730410710\/image_formats-blog\/image_formats-blog.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22085","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=22085"}],"version-history":[{"count":14,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22085\/revisions"}],"predecessor-version":[{"id":39041,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22085\/revisions\/39041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/36279"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}