Firefox 157 turning JPEG XL decode on by default is not permission to replace JPG and PNG on the public web. The decision for a web team is not “major browsers will handle JXL by year-end, so ship a single format.” Timothy Nikkel’s Intent to ship covers Firefox 157 decode defaults. Safari 17.0 (2023) is in stable Safari but remains a partial implementation (no progressive rendering or animation). Chrome’s experimental flag is a separate fact.
📑Table of Contents
Pick one next action
After reading the article, pick one line.
- Verify only (open one
.jxlin Nightly or Firefox Labs) - Trial
<picture>fallback delivery - Keep JPG/PNG and wait for a Chrome Intent to ship
What Firefox 157 actually turns on
The change is default JPEG XL decoding in Firefox 157 on every platform. It is not a license to drop JPG and PNG everywhere.
Nikkel’s mail says decode will be on by default. The current facts are as follows:
- Path today: Nightly plus
image.jxl.enabled - Since Firefox 152: every channel also has a Firefox Labs checkbox
- Decoder: Rust jxl-rs
- Standard: ISO/IEC 18181
- Tracking: Bug 2065096
Timing reports and remaining limits
WebProNews (2026-08-24) reports 157 at the end of September 2026. Treat that as reporting until release notes land. To try before 157, flip the Nightly pref or the Labs item and open one .jxl.
Limits remain in place.
- HDR JPEG XL currently displays as SDR.
- Nikkel contrasts Safari as having neither progressive rendering nor animation.
- Chrome default-on is not declared in that mail.
Keep this separate from other Firefox shipping
Do not treat Firefox default-on support as Safari-complete or Chrome-default.
Firefox product questions that are not codecs belong elsewhere. The Firefox IP Protection VPN availability guide is a different shipping decision.
Safari partial support vs Chrome flags
“Major browser support” is not the same depth in each engine. Safari 17.0 (2023) shipped in stable Safari but remains a partial implementation: no progressive rendering and no animation. Chrome 145+ has enable-jxl-image-format and leaves it off by default.
Implementation depth as of August 2026
| Item | Firefox | Safari | Chrome |
|---|---|---|---|
| Default as of Aug 2026 | Nightly only; 157 planned default on all channels | Stable since 17.0 (2023) | Decoder in 145+; flag only |
| How to enable | image.jxl.enabled / Labs (152+) |
No extra step | chrome://flags/#enable-jxl-image-format |
| Decoder | jxl-rs | OS stack (libjxl family) | jxl-rs |
| Progressive | Yes (Hacks / Nikkel) | No (Nikkel) | Feature parity with Blink, per Nikkel |
| Animation | Yes (Nikkel) | No (Nikkel) | Feature parity, per Nikkel |
| Default-on by year-end | 157 (late-September reports) | Already shipped | No Intent to ship (Nikkel) |
Sources as of August 2026
Sources (as of August 2026):
“Will handle” is not default-on
Mozilla Hacks saying Chrome also intends to ship is Jake Archibald’s framing. CyberInsider repeats that framing.
Nikkel’s primary mail still says Chrome has no intent to ship. “Will handle the format” is not the same as “on by default.”
Chrome 110 removal is not a default-on reversal
Neowin also notes Chrome 110 removed support in late 2022. The 145+ flag is a later experiment, not a reversal of default policy. Chromium forks may inherit the flag. Each vendor’s default remains a separate check.
When JPEG XL beats AVIF — and when JPG stays
For typical web-quality photos, AVIF is often smaller. JPEG XL is the better tool when you need lossless compression, progressive display, or lossless recompression of existing JPEGs. Do not assume the newer codec always wins on file size.
Mozilla Hacks publishes these sizes for one fox image:
Same-image kB from Mozilla Hacks
| Condition | AVIF | JPEG XL | Lossless WebP |
|---|---|---|---|
| SSIMULACRA 2 62.8 (medium-high) | 116 kB | 134 kB | — |
| SSIMULACRA 2 80 (very high) | 227 kB | 264 kB | — |
| Lossless | 1.76 MB | 1.45 MB | 1.55 MB |
Source: Mozilla Hacks Intent to Ship JPEG XL (as of August 2026)
The progressive demo is a 135 kB finished file that shows the subject after a few kilobytes. A separate Interop 2025 screenshot at SSIMULACRA 2 78 is AVIF 11.6 kB vs JPEG XL 23.8 kB; lossless is AVIF 164 kB vs JPEG XL 92 kB vs WebP 96 kB. Those are single-image examples. Measure a representative set from your site.
Lossless JPEG and when AVIF stays
JPEG.org documents lossless transcoding of existing JPEG files and exact JPEG restoration. A server can store one JPEG XL file and still serve JPEG clients.
- Typical ratios of 20:1 to 50:1 depend on content.
- Neowin and Windows Report cite roughly 20% smaller than JPEG.
- Archive repacking does not need browser defaults.
CyberInsider is explicit that JPEG XL will not replace AVIF outright. Hacks’ own split is as follows:
- JPEG XL for lossless, progressive, and JPEG recompress without quality loss
- AVIF for typical web photos and sharp-edge/flat mixes
- Mozilla also calls AVIF progressive support basic
Artifact type before codec
If the real question is whether a deliverable must stay an editable native file versus a bitmap export, decide that first with native PPTX versus image slides. Codec choice comes after the artifact type.
Checklist before changing JPG/PNG delivery
The next action is to decide on MIME type and fallback, not to cut over while Chrome remains flag-only.
Decision criteria
Use these three criteria:
- Is the asset a photo, a lossless graphic, or a large image that needs early paint?
- Can receivers live with Safari’s partial implementation and Chrome’s flag-off default?
- Is lossless JPEG repack enough, with no browser change required?
Trial sequence
Then run this sequence:
- Display one
.jxlin Nightly or Labs. - Trial
<picture>in JPEG XL → AVIF/WebP → JPEG/PNG order. - Confirm origin or CDN can serve
image/jxl. - Hold hero images as a single format until Chrome files an Intent to ship.
A trial skeleton:
<picture>
<source type="image/jxl" srcset="hero.jxl">
<source type="image/avif" srcset="hero.avif">
<source type="image/webp" srcset="hero.webp">
<img src="hero.jpg" alt="Hero image" width="1200" height="800">
</picture>
⚠️ Chrome 145+ still needs chrome://flags/#enable-jxl-image-format set to Enabled and a restart. Users without the flag cannot see a lone JPEG XL URL. A public page that only ships .jxl will break for that audience.
Provenance of generated images is a different gate. If the asset’s origin is unclear, use the pre-publish AI illustration checklist before arguing about codecs.
FAQ
Will Firefox 157 show JPEG XL with no user action?
That is the plan. Nikkel’s Intent to ship is default-on for every platform. WebProNews reports late September 2026. Confirm in release notes.
How do I view JPEG XL in Chrome now?
On Chrome 145+, enable enable-jxl-image-format and restart. It is not default. There is no primary Google declaration of default-on as of August 2026.
Is Safari enough?
Safari has been stable since 17.0 (2023). Nikkel says it lacks progressive rendering and animation. Treat it as partial. If you need early paint on huge images or JXL animation, Safari alone is not enough.
Can we drop AVIF?
In Hacks’ photo examples, AVIF is smaller at web quality. JPEG XL wins more often on lossless and progressive. Measure by job. The default answer is no.
Must we discard existing JPG files?
No. JPEG.org includes lossless transcode and exact JPEG restore. Archive work is independent of browser defaults. That is not the same decision as deleting public JPG/PNG.
Related articles:
Summary
Firefox 157 is likely to default-on JPEG XL decode. Safari remains partial. Chrome remains a flag. Replacing JPG and PNG site-wide is still early.
This week: open one file in Nightly, add one <picture> fallback path, and wait for a Chrome Intent to ship. Leave the decision as verify / trial / wait.
What stays uncertain: Chrome’s default-on date, whether Safari adds progressive and animation, and whether Hacks’ kB numbers match your corpus. Do not treat a year-end “support” headline as a default-on ship order.
Author
krona23
Over 20 years in the IT industry, serving as Division Head and CTO at multiple companies running large-scale web services in Japan. Experienced across Windows, iOS, Android, and web development. Currently focused on AI-native transformation. At DevGENT, sharing practical guides on AI code editors, automation tools, and LLMs in three languages.
🔥 Most Popular
- Claude Desktop Won't Install? Windows & Mac Fixes That Worked (2026)
- Zed Language Support & IME Issues: CJK Input, i18n Status — Complete Guide (2026)
- Claude Code Skill: Hands-On SKILL.md, Auto-Invoke & Teams (2026)
- Claude Code CLI vs Web vs Desktop: A Daily User's Guide (2026)
- Install OpenClaw: Node 24 or 26 (November 2026)













Leave a Reply