Vai al contenuto
Il logo di Google Chrome circondato da diverse schermate del browser su computer e smartphone.

Foto: Google (Source: Google.)

Chrome supporta la decodifica delle immagini JPEG XL (.jxl) a partire dalla versione 155. Lo annuncia Google nel post sul blog Chrome for Developers pubblicato il 6 ottobre 2026. Il decoder è jxl-rs, un’implementazione in puro Rust scelta, spiega Google, per eliminare alla radice i rischi di sicurezza legati alla memoria.

Cosa offre JPEG XL secondo Google

Google descrive JPEG XL come un formato di nuova generazione pensato per le esigenze di sviluppatori web e fotografi. Le caratteristiche indicate nell’annuncio sono queste:

  • compressione migliore del 30-50% rispetto a JPEG;
  • compressione senza perdita di dati;
  • supporto HDR integrato;
  • transcodifica da JPEG senza perdita di dati.

Per i risultati migliori, Google consiglia di provare sia AVIF sia JPEG XL. Il secondo, secondo l’azienda, dovrebbe essere più utile per la compressione ad alta fedeltà o senza perdita, soprattutto per le immagini fotografiche o dove serve una decodifica progressiva granulare.

Perché il decoder è scritto in Rust

I decoder di immagini, spiega Google, sono tra le superfici di attacco più critiche e più prese di mira in un browser moderno. Elaborano strutture binarie complesse e non attendibili che arrivano dalla rete, all’interno del processo di rendering. In linguaggi non sicuri per la memoria come C++ sono stati storicamente soggetti a letture fuori dai limiti, overflow dell’heap e bug use-after-free.

Il modello di sicurezza di Chrome poggia su sandboxing e difesa in profondità, guidati dalla «regola dei due». Il sandboxing, però, è un livello di difesa secondario: per questo Google ha integrato jxl-rs, che toglie il problema all’origine.

Come jxl-rs resta veloce limitando il codice unsafe

Google sostiene che un decoder sicuro per la memoria abbia senso soprattutto se è veloce quanto la migliore alternativa non sicura. Per sfruttare in sicurezza le istruzioni SIMD dell’hardware moderno, il team ha dovuto stabilizzare in Rust la funzionalità target_feature_11, che consente di usarle senza richiedere codice unsafe.

Poi ha costruito un livello di astrazione SIMD, jxl_simd, ispirato alla libreria C++ Highway, nata per libjxl, l’implementazione di riferimento di JPEG XL in C++. Il risultato, secondo Google, è una libreria multipiattaforma che mantiene le ottimizzazioni SIMD e confina le operazioni non sicure in poche posizioni molto controllate.

  • Le ottimizzazioni di jxl-rs partono da quelle di libjxl.
  • Una pipeline generica gestisce i passaggi che attraversano i confini delle regioni, riducendo al minimo le copie dei dati.
  • Le prestazioni su diverse piattaforme hardware sono monitorate in una dashboard dedicata a jxl-rs.

Verifiche di sicurezza e interoperabilità

Google riferisce di aver verificato jxl-rs con tecniche allo stato dell’arte, tra cui fuzzing e revisione del codice basata sull’AI. Nell’intera cronologia dell’implementazione non sono emersi bug di sicurezza della memoria, che l’azienda indica come conferma dei vantaggi di Rust.

La decisione di distribuire il formato, sempre secondo Google, nasce dai feedback degli sviluppatori web raccolti tra bug, sondaggi, il progetto Developer Signals e il progetto Interop. In Interop JPEG XL è stata una proposta popolare nel 2026 e negli anni precedenti. Google ha partecipato all’indagine Interop 2026 su JPEG XL per garantire test su tutte le funzionalità del formato nei browser e verificare che Chrome li superi.

Come iniziare a usarlo

Google invita sviluppatori, creator di contenuti e proprietari di piattaforme a introdurre immagini e animazioni .jxl nelle proprie pipeline, a provarle e a segnalare eventuali bug.

Leggi anche