Choisir entre PNG, JPEG, WebP et AVIF

Un guide simple pour choisir un format d'image, couvrant la transparence, la compression avec ou sans perte, les raisons pour lesquelles réenregistrer un JPEG le dégrade, et les ordres de grandeur des tailles de fichier.

Les photographies vont en JPEG, WebP ou AVIF. Les captures d'écran, logos, icônes, schémas et tout ce qui comporte des aplats de couleur ou du texte net vont en PNG, ou dans le mode sans perte de WebP. Si vous avez besoin de transparence, cela exclut totalement le JPEG. Si vous choisissez aujourd'hui un format pour le web et que vous pouvez en servir plusieurs, AVIF d'abord, WebP en repli, et le JPEG ou le PNG d'origine pour tout ce qui est très ancien.

Voilà toute la décision. Ce qui suit explique pourquoi, afin que vous puissiez repérer les cas où la règle empirique ne s'applique pas.

Ce à quoi chaque format excelle réellement

FormatCompressionTransparenceAnimationIdéal pourMauvais pour
PNGSans perteOui, alpha completNonCaptures d'écran, logos, icônes, dessins au trait, tout ce qui comporte du texteLes photographies, dont les fichiers deviennent très volumineux
JPEGAvec perte uniquementNonNonLes photographies, quand la prise en charge universelle compteLes contours nets, les aplats, le texte, tout ce que vous retoucherez ensuite
WebPAvec ou sans perteOui, dans les deux modesOuiUn remplaçant général du PNG et du JPEG sur le webLes logiciels antérieurs à 2020 environ
AVIFAvec ou sans perteOuiOuiLes plus petits fichiers pour les photographies, les gamuts étendus et la haute dynamiqueL'encodage rapide, et les logiciels anciens qui ne savent pas l'ouvrir

Sans perte signifie que l'image décodée est identique bit pour bit à celle qui est entrée. Avec perte signifie que l'encodeur jette définitivement de l'information en échange d'un fichier plus petit, et que vous récupérez une approximation.

Le PNG est sans perte et le restera. Sa compression prédit chaque pixel à partir de ses voisins puis comprime les différences par deflate, ce qui est brillant quand de grandes zones sont identiques ou se répètent, et médiocre quand chaque pixel diffère légèrement, comme dans une photographie. Une photo enregistrée en PNG est souvent cinq à dix fois plus volumineuse qu'un bon JPEG de la même image, sans aucun bénéfice visible.

Le JPEG est avec perte et n'a pas de canal alpha : il ne peut donc pas stocker la moindre transparence. Il découpe l'image en blocs, convertit chacun en information fréquentielle, et jette le détail fin auquel l'œil est le moins sensible. Cela fonctionne à merveille sur des photographies en tons continus et mal sur des contours francs, où il produit les halos discrets et le bruit de moustique que l'on voit autour d'un texte enregistré en JPEG.

WebP et AVIF sont deux formats conteneurs modernes dérivés de codecs vidéo. Tous deux gèrent l'avec perte et le sans perte, tous deux prennent en charge la transparence alpha complète, et tous deux sont reconnus par tous les navigateurs grand public actuels. L'AVIF compresse en général plus fort que le WebP, surtout aux réglages de qualité basse, et gère les gamuts étendus et les profondeurs de bits supérieures. La contrepartie est le temps d'encodage, qui peut être sensiblement plus long, et une prise en charge un peu plus étroite hors des navigateurs, dans les applications de bureau anciennes et les outils d'image.

La transparence

Seuls le PNG, le WebP et l'AVIF peuvent stocker un véritable canal alpha, c'est-à-dire que chaque pixel porte sa propre valeur d'opacité. C'est ce qui permet à un logo de se poser proprement sur n'importe quelle couleur d'arrière-plan.

Si vous convertissez une image transparente en JPEG, la transparence doit bien aller quelque part. La plupart des outils l'aplatissent sur du blanc, certains sur du noir, et vous ne découvrirez lequel que lorsque l'image apparaîtra sur un fond coloré, entourée d'un rectangle blanc. Si vous connaissez la couleur d'arrière-plan finale, aplatissez délibérément sur cette couleur au lieu de laisser le convertisseur deviner.

Quand la compression avec perte convient, et quand elle ne convient pas

La compression avec perte convient pour la livraison finale d'un contenu photographique, à la taille à laquelle il sera réellement affiché. À des réglages de qualité raisonnables, la perte est vraiment difficile à voir.

La compression avec perte est une mauvaise idée quand :

  • L'image comporte du texte, des traits fins ou de grandes zones d'aplat. Les artefacts de compression se regroupent exactement sur les contours francs.
  • Le fichier est un master de travail que vous retoucherez et réexporterez plus tard.
  • L'image sera agrandie, ou fortement étalonnée en couleur ensuite, ce qui amplifie tout ce qu'a fait l'encodeur.
  • Les valeurs exactes des pixels comptent, comme dans un travail scientifique, médical ou médico-légal, ou pour une capture d'écran dont quelqu'un lira des chiffres.

Pourquoi réenregistrer un JPEG l'abîme encore un peu plus

Chaque fois qu'un JPEG est décodé puis réenregistré, l'encodeur quantifie des données déjà quantifiées, et l'erreur d'arrondi s'accumule. Ce n'est pas que la qualité serait réduite deux fois depuis l'original ; c'est que les artefacts introduits par la première passe sont désormais traités comme du vrai détail d'image et approximés à leur tour.

Enregistrer à un réglage de qualité plus élevé n'y change rien. Le détail supprimé au premier enregistrement est perdu. Réencoder en qualité 95 à partir d'un fichier en qualité 60 ne produit qu'un fichier plus gros qui conserve fidèlement les artefacts de la qualité 60. Si vous retouchez une image à plusieurs reprises, gardez le master dans un format sans perte et exportez un JPEG, un WebP ou un AVIF à la fin.

Ordres de grandeur des tailles

Ce sont des règles empiriques, pas des mesures, et les chiffres réels varient énormément selon le contenu de l'image. Pour une photographie typique à qualité perçue égale, comptez le JPEG comme référence, le WebP environ un quart plus petit, et l'AVIF plus petit encore, l'écart se creusant à mesure que vous compressez. Pour des graphiques en aplats, le WebP sans perte bat généralement le PNG, parfois nettement. Le bruit et les textures fines gonflent tous les formats avec perte : une photo granuleuse ne se compressera jamais comme une prise de vue de studio bien propre.

Redimensionnez avant de compresser

Le gain le plus important n'est presque jamais le format. Ce sont les dimensions. Une image servie en 4000 pixels de large et affichée dans une colonne de 800 pixels transporte environ vingt-cinq fois plus de données de pixels qu'il n'en faut, et aucun encodeur ne peut y remédier. Redimensionnez à peu près à la taille d'affichage prévue (le double si vous visez des écrans haute densité), puis choisissez le format, puis ajustez le réglage de qualité jusqu'à tout juste voir la différence, et reculez d'un cran.