{"id":53506,"date":"2026-10-12T22:04:08","date_gmt":"2026-10-13T02:04:08","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=53506"},"modified":"2026-10-12T22:37:37","modified_gmt":"2026-10-13T02:37:37","slug":"chrome-supports-jpeg-xl","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/10\/12\/chrome-supports-jpeg-xl\/","title":{"rendered":"Chrome Supports JPEG XL"},"content":{"rendered":"<p><a href=\"https:\/\/tonisagrista.com\/blog\/2025\/google-unkills-jpegxl\/\">Toni Sagrista Selles<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=46108563\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/tonisagrista.com\/blog\/2025\/google-unkills-jpegxl\/\">\n<p>In a dramatic turn of events, the Chromium team has reversed its <code>Obsolete<\/code> tag, and has decided to support the format in Blink (the engine behind Chrome\/Chromium\/Edge). Given Chrome&rsquo;s position in the browser market share, I predict the format will become a <em>de factor<\/em> standard for images in the near future.<\/p>\n<p>[&#8230;]<\/p>\n<p>I&rsquo;ve been following JPEG XL since its experimental support in Blink. What started as a promising feature was quickly axed by the team in a bizarre and ridiculous manner. First, they asked the community for feedback on the format. Then, the community responded very positively. And I don&rsquo;t only mean a couple of guys in their basement. <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment17\">Meta<\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment65\">Intel<\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment71\">Cloudinary<\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment39\">Adobe<\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment69\"><code>ffmpeg<\/code><\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment70\"><code>libvips<\/code><\/a>, <a href=\"https:\/\/issues.chromium.org\/issues\/40168998#comment67\">Krita<\/a>, and many more. After that came the infamous comment[&#8230;]<\/p>\n<p>[&#8230;]<\/p>\n<p>To top it off, a couple of weeks ago, the PDF Association announced their intent to adopt JPEG XL as a preferred image format in their PDF specification.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/www.phoronix.com\/news\/JPEG-XL-Returns-Chrome-Chromium\">Michael Larabel<\/a> (<a href=\"https:\/\/slashdot.org\/story\/26\/01\/13\/2026229\/jpeg-xl-image-support-returns-to-latest-chromechromium-code\">Slashdot<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.phoronix.com\/news\/JPEG-XL-Returns-Chrome-Chromium\">\n<p>JPEG-XL image support is back in the very latest Google Chrome\/Chromium codebase. Back in December they <a href=\"https:\/\/github.com\/chromium\/chromium\/commit\/740e9bb6eda1faec82bb17e11f87b7313b46a137\">merged jxl-rs<\/a> as a pure Rust-based JPEG-XL image decoder from the official libjxl organization. At the end of December they did <a href=\"https:\/\/github.com\/chromium\/chromium\/commit\/2b547e7e232bbad5d46a04e466757dfc96de93f8\">more JPEG-XL plumbing<\/a> with the enums and build flags for the support.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/developer.chrome.com\/blog\/jpeg-xl-in-chrome\">Luca Versari et al.<\/a> (via <a href=\"https:\/\/x.com\/duda_jarek\/status\/2107465361696120952\">Jarek Duda<\/a>):<\/p>\n<blockquote cite=\"https:\/\/developer.chrome.com\/blog\/jpeg-xl-in-chrome\">\n<p>We&rsquo;re excited to announce that Chrome is shipping decoding support for the JPEG\nXL (<code>.jxl<\/code>) image format starting from Chrome 155. JPEG XL is a next-generation\nimage format designed to meet the needs of modern web developers and\nphotographers. It offers 30-50% better compression than JPEG, lossless\ncompression, built-in HDR support, lossless JPEG transcoding, and more.<\/p>\n<p>In general, we recommend trying both AVIF and JPEG XL to get the best results.\nWe expect that JPEG XL is most helpful for high-fidelity or lossless\ncompression, especially of photographic images or in cases in which fine-grained\nprogressive decoding is preferred.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/06\/17\/chrome-doesnt-support-jpeg-xl\/\">Chrome Doesn&rsquo;t Support JPEG XL<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/10\/22\/iphone-16-adds-jpeg-xl\/\">iPhone 16 Adds JPEG XL<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Toni Sagrista Selles (Hacker News): In a dramatic turn of events, the Chromium team has reversed its Obsolete tag, and has decided to support the format in Blink (the engine behind Chrome\/Chromium\/Edge). Given Chrome&rsquo;s position in the browser market share, I predict the format will become a de factor standard for images in the near [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-10-13T02:04:14Z","apple_news_api_id":"6c23af21-1725-4bcf-8fcd-46588e4b28d9","apple_news_api_modified_at":"2026-10-13T02:37:43Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/AbCOvIRclS8-PzUZYjkso2Q","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[456,619,2674,30,32,2784,345,408,2074,96],"class_list":["post-53506","post","type-post","status-publish","format-standard","hentry","category-technology","tag-googlechrome","tag-graphics","tag-jpeg-xl","tag-mac","tag-macapp","tag-macos-27","tag-pdf","tag-rust-lang","tag-software-rewrite","tag-web"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=53506"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53506\/revisions"}],"predecessor-version":[{"id":53508,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/53506\/revisions\/53508"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=53506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=53506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=53506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}