blog.bryanls.fr

JPEG XL

Pictures on this site are stored as JPEG XL, with WebP as the fallback. A supporting browser picks JPEG XL through a <picture> element. No JavaScript, no user-agent sniffing.

As of 2026, Safari (macOS / iOS 17+) decodes JPEG XL by default. Chrome, Edge and Firefox ship a decoder but keep it behind a flag.

To check: open /img/trail-d1.jxl in a new tab. If that image renders, the decoder works and the post should use JXL. If it downloads or shows as broken, the flag did not take (or the browser is too old). Network panel: a JXL-capable load requests *.jxl, not *.webp.

If the flag is off or the decoder is missing, you get the WebP. Same picture, usually a few more kilobytes.