Firefox 157 Makes JPEG XL Impossible to Ignore
Firefox 157 ships JPEG XL enabled by default. The sleeper feature: losslessly shrink existing JPEGs ~20% — and reverse it bit-exact.
Firefox 157 will ship with JPEG XL enabled by default on every platform, per Mozilla's dev-platform post. Safari already ships it. Two of the three major engines in means this stopped being a format-war footnote.
But the part you should act on today has nothing to do with browsers. JPEG XL can recompress the JPEGs you already have — losslessly, reversibly, typically around 20% smaller. No quality review needed, because the pixels never change.
Why this matters
Images dominate page weight, and most teams already burned a sprint on an AVIF pipeline. AVIF is strong at aggressive compression but falls apart at high quality and is mediocre at lossless. JPEG XL wins on both ends: smaller files at visual parity in the high-fidelity range, proper lossless mode, native HDR and wide gamut, and compressed ICC profiles built in.
The killer feature for most shops is simpler: a one-pass, zero-risk shrink of every existing JPEG. That's a storage and CDN bill line item, not a re-encode project with a QA phase.
How it works
JPEG XL has two modes. VarDCT is the perceptual mode, like AVIF's approach. Modular mode is the lossless workhorse. When you feed a JPEG to the encoder, it does something smarter than either: it parses the existing DCT coefficients and entropy-codes them with a better model.
Nothing is re-rendered, so there's no generation loss. And it's a true transform — the decoder can reconstruct your original JPEG byte-for-byte. Think of it as a better zip for JPEGs, not a new export.
JXL is also progressive by design: one file decodes at multiple resolutions, and decoding a small region or thumbnail is cheap. That threatens the "generate six resized variants" step in your image pipeline.
Where this helps
- Legacy media libraries. Transcode millions of stored JPEGs losslessly and cut object storage and egress costs with zero perceptual risk.
- Product photography. The high-quality range is exactly where AVIF struggles and JXL pulls ahead — smaller files at the same visual fidelity.
- LCP on slow connections. Progressive decode paints a recognizable image from partial bytes, improving perceived load on throttled mobile.
- Photo portfolios. Float HDR and wide gamut in one file, no sidecar color hacks, no separate "pro" variant.
Watch out
Chrome shipped JXL behind a flag, then ripped it out in 2023 and has shown no appetite for reversing course. Verify current status on caniuse before serving it unconditionally; use <picture> fallbacks or Accept negotiation at your CDN.
Tooling is patchy. You need libjxl for the CLI tools; recent sharp and ImageMagick builds handle it, older ones don't. Check your CI image before assuming.
And transcode gains vary — aggressively mozjpeg-optimized files shrink less. JXL decode is also heavier than baseline JPEG, so benchmark LCP on low-end Android before swapping formats wholesale.
Try it yourself
# macOS: brew install jpeg-xl | Debian/Ubuntu: apt install libjxl-tools
cjxl product.jpg product.jxl # lossless transcode of existing JPEG
ls -l product.jpg product.jxl # typically ~15-20% smaller
jxlinfo product.jxl # inspect the file
djxl product.jxl restored.jpg # reconstruct original JPEG
cmp product.jpg restored.jpg && echo "bit-exact roundtrip"
# true JXL encode (visually lossless, far smaller):
cjxl shot.png shot.jxl -d 1 -e 7TL;DR
- What changed: Firefox 157 enables JPEG XL by default on all platforms — Gecko joins WebKit, leaving Chrome as the outlier.
- Why it matters: lossless JPEG transcoding shrinks your existing image library ~20% with zero quality risk, fully reversible.
- Try today: run
cjxlover a sample of your production JPEGs and measure real savings before the meeting where someone proposes re-encoding everything.