WebP: lo standard di oggi e del futuro!
WebP è il nuovo standard delle immagini web, sviluppato da Google nel 2010. È una scelta sempre più interessante, dato che prende i benefici di JPG e PNG (un algoritmo più sofisticato, maggiore efficienza, che consente quindi di ottenere stessa qualità con peso dell'immagine inferiore). Quindi sempre parlando del campo raster (SVG, grafica vettoriale sono un mondo a parte), WebP sta diventando lo standard più diffuso e dovremmo cominciare ad usarlo, questo salvo alcune eccezioni, casi d'uso specifici (ad esempio stampa oppure file che devono essere rieditati spesso, che quindi potrebbero avere problemi con lossy).
Caratteristica | JPG | PNG | WebP
Tipo di Compressione | Lossy | Lossless | Lossy e Lossless
Trasparenza | No | Sì (Alpha) | Sì (Alpha)
Animazione | No | No | Sì
Qualità per Foto | Ottima | Scarsa | Ottima (migliore di JPG)
Qualità per Grafica | Scarsa | Ottima | Ottima (migliore di PNG)
Peso del File | Basso (per foto) | Alto | Il più basso in assoluto
Compatibilità | Quasi Universale | Quasi Universale | Molto Alta
L'unico limite passato era la non completa compatibilità del nuovo formato WebP. Oggi però ha già raggiunto un livello di compatibilità quasi universale quindi vale la pena usare questo formato, nel mondo del web è sempre più importante (peso inferiore a parità di qualità, significa migliore tempo di caricamento, beneficio in ottica SEO, esperienza utente ovviamente, riduzione nel consumo di risorse).
JPG vs PNG vs WebP: alcuni esempi applicativi
- galleria fotografica: scelta tradizionale JPG (qualità 80-90%), la scelta moderna WebP lossy (scegliamo il livello di compressione, es. 80-90%) a parità di qualità con il file JPG, ha un peso nettamente inferiore
- logo del sito: tralasciando il caso di grafica vettoriale, restando sempre in ambito raster, la scelta tradizionale era PNG lossless (senza perdita di qualità); la scelta moderna WebP lossless è identico al file precedente ma con un peso inferiore (scegliamo anche con o senza trasparenza a seconda del caso)
- screenshot classico (misto testo + immagine): la scelta originale PNG ha buona qualità ma file pesante; la conversione JPG genera una pessima qualità es. vicino alle lettere di testo; la scelta moderna WebP (lossless se vogliamo preservare esattamente la qualità originale) ottiene lo stesso risultato visivo di PNG ma con peso inferiore
Compressione WebP online
Analogamente ai tradizionali JPG, PNG, anche WebP consente compressione (appunto, lossless vs lossy); a seconda della nostra esigenza, scegliamo eventualmente il livello di compressione (compromesso peso/qualità, quindi il peso minimo per un determinato livello di qualità visiva dell'immagine che vogliamo raggiungere). È interessante il servizio online gratuito 11zon, che consente di scegliere il livello di compressione del file WebP 1-100 (nota: 100 è la compressione massima e non la qualità massima, io me ne sono accorto a posteriori 😅) oppure anche, funzionalità molto interessante, specificare la taglia (voglio che la dimensione finale sia 80KB, 100KB, ecc). Questo tool consente di comprimere anche altri formati immagine, analogamente a quelli già descritti (optimizilla - imagecompressor, tinypng/tinyjpg, ecc, Giulio_M).
Bonus: la gestione della compatibilità
Premesso che ormai WebP ha già raggiunto quasi una compatibilità universale (il buon vecchio Internet Explorer non lo supportava ma ormai lo storico browser è già stato ufficialmente dismesso da anni), se vogliamo maggiore sicurezza, robustezza del nostro codice, possiamo ricorrere all'elemento HTML picture (approfondimento correlato: SEO semantica). In questo modo il browser carica il primo elemento che supporta. Il codice ha questo template:
<picture>
<!-- Il browser prova prima con WebP. Se lo supporta, lo usa e basta. -->
<source srcset="mia-foto.webp" type="image/webp">
<!-- Se non supporta WebP, passa alla prossima opzione: JPG (il fallback universale per le foto). -->
<source srcset="mia-foto.jpg" type="image/jpeg">
<!-- Se non supportasse neanche JPG (improbabile), userebbe questo tag. È il fallback definitivo. -->
<img src="mia-foto.jpg" alt="Descrizione della mia foto">
</picture>
Questa soluzione offre la massima sicurezza nella scelta di WebP. Il browser prova a caricare l'immagine WebP, se non fosse compatibile passa subito a JPG (o PNG, a seconda del caso), se ci fossero ancora problemi (più che l'incompatibilità con JPG, pressoché impossibile, pensiamo piuttosto ad un down o disservizio del server su cui sono hostate le immagini, che potrebbe essere differente dal server che carica il codice HTML, ad esempio sito vetrina con altro dominio, altro hosting), la terza e ultima opzione è mostrare l'Alt Text, descrizione testuale dell'immagine dato che l'immagine non viene renderizzata (il testo alternativo è comunque utile aggiungerlo in ogni caso, lato SEO e accessibilità per utenti non vedenti).
Nota: esiste anche il formato AVIF (AV1 Image Format), con ottimizzazioni ancora più estreme (soprattutto nel caso si voglia ottenere massime performance con qualità fotografica/HDR), oggi però nel complesso il formato WebP per il web è una scelta preferibile, con maggiore supporto.
Vediamo infine la tabella di compatibilità di WebP, tratta da caniuse.com, aggiornata a fine dicembre 2025. Come si può vedere, l'attuale compatibilità raggiunta è ottima con tutti i principali browser. L'immagine che segue è stata salvata in formato PNG (sto scherzando 😂).
