Guide des types et formats de fichiers d'images

Dans ce guide, nous aborderons les types de fichiers d'images généralement pris en charge par les navigateurs web, et nous vous donnerons des indications qui vous aideront à sélectionner les formats les plus appropriés pour l'imagerie de votre site.

Types de fichiers d'images communs

Il existe de nombreux formats de fichiers d'images dans le monde. Toutefois, ceux qui sont énumérés ci-dessous sont généralement reconnus comme utilisables sur le Web, bien que BMP ne soit généralement pas recommandé, car la prise en charge par les navigateurs est potentiellement limitée ; il faut généralement l'éviter pour le contenu Web.

Abréviation Format du fichier (en) Type de MIME Extention(s) du fichier Résumé Prise en charge navigateur
APNG Animated Portable Network Graphics image/apng .apng Bon choix pour les animations sans perte de qualité. AVIF et WebP ont de meilleures performances mais une moins bonne couverture des navigateurs. Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
AVIF AV1 Image File Format image/avif .avif Un format avec de bonnes performances et sans licence commerciale qui peut être utilisé pour les images statiques comme animées. Il offre une meilleure compression que PNG et JPEG et une meilleure profondeur de couleur. Il est préférable d'utiliser des formats alternatifs via l'élément <picture> pour s'adapter aux différentes prises en charge des navigateurs. Chrome, Edge, Firefox (fonctionnalités de base), Opera
GIF Graphics Interchange Format image/gif .gif Un bon choix pour les images simples et les animations. On préfèrera toutefois PNG pour les images statiques sans pertes de compression et WebP, AVIF ou APNG pour les animations afin d'avoir de meilleures compressions. Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
JPEG Joint Photographic Expert Group image/jpeg .jpg, .jpeg, .jfif, .pjpeg, .pjp Un bon choix pour les images compressées avec pertes. C'est le format le plus populaire et parmi les mieux pris en charge. PNG sera préférable si on préfère une meilleure fidélité à l'image et WebP/AVIF permettront d'avoir de meilleurs taux de compression. Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
PNG Portable Network Graphics image/png .png PNG pourra être préféré à JPEG lorsqu'on a besoin d'une meilleure précision ou de transparence. WebP/AVIF permettront d'avoir de meilleurs taux de compression mais leur prise en charge navigateur est plus faible. Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
SVG Scalable Vector Graphics image/svg+xml .svg Un format d'image vectoriel idéal pour les éléments d'interface utilisateur, les icônes ou diagrammes qui nécessitent de s'afficher précisément quelle que soit l'échelle. Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
WebP Web Picture image/webp .webp Un excellent choix pour les images statiques ou animées. Les taux de compression de ce format sont meilleurs que pour PNG ou JPEG. Ce format prend également en charge de meilleures profondeurs pour les couleurs, les frames animées, la transparence, etc. Chrome, Edge, Firefox, Opera

Les formats moins récents comme PNG, JPEG, GIF possèdent de moins bonnes performances que des formats comme WebP et AVIF mais bénéficient d'une compatibilité navigateur plus large. Les formats plus récents gagnent en popularité du fait que la part des navigateurs incompatibles diminue.

Le tableau qui suit indique les formats d'image qui peuvent également être utilisés sur le Web mais qui devraient être évités en raison de leur compatibilité faible ou de l'existence de meilleurs formats.

Abréviation Format de fichier Type MIME Extension(s) Prise en charge navigateur
BMP Bitmap image/bmp .bmp Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
ICO Microsoft Icon image/x-icon .ico, .cur Chrome, Edge, Firefox, Internet Explorer, Opera, Safari
TIFF Tagged Image File Format image/tiff .tif, .tiff Aucune prise en charge native, addons nécessaires

L'abréviation de chaque format renvoie à une description plus longue du format, de ses capacités et à des informations détaillées sur la compatibilité des navigateurs ; y compris les versions qui ont introduit le support et les caractéristiques spéciales spécifiques qui ont pu être introduites ultérieurement.

Détails sur le type de fichier image

Les sections suivantes donnent un bref aperçu de chacun des types de fichiers d'images pris en charge par les navigateurs web.

Dans les tableaux ci-dessous, le terme bits par composante fait référence au nombre de bits utilisés pour représenter chaque composante de couleur. Par exemple, une profondeur de couleur RVB de 8 indique que chacune des composantes rouge, verte et bleue est représentée par une valeur de 8 bits. La profondeur de bit, d'autre part, correspond au nombre total de bits utilisés pour représenter chaque pixel en mémoire.

APNG (Animated Portable Network Graphics)

L'APNG est un format de fichier introduit pour la première fois par Mozilla qui étend le PNG pour ajouter le support des images animées. Conceptuellement similaire au format GIF animé qui est utilisé depuis des décennies, l'APNG est plus performant dans la mesure où il prend en charge une variété de profondeur de couleur, alors que le GIF animé ne supporte que des couleurs indexées sur 8 bits.

L'APNG est idéal pour les animations de base qui n'ont pas besoin d'être synchronisées avec d'autres activités ou avec une bande son, comme les indicateurs de progrès, indicateur d'activité, et autres séquences animées. Par exemple, l'APNG est l'un des formats pris en charge lors de la création d'autocollants animés pour l'application iMessage d'Apple (et l'application Messages sur iOS). Ils sont également couramment utilisés pour les parties animées des interfaces utilisateur des navigateurs web.

Type de MIME image/apng
Extention(s) de fichier(s) .apng
Spécification wiki.mozilla.org/APNG_Specification
Compatibilité des navigateurs Chrome 59, Edge 12, Firefox 3, Opera 46, Safari 8
Dimensions maximales 2 147 483 647×2 147 483 647 pixels
Modes de couleur supportés
Mode de couleur Bits par composante (D) Description
Niveau de gris 1, 2, 4, 8, et 16 Chaque pixel est constitué d'une seule valeur D-bit indiquant la luminosité du pixel en niveaux de gris.
Vraie couleur 8 et 16 Chaque pixel est représenté par trois valeurs de D-bit indiquant le niveau des composantes de couleur rouge, verte et bleue.
Couleur indexée 1, 2, 4, et 8 Chaque pixel est une valeur D-bit indiquant un index dans une palette de couleurs qui est contenue dans un morceau PLTE dans le fichier APNG ; les couleurs de la palette utilisent toutes une profondeur de 8 bits.
Niveau de gris avec alpha 8 et 16 Chaque pixel est représenté par deux valeurs D-bit : l'intensité du pixel en niveaux de gris et un échantillon alpha, indiquant le degré d'opacification du pixel.
Vraie couleur avec alpha 8 et 16 Chaque pixel est composé de quatre composantes de couleur D-pixel : rouge, vert, bleu, et l'échantillon alpha indiquant le degré d'opacité du pixel.
Compression Sans perte
Licence Gratuit et ouvert dans le cadre de la Creative Commons Attribution-ShareAlike license (CC-BY-SA) version 3.0 ou plus.

AVIF

AV1 Image File Format (AVIF) est un format open-source et sans licence commerciale qui encode des flux de bits AV1 dans un conteneur High Efficiency Image File Format (HEIF).

AV1 est un format d'encodage originellement conçu pour la transmission de vidéos sur Internet. Ce format bénéficie des avancées de la recherche sur l'encodage vidéo et peut bénéficier de la prise en charge matérielle des appareils. Un inconvénient est la différence de prérequis entre l'encodage vidéo / image.

Ce format dispose :

  • D'une excellente compression avec pertes par rapport à JPG et PNG pour des résultats visuels similaires (les images AVIF avec pertes pèsent environ la moitié des images JPEG).
  • D'une meilleure compression que WebP — mediane à 50% par rapport à 30% de compression pour le même ensemble de fichiers JPG (source : AVIF WebP Comparison (CTRL Blog)).
  • D'une compression sans perte.
  • D'un stockage pour les animations/multi-images (similaire aux GIF aniimés mais avec une bien meilleure compression)
  • D'une prise en charge de la transparence avec un canal alpha.
  • Du High Dynamic Range (HDR) qui permet de stocker des images avec une plus grande largeur de contraste entre les zones les plus claires et les plus sombres.
  • D'un spectre de couleurs (gamut) élargi.

AVIF ne prend pas en charge l'affichage progressif et il faut donc que les fichiers soient complètement téléchargés avant de pouvoir être affichés. Cela a peu d'impact pour la plupart des fichiers AVIF qui sont plus légers que leurs équivalents JPEG ou PNG. En revanche, pour les fichiers plus volumineux, on devra considérer un format qui prend en charge le rendu progressif.

La prise en charge navigateur n'étant pas aussi large que pour les autres formats, il est préférable d'utiliser l'élément HTML <picture> pour fournir des images alternatives au format JPEG ou PNG.

Type MIME image/avif
Extension .avif
Spécification

AV1 Image File Format (AVIF)

Compatibilité des navigateurs Chrome 85, Opera 71 et Firefox (via une préférence).
  • Pour Firefox 77 et ultérieur : image.avif.enable doit être passée à true. Firefox implémente pour le moment une prise en charge simple d'AVIF. Les fonctionnalités plus avancées comme les images animées ou les espaces de couleurs sont en cours de développement (voir le bug 1682995).
Dimensions maximums 2 147 483 647×2 147 483 647 pixels
Modes de couleurs supportés

Voir AV1 Bitstream & Decoding Process Specification, section 6.4.2 : Color config semantics.

Pour résumer de façon non-exhaustive :

  • Modes de couleur : YUV444, YUV422, YUV420
  • Niveau de gris : YUV400
  • Bits : 8/10/12 bits
  • Prise en charge du canal alpha
  • Prise en charge des profils ICC
  • Prise en charge NCLX : sRGB, sRGB linéaire, Rec2020 linéaire, PQ Rec2020, HLG Rec2020, PQ P3, HLG P3, etc.
  • Prise en charge des tuiles
Compression Avec ou sans perte.
Licence Pas de licence commerciale. Informations disponibles sur https://aomedia.org/license/ .

BMP (Bitmap file)

Le type de fichier BMP (image Bitmap) est le plus répandu sur les ordinateurs Windows, et n'est généralement utilisé que dans des cas particuliers pour les applications et contenus web.

Attention : Vous devriez généralement éviter d'utiliser le BMP pour le contenu des sites web, car ce n'est pas une utilisation généralement acceptée du format.

BMP soutient théoriquement une variété de représentations de données internes. La forme la plus simple, et la plus couramment utilisée, de fichier BMP est une image tramée non compressée, chaque pixel occupant 3 octets représentant ses composantes rouge, verte et bleue, et chaque ligne étant rembourrée avec des 0x00 octets à un multiple de 4 octets de large.

Bien que d'autres représentations de données soient définies dans la spécification, elles ne sont pas largement utilisées et sont souvent complètement inappliquées. Ces caractéristiques comprennent : la prise en charge de différentes profondeurs de bits, la couleur indexée, les canaux alpha et différents ordres de pixels (par défaut, BMP est écrit du coin inférieur gauche vers la droite et le haut, plutôt que du coin supérieur gauche vers la droite et le bas).

Théoriquement, plusieurs algorithmes de compression sont pris en charge, et les données d'image peuvent également être stockées au format JPEG ou PNG dans le fichier BMP.

Type de MIME image/bmp
Extension(s) de fichier(s) .bmp
Spécification Aucune spécification ; toutefois, Microsoft fournit une documentation générale sur le format à l'adresse docs.microsoft.com/fr/windows/desktop/gdi/bitmap-storage
Compatibilité des navigateurs Toutes versions de Chrome, Edge, Firefox, Internet Explorer, Opera, et Safari
Dimensions maximales Soit 32 767×32 767 ou 2 147 483 647×2 147 483 647 pixels, selon la version du format
Modes de couleur supportés
Mode de couleur Bits par composante (D) Description
Niveau de gris 1 Chaque bit représente un seul pixel, qui peut être noir ou blanc.
Vraie couleur 8 et 16 Chaque pixel est représenté par trois valeurs représentant les composantes de couleur rouge, verte et bleue ; chacune d'entre elles est constituée de D bits.
Couleur indexée 2, 4, et 8 Chaque pixel est représenté par une valeur de 2, 4 ou 8 bits, qui sert d'index dans la table des couleurs.
Niveau de gris avec alpha n/a Le BMP n'a pas de format d'échelle de gris distinct.
Vraie couleur avec alpha 8 et 16 Chaque pixel est représenté par quatre valeurs représentant les composantes de couleur rouge, verte, bleue et alpha ; chacune d'entre elles est constituée de D bits.
Compression Plusieurs méthodes de compression sont prises en charge, notamment les algorithmes avec ou sans perte
Licence Couvert par la promesse de spécification ouverte de Microsoft ; bien que Microsoft détienne des brevets contre la BMP, elle a publié une promesse de ne pas faire valoir ses droits de brevet tant que des conditions spécifiques sont remplies. Il ne s'agit toutefois pas d'une licence. BMP est inclus dans le format Windows Metafile (.wmf).

GIF (Graphics Interchange Format)

En 1987, le fournisseur de services en ligne CompuServe a introduit le "GIF" (Graphics Interchange Format) pour fournir un format graphique compressé que tous les membres de leur service pourront utiliser. Le GIF utilise l'algorithme Lempel-Ziv-Welch (LZW) pour compresser sans perte des images couleur indexés sur 8 bits. Le GIF était l'un des deux premiers formats graphiques pris en charge par HTML, ainsi que XBM.

Chaque pixel d'un GIF est représenté par une seule valeur de 8 bits servant d'index dans une palette de couleurs de 24 bits (8 bits pour le rouge, le vert et le bleu). La longueur d'une table de couleurs est toujours une puissance de 2 (c'est-à-dire que chaque palette a 2, 4, 8, 16, 32, 64 ou 256 entrées). Pour simuler plus de 255 ou 256 couleurs, on utilise généralement la diffusion d'erreur(dithering). Il est techniquement possible de superposer plusieurs blocs d'images, chacun avec sa propre palette de couleurs, pour créer des images en couleurs réelles, mais en pratique, cela est rarement fait.

Les pixels sont opaques, sauf si un indice de couleur spécifique est désigné comme transparent, auquel cas les pixels colorés à cette valeur sont entièrement transparents.

Le GIF permet une animation simple, dans laquelle, après une première image de taille réelle, une série d'images reflétant les parties de l'image qui changent avec chaque image est fournie.

Le GIF est extrêmement populaire depuis des décennies, en raison de sa simplicité et de sa compatibilité. Son support d'animation a provoqué un regain de popularité à l'ère des médias sociaux, lorsque les GIF animés ont commencé à être largement utilisés pour de courtes "vidéos", des mèmes et d'autres séquences d'animation simples.

Une autre caractéristique populaire du GIF est la prise en charge de l'entrelacement, où les rangées de pixels sont stockées dans le désordre afin que les fichiers partiellement reçus puissent être affichés en qualité inférieure. Cela est particulièrement utile lorsque les connexions réseau sont lentes.

Le format GIF est un bon choix pour les images et les animations simples, bien que la conversion d'images couleur en GIF puisse entraîner des diffusions d'erreur insatisfaisantes. En règle générale, le contenu moderne devrait utiliser PNG pour les images fixes sans perte et indexées, et devrait envisager d'utiliser APNG pour les séquences d'animation sans perte.

Type de MIME image/gif
Extention(s) du fichier(s) .gif
Spécification Spécification GIF87a
Spécification GIF89a
Compatibilité des navigateurs Toutes les versions de Chrome, Edge, Firefox, Internet Explorer, Opera, and Safari
Dimensions maximales 65 536×65 536 pixels
Modes de couleur pris en charge
Mode couleur Bits par composante (D) Description
Niveau de gris n/a Le GIF n'inclut pas un format de niveaux de gris spécifique.
Vraie couleur n/a Le GIF ne prend pas en charge les pixels en couleurs réelles.
Couleur indexée 8 Chaque couleur d'une palette GIF est définie par 8 bits de rouge, de vert et de bleu (24 bits au total par pixel).
Niveau de gris avec alpha n/a Le GIF ne fournit pas de format de niveaux de gris spécifique.
Vraie couleur avec alpha n/a Le GIF ne prend pas en charge les pixels en couleurs réelles.
Compression Sans perte (LZW)
Licence Alors que le format GIF lui-même est ouvert, l'algorithme de compression LZW était couvert par des brevets jusqu'au début des années 2000. Depuis le 7 juillet 2004, tous les brevets pertinents ont expiré et le format GIF peut être utilisé librement.

ICO (Microsoft Windows icon)

Le format de fichier ICO (Microsoft Windows icon) a été conçu par Microsoft pour les icônes de bureau des systèmes Windows. Cependant, les premières versions d'Internet Explorer ont introduit la possibilité pour un site web de fournir un fichier ICO nommé favicon.ico dans le répertoire racine d'un site web pour spécifier un favicon — une icône à afficher dans le menu Favoris, et d'autres endroits où une représentation iconique du site serait utile.

Un fichier ICO peut contenir plusieurs icônes, et commence par un répertoire contenant des détails sur chacune d'entre elles. Ce répertoire est suivi des données relatives aux icônes. Les données de chaque icône peuvent être soit une image BMP sans l'en-tête du fichier, soit une image PNG complète (y compris l'en-tête du fichier). Si vous utilisez des fichiers ICO, vous devez utiliser le format BMP, car la prise en charge du format PNG dans les fichiers ICO n'a été ajoutée qu'à partir de Windows Vista et pourrait ne pas être bien prise en charge.

Attention : Les fichiers ICO ne doivent pas être utilisés dans le contenu Web. En outre, leur utilisation pour les favicons a diminué au profit de l'utilisation d'un fichier PNG et de l'élément <link>, comme décrit dans cette section.

Type de MIME image/vnd.microsoft.icon (officiel), image/x-icon (utilisé par Microsoft)
Extention(s) de fichier(s) .ico
Spécification
Compatibilité des navigateurs Toutes les versions de Chrome, Edge, Firefox, Internet Explorer, Opera et Safari
Dimensions maximales 256×256 pixels
Modes de couleur pris en charge
Icônes au format BMP
Mode de couleur Bits par composante (D) Description
Niveau de gris 1 Chaque bit représente un seul pixel, qui peut être noir ou blanc.
Vraie couleur 8 et 16 Chaque pixel est représenté par trois valeurs représentant les composantes de couleur rouge, verte et bleue ; chacune d'entre elles est constituée de D bits.
Couleur indexée 2, 4, et 8 Chaque pixel est représenté par une valeur de 2, 4 ou 8 bits, qui sert d'index dans la table des couleurs.
Niveau de gris avec alpha n/a Le BMP n'a pas de format d'échelle de gris distinct.
Vraie couleur avec alpha 8 et 16 Chaque pixel est représenté par quatre valeurs représentant les composantes de couleur rouge, verte, bleue et alpha ; chacune d'entre elles est constituée de D bits.
Icônes au format PNG
Mode de couleur Bits par composante (D) Description
Niveau de gris 1, 2, 4, 8 et 16 Chaque pixel est constitué d'une seule valeur D-bit indiquant la luminosité du pixel en niveaux de gris.
Vraie couleur 8 et 16 Chaque pixel est représenté par trois valeurs de D-bit indiquant le niveau des composantes de couleur rouge, verte et bleue.
Couleur indexée 1, 2, 4 et 8 Chaque pixel est une valeur de D-bit indiquant un index dans une palette de couleurs qui est contenue dans un morceau de PLTE dans le fichier APNG ; les couleurs de la palette utilisent toutes une profondeur de 8 bits.
Niveau de gris avec alpha 8 et 16 Chaque pixel est représenté par deux valeurs D-bit : l'intensité du pixel en niveaux de gris et un échantillon alpha, indiquant le degré d'opacification du pixel.
Vraie couleur avec alpha 8 et 16 Chaque pixel est composé de quatre composantes de couleur D-pixel : rouge, vert, bleu, et l'échantillon alpha indiquant le degré d'opacité du pixel.
Compression Les icônes au format BMP utilisent presque toujours une compression sans perte, mais des méthodes avec perte sont disponibles. Les icônes au format PNG sont toujours compressées sans perte.
Licence

JPEG (Joint Photographic Experts Group image)

Le JPEG (typiquement prononcé "j-peg") est actuellement le format de compression avec perte le plus utilisé pour les images fixes. Il est particulièrement utile pour les photographies ; l'application de la compression avec perte au contenu nécessitant de la netteté, comme les diagrammes ou les graphiques, peut produire des résultats insatisfaisants.

Le JPEG est en fait un format de données pour les photos compressées, plutôt qu'un type de fichier. La spécification JFIF (JPEG File Interchange Format) décrit le format des fichiers que nous considérons comme des images "JPEG".

Type de MIME image/jpeg
Extentions(s) de fichier(s) .jpg, .jpeg, .jpe, .jif, .jfif
Spécification jpeg.org/jpeg/
Compatibilité des navigateurs Toutes les versions de Chrome, Edge, Firefox, Internet Explorer, Opera et Safari
Dimensions maximales 65 535×65 535 pixels
Modes de couleur pris en charge
Mode de couleur Bits par composante (D) Description
Niveau de gris n/a Le JPEG n'a pas de mode d'échelle de gris distinct.
Vraie couleur 8 Chaque pixel est décrit par les composantes de couleur rouge, bleue et verte, chacune d'entre elles étant composée de 8 bits.
Couleur indexée n/a Le JPEG n'offre pas de mode couleur indexé.
Niveau de gris avec alpha n/a Le JPEG ne prend pas en charge un canal alpha.
Vraie couleur avec alpha n/a Le JPEG ne prend pas en charge un canal alpha.
Compression Sans perte; sur la base de la transformée en cosinus discrète
Licence Depuis le 27 octobre 2006, tous les brevets américains ont expiré.

PNG (Portable Network Graphics)

Le format d'image PNG utilise une compression sans perte, prend en charge des profondeurs de couleurs plus élevées que le GIF, est plus efficace, et prend complètement en charge la transparence alpha.

Le format PNG est largement soutenu, tous les principaux navigateurs offrant une prise en charge complète de ses fonctionnalités. Internet Explorer, qui a introduit le support PNG dans les versions 4-5, ne l'a pas entièrement pris en charge avant IE 9, et a connu de nombreux bogues tristement célèbres pendant de nombreuses années, y compris dans l'Internet Explorer 6, autrefois omniprésent. Cela a ralenti l'adoption de la PNG, mais elle est maintenant couramment utilisée, surtout lorsqu'il faut reproduire avec précision l'image source.

Type de MIME image/png
Extension(s) de fichier(s) .png
Spécification w3.org/TR/PNG
Comptabilité des navigateurs
Fonctionnalité Chrome Edge Firefox Internet Explorer Opera Safari
Support de base 1 12 1 5 3.5.1 (Presto)
15 (Blink)
1
Canal Alpha 1 12 1 5 6 (Presto)
Toute (Blink)
1
Correction gamma non oui 1 8 1 cassé
Correction des couleurs non oui 3 9 non non
Entrelacement non ? 1 cassé 3.5.1 non
Dimensions maximales 2 147 483 647×2 147 483 647 pixels
Modes de couleur pris en charge
Mode de couleur Bits par composante (D) Description
Niveau de gris 1, 2, 4, 8 et 16 Chaque pixel est constitué d'une seule valeur D-bit indiquant la luminosité du pixel en niveaux de gris.
Vraie couleur 8 et 16 Chaque pixel est représenté par trois valeurs de D-bit indiquant le niveau des composantes de couleur rouge, verte et bleue.
Couleur indexée 1, 2, 4 et 8 Chaque pixel est une valeur de bit D indiquant un index dans une palette de couleurs qui est contenue dans un morceau de PLTE dans le fichier APNG ; les couleurs de la palette utilisent toutes une profondeur de 8 bits.
Niveau de gris avec alpha 8 et 16 Chaque pixel est représenté par deux valeurs D-bit : l'intensité du pixel en niveaux de gris et un échantillon alpha, indiquant le degré d'opacification du pixel.
Vraie couleur avec alpha 8 et 16 Chaque pixel est composé de quatre composantes de couleur D-pixel : rouge, vert, bleu, et l'échantillon alpha indiquant le degré d'opacité du pixel.
Compression Couleur sans perte, éventuellement indexée comme le GIF
Licence ©2003 W3C® (MIT, ERCIM, Keio), Tous Droits Réservés. Les règles du W3C en matière de responsabilité, de marque commerciale, d'utilisation des documents et de licences de logiciels s'appliquent. Pas de brevets porteurs de royalties connus.

SVG (Scalable Vector Graphics)

Le SVG est une base XML pour le format d'image vectorielle qui spécifie le contenu d'une image comme un ensemble de commandes de dessin qui créent des formes, des lignes, appliquent des couleurs, des filtres, etc. Les fichiers SVG sont idéaux pour les diagrammes, les icônes et autres images qui peuvent être dessinés avec précision à n'importe quelle taille. En tant que tel, le SVG est populaire pour les éléments d'interface utilisateur dans la conception moderne du Web.

Les fichiers SVG sont des fichiers texte contenant le code source qui, une fois interprété, dessine l'image souhaitée. Par exemple, cet exemple définit une zone de dessin de taille initiale de 100 par 100 unités, contenant une ligne tracée en diagonale à travers la boîte :

html
<svg viewBox="0 0 100 100" xmlns="https://www.w3.org/2000/svg">
  <line x1="0" y1="80" x2="100" y2="20" stroke="black" />
</svg>

Le SVG peut être utilisé dans le contenu du web de deux façons :

  1. Vous pouvez directement écrire l'élément <svg> dans le HTML, contenant des éléments SVG pour dessiner l'image.
  2. Vous pouvez afficher une image SVG partout où vous pouvez utiliser les autres types d'images, y compris avec les éléments <img> et <image>, les propriétés background-image du CSS, etc.

Le SVG est un choix idéal pour les images qui peuvent être représentées à l'aide d'une série de commandes de dessin, en particulier si la taille à laquelle l'image sera rendue est inconnue ou peut varier, puisque le SVG s'adaptera en douceur à la taille souhaitée. Il n'est généralement pas utile pour les images strictement bitmap ou photographiques, bien qu'il soit possible d'inclure des images bitmap dans un SVG.

Type de MIME image/svg+xml
Extension(s) de fichier(s) .svg
Specification w3.org/TR/SVG2
Compatibilité des navigateurs
Fonctionnalité Chrome Edge Firefox Internet Explorer Opera Safari
Le support du SVG 4 12 3 9 10 (Presto)
15 (Blink)
3.2
SVG comme image (<img> etc) 28 12 4 9 10 (Presto)
15 (Blink)
9
Dimensions maximales Illimité
Modes de couleur pris en charge Les couleurs en SVG sont spécifiées à l'aide de syntaxe de couleur CSS.
Compression La source SVG peut être compressée pendant le transit en utilisant les techniques de compression HTTP, ou sur disque en tant que fichier .svgz.
Licence ©2018 W3C® (MIT, ERCIM, Keio, Beihang), Tous Droits Réservés. Les règles du W3C en matière de responsabilité, de marque commerciale, d'utilisation des documents et de licences de logiciels s'appliquent. Pas de brevets porteurs de royalties connus.

TIFF (Tagged Image File Format)

TIFF est un format de fichier graphique matriciel qui a été créé pour stocker des photos scannées, bien qu'il puisse s'agir de n'importe quel type d'image. Il s'agit d'un format quelque peu "lourd", dans la mesure où les fichiers TIFF ont tendance à être plus volumineux que les images d'autres formats. Cela s'explique par les métadonnées souvent incluses, ainsi que par le fait que la grande majorité des fichiers TIFF ne sont pas compressés. Cependant, les méthodes de compression avec et sans perte sont toutes deux prises en charge par la spécification TIFF.

Chaque valeur d'un fichier TIFF est spécifiée à l'aide de sa balise (indiquant le type d'information dont il s'agit, comme la largeur de l'image) et de son type (indiquant le format dans lequel les données sont stockées), suivis de la longueur du tableau de valeurs à attribuer à cette balise (toutes les propriétés sont stockées dans des tableaux, même pour des valeurs uniques). Cela permet d'utiliser différents types de données pour les mêmes propriétés. Par exemple, la largeur d'une image, ImageWidth, est stockée à l'aide de la balise 0x0100 et est un tableau à une entrée. En précisant le type 3 (SHORT), la valeur de ImageWidth est stockée comme une valeur de 16 bits :

Balise Type Taille Valeur
0x0100 (ImageWidth) 0x0003 (SHORT) 0x00000001 (1 entée) 0x0280 (640 pixels)

La spécification du type 4 (LONG) enregistre la largeur comme une valeur de 32 bits :

Balise Type Taille Valeur
0x0100 (ImageWidth) 0x0004 (LONG) 0x00000001 (1 entry) 0x00000280 (640 pixels)

Un seul fichier TIFF peut contenir plusieurs images ; il peut être utilisé pour représenter des documents de plusieurs pages, par exemple (comme un document de plusieurs pages scanné ou une télécopie reçue). Toutefois, un logiciel qui lit les fichiers TIFF n'est nécessaire que pour prendre en charge la première image.

Le TIFF prend en charge divers espaces de couleur, et pas seulement le RGB. Il s'agit notamment de CMJN, YCbCr et autres, ce qui fait du TIFF un bon choix pour le stockage d'images destinées à la presse écrite, au cinéma ou à la télévision.

Il y a longtemps, certains navigateurs prenaient en charge les images TIFF dans le contenu Web ; aujourd'hui, cependant, vous devez utiliser des bibliothèques spéciales ou des modules complémentaires de navigateur pour le faire. Les fichiers TIFF ne sont donc pas utiles dans le contexte du contenu web, mais il est courant de fournir des fichiers TIFF téléchargeables lors de la distribution de photos et d'autres œuvres d'art destinées à être modifiées ou imprimées avec précision.

Type de MIME image/tiff
Extension(s) de fichier(s) .tif, .tiff
Spécification adobe.io/open/standards/TIFF.html
Compatibilité des navigateurs Aucun navigateur n'intègre la prise en charge du TIFF ; son intérêt réside dans le fait qu'il peut être téléchargé
Dimensions maximales 4 294 967 295×4 294 967 295 pixels (théoriquement)
Modes de couleur pris en charge
Mode de couleur Bits par composante (D) Description
Bilevel 1 Un TIFF à deux niveaux stocke 8 bits dans chaque octet, un bit par pixel. Le champ PhotometricInterpretation indique lequel de 0 et 1 est noir et lequel est blanc.
Niveaux de gris 4 et 8 Chaque pixel est constitué d'une seule valeur D-bit indiquant la luminosité du pixel en niveaux de gris.
Vraie couleur 8 Toutes les images RVB en couleurs réelles sont stockées en utilisant 8 bits de rouge, de vert et de bleu.
Couleur indexée 4 et 8 Chaque pixel est un index dans un enregistrement ColorMap, qui définit les couleurs utilisées dans l'image. La carte des couleurs répertorie toutes les valeurs de rouge, puis toutes les valeurs de vert, puis toutes les valeurs de bleu (plutôt que rgb, rgb, rgb...).
Niveaux de gris avec alpha 4 et 8 L'information alpha est ajoutée en spécifiant qu'il y a plus de 3 échantillons par pixel dans le champ SamplesPerPixel, et en indiquant le type d'alpha (1 pour une composante alpha pré-multipliée associée, et 2 pour une alpha non associée (une couche séparée) ; cependant, les canaux alpha sont rarement utilisés dans les fichiers TIFF et peuvent ne pas être pris en charge par le logiciel de l'utilisateur.
Vraie couleur avec alpha 8 L'information alpha est ajoutée en spécifiant qu'il y a plus de 3 échantillons par pixel dans le champ SamplesPerPixel, et en indiquant le type d'alpha (1 pour une composante alpha pré-multipliée associée, et 2 pour une alpha non associée (une couche séparée) ; cependant, les canaux alpha sont rarement utilisés dans les fichiers TIFF et peuvent ne pas être pris en charge par le logiciel de l'utilisateur.
Compression La plupart des fichiers TIFF ne sont pas compressés, mais les PackBits sans perte et la compression LZW sont pris en charge, tout comme la compression JPEG avec perte.
Licence Aucune licence n'est requise (à l'exception de celles associées aux bibliothèques que vous pourriez utiliser) ; tous les brevets connus ont expiré.

WebP

Le WebP prend en charge la compression avec perte via un codage prédictif basé sur le codec vidéo VP8, et la compression sans perte qui utilise des substitutions pour la répétition des données. Les images WebP avec perte sont en moyenne 25 à 35 % plus petites que les images JPEG dont le niveau de compression est visuellement similaire. Les images WebP sans perte sont généralement 26 % plus petites que les mêmes images au format PNG.

WebP prend également en charge l'animation : dans un fichier WebP avec perte, les données d'image sont représentées par un flux binaire VP8, qui peut contenir plusieurs images. Le fichier WebP sans perte contient le fragment ANIM, qui décrit l'animation, et le fragment ANMF, qui représente une image d'une séquence d'animation. Le bouclage est pris en charge.

WebP bénéficie désormais d'un large soutien dans les dernières versions des principaux navigateurs web, bien qu'il ne bénéficie pas d'un soutien historique profond. Fournir une solution de repli au format JPEG ou PNG, par exemple avec l'élément <picture>.

Type de MIME image/webp
Extention(s) de fichier(s) .webp
Spécification

Spécification des conteneurs RIFF (en)
RFC 6386 - Format des données VP8 et guide de décodage (en) (encodage avec perte)
Spécification du flux binaire sans perte WebP (en)

Compatibilité des navigateurs
Feature Chrome Edge Firefox Internet Explorer Opera Safari
Supprt de WebP avec perte 17 18 65 non 11.10 (Presto)
15 (Blink)
non
WebP sans perte 23
25 sur Android
18 65 non 12.10 (Presto)
15 (Blink)
non
Animation 32 18 65 non 19 (Blink) non
Dimensions maximales 16 383×16 383 pixels
Modes de couleur pris en charge WebP avec perte stocke l'image au format 8 bits Y'CbCr 4:2:0 (YUV420). WebP sans perte utilise la couleur ARGB 8 bits, chaque composant prenant 8 bits pour un total de 32 bits par pixel.
Compression Sans perte (Huffman, LZ77, ou codes de cache couleur) ou avec perte (VP8).
Licence Aucune licence n'est requise ; le code source est librement accessible.

XBM (X Window System Bitmap file)

Les fichiers XBM (X Bitmap) ont été les premiers à être pris en charge sur le Web, mais ils ne sont plus utilisés et doivent être évités, car leur format peut poser des problèmes de sécurité. Les navigateurs modernes n'ont pas pris en charge les fichiers XBM depuis de nombreuses années, mais lorsqu'il s'agit de contenus plus anciens, vous pouvez en trouver encore.

XBM utilise un extrait de code C pour représenter le contenu de l'image sous la forme d'un tableau d'octets. Chaque image se compose de 2 à 4 directives #define, fournissant la largeur et la hauteur de la carte de bits (et éventuellement le hotspot, si l'image est conçue comme un curseur), suivies d'un tableau de unsigned char, où chaque valeur contient 8 pixels monochromes de 1 bit.

L'image doit être un multiple de 8 pixels de large. Par exemple, le code suivant représente une image XBM de 8 pixels sur 8 pixels, ces pixels étant disposés en damier noir et blanc :

cpp
#define square8_width 8
#define square8_height 8
static unsigned char square8_bits[] = {
  0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55
};
Type de MIME image/xbm, image-xbitmap
Extension(s) de fichier(s) .xbm
Spécification Aucune
Compatibilité des navigateurs Firefox 1 à 3.5, Internet Explorer 1 à 5
Dimensions maximales Illimitée
Modes de couleur pris en charge
Mode de couleur Bits par composantes Description
Niveaux de gris 1 Chaque octet contient huit pixels de 1 bit.
Vraie couleur n/a n/a
Couleur indexée n/a n/a
Niveaux de gris avec alpha n/a n/a
Vraie couleur avec alpha n/a n/a
Compression Sans pertes
Licence Open source

Choisir un format d'image

Il est probablement plus facile de choisir le format d'image le mieux adapté à vos besoins que les formats vidéo, car il existe moins d'options bénéficiant d'un large soutien et chacune d'entre elles tend à avoir un ensemble spécifique de cas d'utilisation.

Photographies

Les photographies se comportent généralement bien avec une compression avec perte (selon la configuration du codeur). Cela fait de JPEG et WebP de bons choix pour les photographies, le JPEG étant plus compatible mais le WebP offrant peut-être une meilleure compression. Pour maximiser la qualité et réduire le temps de téléchargement, envisagez de fournir à la fois une solution de repli avec WebP comme premier choix et JPEG comme second. Sinon, le JPEG est le choix le plus sûr pour la compatibilité.

Meilleurs choix Choix de secours
WebP et JPEG JPEG

Icônes

Pour les images plus petites comme les icônes, utilisez un format sans perte pour éviter la perte de détails dans une image de taille limitée. Si le format WebP sans perte est idéal à cette fin, il n'est pas encore très répandu, de sorte que le format PNG est un meilleur choix, à moins que vous n'offriez une solution de repli. Si votre image contient moins de 256 couleurs, le GIF est une option, bien que le PNG comprime souvent encore plus petit avec son option de compression indexée (PNG-8).

Si l'icône peut être représentée par des graphiques vectoriels, il faut envisager SVG, puisqu'elle s'étend sur plusieurs résolutions et tailles, ce qui est parfait pour une conception réactive. Bien que la prise en charge du SVG soit bonne, il peut être utile de proposer un PNG de secours pour les navigateurs plus anciens.

Meilleurs choix Choix de secours
SVG, WebP sans perte, ou PNG PNG

Captures d'écran

À moins que vous ne soyez prêt à faire des compromis sur la qualité, vous devriez utiliser un format sans perte pour les captures d'écran. C'est particulièrement important si votre capture d'écran contient du texte, car le texte devient facilement flou et peu clair sous une compression avec perte.

Le format PNG est probablement le plus adapté, mais le format WebP sans perte est sans doute mieux compressé.

Meilleur choix Choix de secours
WebP sans perte ou PNG ; JPEG si les artefacts de compression ne sont pas un problème PNG ou JPEG ; GIF pour les captures d'écran à faible nombre de couleurs

Diagrammes, dessins et diagrammes

Pour toute image pouvant être représentée par des graphiques vectoriels, le SVG est le meilleur choix. Sinon, vous devez utiliser un format sans perte comme le PNG. Si vous choisissez un format avec perte, tel que JPEG ou WebP avec perte, pesez soigneusement le niveau de compression pour éviter que le texte ou d'autres formes ne deviennent flous ou imprécis.

Meilleur choix Choix de secours
SVG PNG

Fournir des solutions de repli en matière d'image

Alors que l'élément HTML standard <img> ne supporte pas les retours de compatibilité pour les images, l'élément <picture> le fait. <picture> est utilisé comme enveloppe pour un certain nombre d'éléments <source>, chacun spécifiant une version de l'image dans un format différent ou sous des conditions @media, ainsi qu'un élément <img> qui définit où afficher l'image et le retour à la version par défaut ou "la plus compatible".

Par exemple, si vous affichez un diagramme mieux affiché avec SVG, mais que vous souhaitez offrir une solution de rechange à un PNG ou GIF du diagramme, vous feriez quelque chose comme ceci :

html
<picture>
  <source srcset="diagram.svg" type="image/svg+xml" />
  <source srcset="diagram.png" type="image/png" />
  <img
    src="diagram.gif"
    width="620"
    height="540"
    alt="Diagramme montrant les canaux de données" />
</picture>

Vous pouvez spécifier autant de <source>s que vous le souhaitez, bien qu'il vous suffise généralement de 2 ou 3.

Voir aussi