JPEG XL – format graficzny obsługujący zarówno kompresję stratną, jak i bezstratną. Zaprojektowano go z myślą, by był lepszy od istniejących formatów rastrowych, a tym samym stał się ich uniwersalnym zamiennikiem.
Historia
W 2017 roku komitet JTC1/SC29/WG1 (JPEG) ogłosił możliwość składania propozycji (Call for Proposals) na kandydatów na JPEG XL.
Format został zamrożony 24 grudnia 2020 r., co oznacza, że obecnie zakodowane pliki będzie można zdekodować w przyszłości.
Funkcje
Najważniejszymi funkcjami są:
większy zestaw funkcji i lepsza efektywność kompresji w porównaniu do tradycyjnych formatów graficznych (m.in. JPEG, GIF oraz PNG),
dekodowanie progresywne (polepszanie się jakości wizualnej w miarę ładowania kolejnych fragmentów pliku),
Format ten opiera się na dwóch głównych trybach kodowania:
VarDCT – używa tego samego algorytmu DCT, co klasyczny JPEG, ale bloki, zamiast być ograniczone do 8×8, występują w różnych rozmiarach (od 2×2 aż po 256×256) oraz kształtach (np. 16×8, 8×32, 32×64), a także mogą używać innych rodzajów transformacji (AFV, Hornuss).
Modular – jest odpowiedzialny m.in. za wydajne, bezstratne kodowanie treści. To z jego pomocą zapisywane są dodatkowe kanały (np. alfa, głębokość, temperatura i inne) oraz współczynniki DC (skala 1:8) trybu VarDCT. Możliwa jest w nim również stratna kompresja, dokonywana z pomocą transformacji Haaro-podobnej, nazywanej w JPEG XL „squeeze”. Ma ona progresywne właściwości: w miarę doczytywania danych widać coraz więcej detali. Progresywne ładowanie obrazów zapisanych trybem VarDCT odbywa się między innymi właśnie przez zapisanie współczynników DC trybu VarDCT w trybie modularnym stratnym, działając w tandemie.
Oba tryby mogą wspomagać się dodatkowymi narzędziami, nieznanymi w innych kodekach:
synteza szumu (jest on trudny do zakodowania w obu trybach, więc lepiej jest oszacować jego wartość w koderze, zapisać ją w pliku i zaaplikować szum ponownie w dekoderze).
Stratne ustawienia kodowania z reguły używają przestrzeni barw XYB stworzonej na bazie LMS.
JPEG XL potrafi również bezstratnie zakodować już istniejące pliki JPEG do bardziej kompaktowej formy, kopiując bezpośrednio współczynniki bloków DCT z JPEG-a do bloków VarDCT w JPEG XL, zawdzięczając mniejszy rozmiar lepszemu kodowaniu entropijnemu. Kiedyś za bezstratną kompresję plików JPEG był odpowiedzialny Brunsli, odrębny tryb od VarDCT i modularnego, został on jednak porzucony na rzecz uproszczenia specyfikacji i zmniejszenia rozmiaru dekodera o 20%.
Predykcja jest wykonywana przy użyciu dekorelatora piksel po pikselu bez dodatkowych informacji, używając sparametryzowanego, samokorygującego, ważonego zestawu predyktorów. Modelowanie kontekstowe obejmuje wyspecjalizowane modele statyczne i potężne modele metadaptacyjne, które uwzględniają błąd lokalny, z sygnalizowaną strukturą drzewa i wyborem predyktorów w zależności od kontekstu. Kodowanie entropijne używa algorytmu LZ77 i może wykorzystywać zarówno rANS (wariant przedziałowy Asymetrycznych Systemów Liczbowych), jak i kodowanie Huffmana (dla prostszych koderów lub w celu zmniejszenia narzutu danych w małych plikach)[potrzebnyprzypis].
Domyślnie implementacja referencyjna JPEG XL używa ustawień, które pomimo dobrej kompresji wciąż zapewniają jakość obrazu niemal nieodróżnialną od oryginału.
Animacje w tym formacie, w przeciwieństwie do formatów typowo filmowych (takich jak H.264 czy VP9), nie używają zaawansowanej kompresji międzyklatkowej, ale (podobnie do GIF) mają do dyspozycji pewne proste narzędzia:
klatka może aktualizować tylko część obrazu,
obraz może być nie tylko zastąpiony, ale też wmieszany, dodany lub przemnożony,
aż do 4 klatek może być oznaczonych do przechowywania „łatek” wykorzystywanych w późniejszych klatkach.
Oprogramowanie i wsparcie
Implementacja referencyjna
libjxl
Logo programu
Narzędzia wiersza poleceń cjxl (koder), jxlinfo (informacje o pliku) i djxl (dekoder)
Implementacją referencyjną formatu jest libjxl – napisana w C++ biblioteka udostępniana na 3-klauzulowej licencji BSD (wcześniej na Apache License 2.0). Stanowi ona zarazem czwartą część normy ISO/IEC 18181, zatytułowaną Reference software. Poza samą biblioteką pakiet zawiera narzędzia wiersza poleceń: koder cjxl, dekoder djxl, jxlinfo wypisujący informacje o pliku, implementację metryki jakości obrazu ssimulacra2 oraz wtyczkę dla GIMP-a i biblioteki gdk-pixbuf. libjxl jest dostępna w repozytoriach wszystkich głównych dystrybucji Linuxa i systemów BSD.
Przeglądarki internetowe
Safari (silnik WebKit) – domyślne włączone dekodowanie JPEG XL, od Safari 17 beta (6 czerwca 2023); wsparcie jest częściowe (obrazy statyczne, bez animacji i dekodowania progresywnego).
Google Chrome / Chromium – po usunięciu obsługi w Chrome 110 (2023) dekodowanie przywrócono w Chrome 145 (wydanie stabilne 10 lutego 2026). Wykorzystano nowy dekoder w języku Rust o nazwie jxl-rs zamiast referencyjnej biblioteki libjxl (w C++). Funkcja jest domyślnie wyłączona i wymaga włączenia przez użytkownika chrome://flags/#enable-jxl-image-format.
Mozilla Firefox – od Firefox 152 (16 czerwca 2026) obsługa JPEG XL jest dostarczana w domyślnym wydaniu release, jednak funkcja ta wymaga aktywacji parametru image.jxl.enabled lub funkcji Multimedia: JPEG XL w ustawieniach.
Przeglądarki oparte na Chromium (Microsoft Edge, Opera, Brave, Vivaldi) do obsługi formatu wymagają aktywacji tej funkcji przez użytkownika.
Według serwisu Can I Use globalny udział przeglądarek obsługujących JPEG XL wynosi 13,6% ze względu na domyślą obsługę w przeglądarce Safari i iOS Safari 17+); Chrome, Edge i Firefox nie wchodzą do tego udziału ze względu na obsługę w formie funkcji eksperymentalnej.
Edytory i przeglądarki grafiki
Adobe Photoshop – natywny odczyt i zapis JPEG XL od wersji 26.8 (17 czerwca 2025).
GIMP – import od 2.10.32, eksport (8-bitowy, bezstratny) dodano w 2.10.34 (27 lutego 2023); GIMP 3.x obsługuje format przez GEGL/libjxl.
Krita – natywny odczyt i zapis (w tym animacje) od 5.1.0 (18 sierpnia 2022).
Aplikacje KDE (Gwenview, Dolphin, digiKam, Krita) obsługują JPEG XL (odczyt i zapis) dzięki wtyczce KImageFormats zbudowanej z libjxl; przeglądarka obrazów GNOME (Loupe / „Podgląd obrazów") obsługuje format przez bibliotekę glycin.
Systemy operacyjne i sprzęt
Windows 11 (24H2) – wsparcie odczytu przez opcjonalny dodatek „JPEG XL Image Extension" ze sklepu Microsoft Store (dostępny od marca 2025), oparty na libjxl i działający jako kodek Windows Imaging Component (WIC). Umożliwia miniatury i podgląd w Eksploratorze plików oraz odczyt w aplikacjach korzystających z WIC (m.in. Paint, Windows Media Player Legacy); aplikacja Microsoft Photos uzyskała odczyt plików .jxl w kompilacji 2025.11030.20006.0.
macOS / iOS / iPadOS / visionOS – natywne wsparcie na poziomie systemu od czasu wprowadzenia obsługi w Safari 17 (2023); w macOS 26 Tahoe oraz iOS/iPadOS 26 pliki .jxl otwiera aplikacja Podgląd (Preview).
iPhone 16 Pro – od 2024 możliwość rejestrowania zdjęć ProRAW w formacie JPEG XL.
Dokumenty, standaryzacja i PDF
Norma ISO/IEC 18181 (JPEG XL) składa się z czterech części: część 1 (system kodowania) i część 2 (format pliku) mają drugie edycje z 2024, część 3 (testowanie zgodności) – drugą edycję ze stycznia 2025, a część 4 (oprogramowanie referencyjne) – z 2022.
W listopadzie 2025 PDF Association ogłosiło, że JPEG XL zostanie dodany do specyfikacji PDF jako preferowany format obrazów o wysokim zakresie dynamiki (HDR). Dyrektor techniczny stowarzyszenia Peter Wyatt stwierdził: „Musimy przyjąć nowy format obrazu, który obsłuży treści HDR […] wybraliśmy JPEG XL jako nasze preferowane rozwiązanie", wskazując również obsługę obrazów o rozdzielczości ponad miliarda pikseli oraz do 4099 kanałów po 32 bity. Prace toczą się w ramach grupy roboczej ISO TC 171 SC 2 WG 8.
↑JPEG XL reaches Committee Draft.2019-08-03.[dostęp 2021-03-17].[zarchiwizowane z tego adresu(2019-08-03)].Cytat: The current contributors have committed to releasing it publicly under a royalty-free and open source license.(ang.).
libjxl artifacts – skompilowane wersje implementacji referencyjnej na Windows i Linux z procesu CI na GitHubie, utrzymywane przez jednego z deweloperów JPEG XL
Windows Bin Builds – konwertery na bazie implementacji referencyjnej, skompilowane na Windows przez osobę trzecią (strona zawiera też inne oprogramowanie)