v145 · Imaging · Media
JPEG XL decoding support (image/jxl) in blink
Chrome 145 introduces a Rust-based JPEG XL decoder, bringing support for the image/jxl MIME type to Blink — currently behind the enable-jxl-image-format flag, with default-on planned for late 2026.
Behind a flag in Chrome 145. Enable at chrome://flags/#enable-jxl-image-format to use these demos.
concepts
-
Format Support Detector
Detect whether the current browser can decode
image/jxl. Shows how to use a minimal JXL probe image with an async loader, and demonstrates the<picture>element pattern for graceful JXL fallback. -
Format Showcase
Side-by-side display of the same image encoded as JPEG XL and JPEG, using
<picture>withtype="image/jxl". Highlights JXL advantages: progressive decoding, wide-gamut HDR support, and lossless compression. -
Conditional Loader
Probe
image/jxlsupport via a 1x1 test decode, then dynamically build a<picture>source set that prefers JXL. Reports decode time per format. -
Picture Element Builder
Detects which image formats the current browser supports (JXL, AVIF, WebP, JPEG, PNG), lets you reorder and toggle sources, and generates a ready-to-copy
<picture>element — with a live verdict showing which format this browser would actually pick.
why it shipped
JPEG XL was removed from Chrome in 2022 after concerns about standardization. The format has since matured: it is now natively supported in Safari, Firefox adopted it, the PDF Association included it in its specifications, and Apple's platforms ship the format as a system codec. Chrome 145 restores JPEG XL support using a new Rust-based decoder (jxl-rs) for memory safety. JPEG XL offers meaningful improvements over JPEG and WebP: lossless compression 15–35% smaller than PNG, lossy compression visually superior to JPEG at equivalent file sizes, progressive decoding with a 1:8 preview at 1% of total bytes, and native support for HDR, wide-gamut (P3/BT.2100), and high bit depth (up to 32-bit).