Chrome ships JPEG XL with a Rust decoder that's fast and memory-safe

Shipping JPEG XL in Chrome

Chrome ships JPEG XL with a Rust decoder that's fast and memory-safe

Chrome 155 now decodes JPEG XL, an image format with 30–50% better compression than JPEG, lossless and HDR support, and lossless JPEG transcoding. The decoder, jxl-rs, is written in pure Rust, using SIMD without unsafe code to match C++ performance while eliminating memory-safety bugs. The move follows years of developer requests through the Interop Project, and Chrome recommends trying both JPEG XL and AVIF.

We verified the jxl-rs implementation with various state-of-the-art techniques, including fuzzing and AI review of the code, and have not found any memory safety bugs throughout the entire implementation history, providing yet another validation of the huge improvements that Rust brings to memory safety.
  1. jug

    And soon Firefox will include it in Stable. During October it will go from Safari only to majority coverage. Eventful month!

    While AVIF may have a slight edge in some cases like in fairly lossy compression, you won't really go _wrong_ with JPEG XL (unless strongly CPU constrained) and I think the strength of the format is its extreme versatility as a "be all end all image format" for some time where comparative performance depending on functionality ranges from respectable to excellent. It can work as a replacement for AVIF, PNG, JPEG, WebP, even certain TIFF required scenarios (high bit depth, multichannel, layers) depending on use cases.

  2. xx_ns

    It's exciting to see JXL support being re-added in Chrome after being removed a while ago and them seemingly not being interested in supporting it [1].

    I think JXL is a cool image format, but was being held back by the most popular browser not supporting it, limiting its use (in the web especially) by a lot.

    [1]: https://issues.chromium.org/issues/40270698

  3. swiftcoder

    See previous HN discussions for context:

    Google set to deprecate JPEG XL support in Chrome 110 - https://news.ycombinator.com/item?id=33399940

    JPEG XL support has officially been removed from Chromium - https://news.ycombinator.com/item?id=33933208

    Chrome Jpegxl Issue Reopened - https://news.ycombinator.com/item?id=46033330

    The case agains JPEG XL - https://news.ycombinator.com/item?id=49690554

  4. revolvingthrow

    Glad to see it happen. I'd prefer it there was just one format rather than both jxl and avif, but at least it's the final nail in the coffin of webp which seems to have accomplished little but annoy people for not much gain.

    The wider ecosystem support is still far from commonplace, but it is slowly changing. iOS 18 wouldn't work with .jxl in Photos, but 27 does. Similarly, quick look and preview works fine on MacOS 27, thumbnails show up properly etc. I also found no issues with .jxl on linux, and image editors are slowly adding support as well.

    Plain old jpg will still be everywhere for the next decade, but I'm glad that we finally have superior options with no real downsides, and without all the patent bullshit to boot.

  5. kelseydh

    Every time a new image format comes out, I think about the compatibility crisis between apps.

    E.g. Telegram still doesn't have sane support for .webp, it treats them as stickers. MacOS can take a long time to update with support for new formats. Image viewer apps even longer, many never updating to support new formats.

  6. cyberrock

    The tortoises have somehow outrun the hare because Safari still hasn't turned on progressive loading in libjxl (which had this feature since before Safari added the feature), while FF (non Android) and Chrome shipped with it enabled. The 3 year long chess clock is now flipped.

  7. tepmoc

    One downside is that you cannot tell if format lossy or lossless by looking at its extension.

  8. flockonus

    Interesting win for a cool format, i remember there was a rather arbitrary closing of the issue in Chromium forum despite big support for its addition, more strange yet is that Chrome team was pushing it's technical advancement forward.

    Sadly, still far from adoptable today's web:

    https://caniuse.com/jpegxl = 17%

    https://caniuse.com/?search=webp = 97%

  9. YesThatTom2

    Drat! I hoped this was going to cover the internal battle where Google executives trying to stop JPEG XL and how engineers finally convinced them to change their minds.

    My guess: the engineers didn’t win the argument. The executives just gave up once all the other browsers had added support.

  10. tniemi

    Watching the example image load I had this flashback of the past, where images were 256 color interlaced GIFs, downloading slowly, line by line...

More from this day

2026-10-07