JPEG XL se vrátil do Chromu a přibyl ve Firefoxu. Zapnout si ho musí uživatel
Google vyhodil JPEG XL z Chromu v roce 2022. Odůvodnil to mimo jiné tím, že o formát není zájem. Letos v únoru se vrátil, v červnu ho přidal i Firefox. Ani v jednom prohlížeči ale běžný uživatel obrázek ve formátu JPEG XL neuvidí: dekodér je v obou vypnutý a musí se zapnout ručně.

Obrazový formát JPEG XL prošel za necelé čtyři roky celým kruhem. Google ho v roce 2022 z Chromu vyhodil i s kódem a odůvodnil to mimo jiné tím, že o něj není v oboru zájem. Letos v únoru se do Chromu vrátil a v červnu ho do svých vydání pro veřejnost přibalila Mozilla. Praktický dopad je zatím nulový: v obou prohlížečích je dekodér ve výchozím stavu vypnutý a zapnout si ho musí uživatel sám.
Poslední krok udělal Firefox 153, vydaný 21. července. Podle záznamu v Bugzille číslo 2040074, který je označený jako vyřešený a přiřazený právě k této verzi, se předvolba image.jxl.enabled nově zapíná sama – ale jen ve vývojářské větvi Nightly. Ve větvi, kterou dostane běžný uživatel, zůstává vypnutá.
Čtyři věty, kterými Google formát pohřbil
JPEG XL je normou ISO/IEC 18181. Samotný souborový formát byl podle Wikipedie schválen 13. října 2021, jádro kódovacího systému 30. března 2022. Chrome ho uměl zobrazit už od verze 91, ovšem jen po zapnutí přepínače.
Konec přišel 31. října 2022, kdy tým Chromu oznámil odstranění podpory ve verzi 110. Server The Register tehdy odůvodnění ocitoval celé; v překladu znělo, že pokusné přepínače a kód nemají zůstávat donekonečna, že „není dost zájmu z celého oboru, aby se v pokusech s JPEG XL pokračovalo“, že nový formát nepřináší oproti stávajícím dost velký přínos na to, aby se zapnul ve výchozím stavu, a že odstraněním kódu se sníží náklady na údržbu.
Právě ten druhý bod vzbudil odpor. Wikipedie k tomu uvádí, že formát ještě před odstraněním veřejně podpořily mimo jiné Facebook, Adobe, Intel, The Guardian, Flickr, SmugMug a Shopify a že se v evidenci chyb Chromia sešla řada hlasů proti rozhodnutí. Jon Sneyers, spoluautor specifikace, to podle téhož zdroje shrnul tak, že došlo k nešťastné dezinterpretaci dat, která vedla k chybnému rozhodnutí. Formát přitom zčásti vyrostl z Googlem vyvinutého kodéru PIK.
Rozhodl přepis do Rustu
Co se od té doby změnilo, není formát, ale jazyk, ve kterém je napsaný jeho dekodér. Původní referenční implementace libjxl je v C++, tedy v jazyce, kde chyba v práci s pamětí bývá rovnou bezpečnostní dírou. A dekodér obrázků je z pohledu útočníka ideální cíl: zpracovává cizí data z libovolné stránky, ještě než na ně uživatel klikne.
Náhradou je jxl-rs, přepis dekodéru do Rustu pod licencí BSD-3-Clause. Sami autoři ho v popisu projektu označují za rozdělanou práci: jde podle nich o „rozpracovanou reimplementaci dekodéru JPEG XL v Rustu, která má být konformní, bezpečná a rychlá“ (v překladu). Do zdrojových kódů Chromia se dostal v prosinci 2025, zapojený byl v lednu 2026.
Chrome 145 vyšel v únoru 2026 už s ním. Podle serveru Phoronix je v něm dekodér schovaný za přepínačem enable-jxl-image-format na adrese chrome://flags. Mozilla postupovala obdobně: Firefox 152 z 16. června 2026 má kód JPEG XL zkompilovaný přímo ve vydáních pro veřejnost, jenže za běhu vypnutý. Zapíná se zaškrtnutím v panelu Firefox Labs v nastavení.
Právě tady se dá snadno přehlédnout, co je vlastně novinka. Položka o JPEG XL stojí v poznámkách k vydání Firefoxu 152 i 153 se stejným zněním, protože oddíl Firefox Labs se mezi verzemi opakuje. Nové v 153 je jen to přepnutí v Nightly.
Mozilla má pořád neutrální stanovisko
Zajímavé je, že Mozilla svůj oficiální postoj k formátu nezměnila. V jejím veřejném seznamu stanovisek k webovým normám stojí u JPEG XL od ledna 2023 hodnota neutral a odůvodnění, které v překladu říká, že JPEG XL má vlastnosti a výkon, jimiž se od jiných formátů může odlišovat, ale přínos není sám o sobě dost velký na to, aby ospravedlnil náklady na přidání dalšího rastrového formátu na web.
Stanovisko a chování prohlížeče si tedy odporují jen zdánlivě. Mozilla dekodér přibalila, ale nezapnula – a dokud ho nezapne, nemusí své stanovisko měnit.
Pro tvůrce webů se zatím nic nemění
Databáze Can I use, která podporu formátů v prohlížečích sleduje, ukazuje smutný obrázek. U Chromu je JPEG XL vedený jako vypnutý ve výchozím stavu od verze 91 až po 154, u Firefoxu od verze 90 po 156. Tabulka přitom nerozlišuje verze, ve kterých kód v prohlížeči vůbec nebyl, od těch, kde jen čeká na přepnutí – pro čtenáře je výsledek stejný. Edge formát nepodporuje vůbec. Jediný prohlížeč, kde JPEG XL funguje bez zásahu uživatele, je Safari od verze 17 – a to jen částečně, pro statické obrázky.
Kdy se přepínač překlopí, nikdo neoznámil. Analýza serveru The Image CDN k tomu píše natvrdo, že kdo vám termín zapnutí ve výchozím stavu tvrdí, hádá. Podmínkou z Googlu je podle téhož zdroje závazek k dlouhodobé údržbě dekodéru.
Prakticky to znamená, že obrázek ve formátu .jxl na webu zatím nemá smysl nabízet jako jedinou variantu. Pro server se nic nemění: prohlížeč, který formát neumí, ho v hlavičce Accept nepožádá a dostane běžný JPEG nebo WebP. Zajímavější to bude teprve ve chvíli, kdy jedno vydání Chromu překlopí přepínač – a při dvoutýdenním cyklu vydávání, na který prohlížeče přecházejí, se to může stát mezi dvěma úterky.
Zdroje
Poznámky k vydání Firefoxu 153 a Firefoxu 152, vývojářský přehled změn ve Firefoxu 153 na MDN, záznam chyby 2040074 v Bugzille, stanovisko Mozilly k JPEG XL, repozitář jxl-rs, zpráva The Register o odstranění z Chromu, Phoronix o Chromu 145, tabulka podpory na Can I use a rozbor The Image CDN.