GIF animé (.gif)

Spécification Standard

Le Graphics Interchange Format (GIF) est un format d'image matricielle basé sur une palette de 8 bits, développé par CompuServe, qui a popularisé dans le monde entier les courtes animations en boucle aux débuts du Web.

Convertir GIF en MP4

Outil de conversion gratuit de GIF vers MP4 dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Compresser des fichiers GIF en ligne

Privé - les fichiers ne quittent jamais votre appareil

Inspection et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GIF en inspectant leur séquence initiale d'octets binaires :

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet envoyé vers des serveurs externes. Tout le traitement a eu lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (octets magiques)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GIF en inspectant leur séquence initiale d'octets binaires :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

47 49 46 38

REPRÉSENTATION ASCII : GIF8

Normalisation : Spécification CompuServe GIF87a / GIF89a

Spécifications techniques

Architecture de conteneurFormat d'image à palette basé sur un flux avec en-têtes de blocs et indicateur de fin (0x3B)
CompressionCompression par dictionnaire sans perte Lempel-Ziv-Welch (LZW)
Ordre des octetsOrdre petit-boutiste pour les dimensions du canevas et les délais
Espaces colorimétriquesPalette indexée 8 bits (maximum 256 couleurs par image)
Canaux et structurePalette indexée avec transparence binaire 1 bit (actif/inactif)
Dimensions maximales65 535 x 65 535 pixels (entiers non signés sur 2 octets)
TransparenceTransparence binaire 1 bit (un seul index de couleur marqué comme transparent)
Prise en charge du traitement en continuAlgorithme d'entrelacement de lignes à 4 passes pris en charge dans la spécification de base

Matrice de comparaison technique : GIF face aux concurrents

Attribut techniqueGIF (Actuel)WebP animéMP4 (H.264)APNG
Taille de fichierTrès volumineux (mauvaise compression pour les images vidéo)Dépend de l’animation et des paramètres d’encodage.80 % à 95 % plus petit que le GIFModérée
Support des couleurs256 couleurs maximum par image16,7 millions de couleurs (Truecolor 24 bits)16,7 millions de couleurs (YUV 4:2:0)16,7 millions de couleurs (Truecolor 24 bits)
TransparenceBinaire 1 bit uniquement (bords crénelés)Canal alpha 8 bits avec transparence progressiveAucune transparence nativeCanal alpha 8 bits avec transparence progressive
Prise en charge multiplateformePrise en charge étendue sur de nombreuses plateformes actuelles et anciennesPris en charge par de nombreux navigateurs actuels; disponibilité variablePris en charge par de nombreux lecteurs vidéo et navigateurs; disponibilité variablePris en charge par de nombreux navigateurs actuels; disponibilité variable

Modes de corruption courants et guide de restauration hexadécimale

L'animation se lit partiellement et se fige, ou la visionneuse d'images signale une fin de fichier inattendue.

Cause initiale: Absence de l'octet de fin 0x3B (point-virgule) causée par un téléchargement tronqué.

Récupération: Ajoutez l’octet 0x3B à la fin du fichier avec un éditeur hexadécimal.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les fichiers GIF sont simples mais ont historiquement souffert d'attaques par dépassement de tampon d'expansion LZW et de polyglottes GIFAR.

Vecteurs d’attaque connus

  • Vulnérabilités de dépassement de tampon LZW dans les anciens décodeurs natifs.
  • Attaques par fichier polyglotte GIFAR : création de fichiers qui sont à la fois des GIF valides et des fichiers JAR Java valides pour contourner les filtres d'envoi.

Bonnes pratiques de défense: Transcoder à la volée les GIF animés importés par les utilisateurs en MP4 ou en WebP animé afin d'économiser de la bande passante et de neutraliser les menaces polyglottes.

Origines historiques et jalons

2006Les derniers brevets couvrant la compression LZW expirent dans le monde entier, et le GIF entre ainsi dans le domaine public.
1995Netscape 2.0 introduit le bloc d’extension d’application, qui permet de lire une animation en boucle.
1989CompuServe publie la spécification GIF89a, qui ajoute l’animation et la transparence.
1987Steve Wilhite et CompuServe lancent le GIF87a pour transférer des graphiques en couleur sur des modems téléphoniques.

Principaux avantages

  • Le format GIF est pris en charge par de nombreux navigateurs et outils d’image, mais la compatibilité varie selon la plateforme et l’application.
  • Lecture instantanée sans négociation de codec vidéo ni restrictions de licence.
  • Compression sans perte au sein de sa palette de 256 couleurs.

Limites techniques

  • Strictement limité à une palette de 256 couleurs (provoque de fortes bandes de couleur sur les photographies).
  • Taille de fichier bien plus importante qu'avec les formats vidéo modernes MP4, WebM ou WebP animé (souvent 5 à 10 fois plus volumineuse).
  • La transparence binaire sur 1 bit provoque des franges crénelées sur les arrière-plans non blancs (pas de fusion alpha).

Faits intéressants

  • Le créateur Steve Wilhite a précisé en 2013 que la prononciation voulue est 'JIF', avec un G doux.
  • Les animations en boucle ne faisaient pas partie de la spécification officielle de CompuServe ; Netscape a ajouté le bloc d'extension 'NETSCAPE2.0' en 1995.
  • En 1994, Unisys a annoncé qu'elle ferait respecter rigoureusement son brevet logiciel LZW auprès des développeurs créant des outils GIF, ce qui a directement poussé la communauté open source à inventer le format Portable Network Graphics (PNG) comme alternative libre de brevets.

Foire aux questions techniques

Pourquoi les GIF animés sont-ils beaucoup plus volumineux que les vidéos MP4 ?

Le GIF a été conçu en 1987 comme un format d'image statique. Il ne dispose pas des techniques modernes de compression vidéo, comme les vecteurs de mouvement entre les images, les macroblocs et le codage prédictif temporel. Il stocke chaque image sous forme d'image matricielle complète et indépendante, ce qui produit des fichiers très volumineux.

Comment puis-je réduire la taille d'un GIF ?

Vous pouvez réduire le nombre de couleurs de la palette, abaisser la fréquence d'images (par exemple de 30 images par seconde à 15 images par seconde), réduire les dimensions en pixels ou, idéalement, convertir le fichier en WebP animé moderne ou en MP4.

Le GIF prend-il en charge le son ou les pistes audio ?

Non. La spécification GIF de CompuServe a été conçue exclusivement pour les images bitmap et les délais ; elle ne contient aucune structure de données ni aucun conteneur de synchronisation pour les flux audio. Les plateformes modernes qui semblent diffuser des 'GIF avec du son' diffusent en réalité des fichiers vidéo MP4 ou WebM sans son ou dont le son ne peut pas être activé.