Learnt about JPEG XL today. It's really cool, and a lot of people want it.
Why? First of all, it supports both lossy and lossless compression, meaning you don't need to use different image formats to suit different needs. Plus, since JPEG XL is based on JPEG, it's already a familiar format. Secondly, to compare image formats, JPEG XL has shown to be significantly better at compressing images than basically every other format out there. When comparing lossy JPEG XL with legacy JPEG and lossless JPEG XL with PNG, JPEG XL crushes in efficiency. Even HEIC loses to JPEG XL, if not for efficiency, for usage, as JPEG XL is licensed more liberally. Compare it to AVIF, a very recent codec, and JPEG XL still comes out equal if not on top. Finally, from a more temporal standpoint, not only is JPEG XL not subject to mold like JPEG is due to having a lossless option and not having to lossily reencode the same image as it gets posted again and again, it is also future-proof compared to AVIF, which is JPEG XL's main competition. AVIF only supports up to 8K(*, it can go above but it gets really freaky) and 12-bit color, while JPEG XL supports up to 1G (= 1 million K = 1 billion pixel resolution) and 32-bit color, which is enough fidelity for applications that may require it. Oh, and it's able to be loaded in parallel. And it only requires 15% of the image to be loaded before there's enough data to display a lower-quality version until more detail comes through (like how Unreal shows low-quality versions of terrain and models until they are processed enough to show everything).
So JPEG XL seems like a really good format, right? Why isn't it used everywhere?
Because Google decided to kill it off.
Google has dropped support for JPEG XL. And Google controls the web space.
So I'm going to use JPEG XL out of spite. I love this image format. I switched my Firefox to Nightly so I can use JPEG XL. And I'm making a game engine, so I can make JPEG XL the native image format, because why not :P. There's even a JPEG XL paint.NET plugin, so spriting is easy. And if you can compile it, FFmpeg supports JPEG XL with --enable-libjxl.
I'm going to keep this format alive.














