Veröffentlicht am 6. Oktober 2026
Wir freuen uns, Ihnen mitteilen zu können, dass Chrome ab Version 155 die Dekodierung des Bildformats JPEG XL (.jxl) unterstützt. JPEG XL ist ein Bildformat der nächsten Generation, das auf die Anforderungen moderner Webentwickler und Fotografen zugeschnitten ist. Es bietet eine 30–50% bessere Komprimierung als JPEG, verlustfreie Komprimierung, integrierte HDR-Unterstützung, verlustfreie JPEG-Transcodierung und mehr.
Im Allgemeinen empfehlen wir, sowohl AVIF als auch JPEG XL auszuprobieren, um die besten Ergebnisse zu erzielen. Wir gehen davon aus, dass JPEG XL vor allem bei der High-Fidelity- oder verlustfreien Komprimierung von Fotografien oder in Fällen, in denen eine detaillierte progressive Dekodierung bevorzugt wird, hilfreich ist.
In diesem Beitrag erfahren Sie, warum wir JPEG XL in Chrome eingeführt haben, wie wir mit Rust für Speichersicherheit gesorgt haben, welche umfangreichen Leistungsverbesserungen wir vorgenommen haben und was uns die Entwicklung über das Feedback von Entwicklern und das Ökosystem der Webstandards gelehrt hat.
Sicherheit geht vor: Decoder in Rust neu implementieren (jxl-rs)
Bilddecoder sind eine der wichtigsten und am häufigsten angegriffenen Oberflächen in modernen Webbrowsern. Sie verarbeiten komplexe, nicht vertrauenswürdige binäre Strukturen direkt aus dem Netzwerk und werden im Renderer-Prozess ausgeführt. In der Vergangenheit waren Decoder, die in speichersicheren Sprachen wie C++ geschrieben wurden, anfällig für Sicherheitslücken wie Lesezugriffe außerhalb des zulässigen Bereichs, Heap-Überläufe und Use-After-Free-Fehler.
Unser Sicherheitsmodell basiert auf Sandboxing und Defense-in-Depth und folgt der Regel der zwei.
Sandboxing ist jedoch eine sekundäre Schutzebene. Um diese Sicherheitsrisiken an der Quelle zu beseitigen, haben wir jxl-rs integriert, eine reine Rust-Implementierung des JPEG XL-Decoders.
Schnell und sicher
Speichersicherheit ist von entscheidender Bedeutung, aber ein speichersicherer Decoder, der ungefähr so schnell ist wie die beste nicht speichersichere Alternative, ist eine viel offensichtlichere Wahl als eine mit einem erheblichen Leistungsverlust.
Ein wesentlicher Bestandteil der Leistung moderner Codecs ist die vollständige Nutzung der SIMD-Hardware, die auf modernen Geräten verfügbar ist. Dazu musste das target_feature_11-Feature von Rust stabilisiert werden, was die Verwendung von SIMD-Befehlen ohne unsafe-Code ermöglichte.
Der nächste Schritt war die Entwicklung einer SIMD-Abstraktionsebene (jxl_simd), die von der C++-Bibliothek Highway inspiriert wurde. Diese wurde ursprünglich für libjxl, die C++-Referenzimplementierung von JPEG XL, entwickelt. Zusammen ermöglichten diese Entwicklungen das Schreiben einer plattformübergreifenden Bibliothek, die keine Kompromisse bei SIMD-Leistungsoptimierungen eingeht und gleichzeitig unsichere Operationen auf eine kleine Anzahl von sorgfältig geprüften Stellen beschränkt.
Die Leistungsoptimierungen in jxl-rs bauen auf denen in libjxl auf. Dazu gehört eine generische Verarbeitungspipeline für Schritte, die Regionsgrenzen überschreiten, wobei Datenkopien minimiert werden, um die Hardwareleistung zu maximieren. Wir haben die Leistung der Rust-Neuimplementierung auf verschiedenen Hardwareplattformen im jxl-rs-Leistungsdashboard verfolgt.
Wir haben die jxl-rs-Implementierung mit verschiedenen modernen Techniken überprüft, darunter Fuzzing und KI-Überprüfung des Codes. Dabei haben wir im gesamten Implementierungsverlauf keine Speicherfehler gefunden. Dies ist ein weiterer Beweis für die enormen Verbesserungen, die Rust in Bezug auf die Speichersicherheit bietet.
Entwicklerfeedback und das Interop-Projekt
Das Chrome-Team berücksichtigt Feedback von Webentwicklern aus einer Vielzahl von Kanälen, z. B. Fehlerberichte, Umfragen, das Developer Signals Project und das Interop Project. Unsere Entscheidung, JPEG XL zu unterstützen, basierte auf dem Feedback und den Anfragen von Webentwicklern, die vor allem im Interop-Prozess deutlich wurden. Dort war es 2026 ein beliebter Vorschlag und auch in den Jahren davor.
Damit das Format browserübergreifend interoperabel ist, haben wir an der Interop 2026 JPEG XL Investigation teilgenommen, um sicherzustellen, dass alle Funktionen von JPEG XL in Browsern getestet werden und diese Tests in Chrome bestanden werden.
Jetzt ausprobieren
Mit der offiziellen Einführung von JPEG XL in Chrome wird das Web schneller, vielfältiger und sicherer. Wir empfehlen Entwicklern, Content-Creatorn und Plattforminhabern, .jxl-Bilder und ‑Animationen in ihren Pipelines zu verwenden.
Probieren Sie die Vorschau aus, melden Sie Fehler und helfen Sie uns, das Web für alle schneller und sicherer zu machen.
Danksagungen
Wir möchten uns bei allen bedanken, die zu jxl-rs oder seiner Integration in Chrome beigetragen haben, insbesondere bei Helmut Januschka für die wesentlichen Beiträge sowohl zur Chrome-Integration als auch zu jxl-rs sowie bei Martin Bruse, Zoltan Szabadka, Sami Boukortt und Wonwoo Choi für ihre wesentlichen Beiträge zu jxl-rs selbst.