Qu’est-ce que le format de fichier APNG ?

Animated PNG, ou APNG, étend PNG avec plusieurs images, leur synchronisation et la lecture en boucle. Il conserve les pixels en couleurs complètes et la transparence alpha au lieu d’utiliser le modèle de palette restreinte du GIF.

Fonctionnement du format de fichier APNG

Animated PNG a commencé comme une extension de Mozilla et a intégré la spécification officielle PNG avec sa troisième édition, une recommandation du W3C depuis juin 2025. Un flux APNG est un flux PNG normal auquel s’ajoutent trois types de blocs : acTL déclare l’animation et indique le nombre d’images et de lectures (0 signifie une lecture en boucle indéfinie), fcTL décrit une image, et fdAT contient les données d’image sous la même forme que IDAT, précédées d’un numéro de séquence. Chaque image est compressée sans perte et utilise la même profondeur de bits, le même type de couleur et la même palette que l’image statique ; un APNG peut donc être en couleurs vraies avec un canal alpha complet ou utiliser une palette. Une image peut ne couvrir qu’une partie du canevas : son bloc fcTL indique une largeur, une hauteur et un décalage à l’intérieur des dimensions de l’image.

Points clés

  1. Un APNG ne se distingue pas d’un PNG par sa signature ni, en pratique, par son nom. Les deux commencent par les mêmes huit octets et, bien que image/apng et .apng soient enregistrés, MDN répertorie aussi .png comme extension APNG. Ce qui identifie un fichier comme animé est un bloc acTL avant le premier bloc IDAT. Pour le trouver, parcourez les blocs après la signature : chacun commence par une longueur de données sur quatre octets et un type sur quatre octets, suivis des données et d’un CRC sur quatre octets.
  2. Un décodeur sans prise en charge d’APNG ignore les blocs d’animation et affiche l’image statique. Cette image n’est la première image de l’animation que lorsqu’un bloc fcTL précède IDAT ; sinon, elle ne fait pas du tout partie de l’animation. La spécification PNG avertit qu’un fichier peut associer une image statique sans rapport avec son animation et que cela pourrait servir à contourner la modération ; examinez donc les images de l’animation ou générez-en des vignettes, au lieu de vous limiter à l’image statique.
  3. Les images de l’animation sont des instructions de mise à jour du canevas, pas toujours des vues complètes. Chaque bloc fcTL définit dispose_op (laisser la région telle quelle, l’effacer en noir transparent ou restaurer le contenu précédent) et blend_op (remplacer la région ou y appliquer une composition alpha). Un outil qui extrait les données d’une image pour en faire une image autonome, ou qui réencode les images, sans appliquer ces règles peut produire des images partielles ou mal composées. Les délais sont des fractions de seconde (delay_num divisé par delay_den, un dénominateur nul étant interprété comme 100) ; un numérateur nul demande l’affichage de l’image suivante aussi vite que possible, et les logiciels de visualisation peuvent imposer un délai minimal.
  4. La lecture de toutes les images nécessite souvent une activation explicite. La liste des formats d’ImageMagick indique qu’un APNG doit être lu avec un préfixe apng: explicite, sinon ImageMagick « suppose qu’il s’agit d’une image PNG et ne lit que la première image », et que ffmpeg doit se trouver dans le chemin de recherche des exécutables. Lu comme un simple PNG, le fichier fournit son image statique conformément à la spécification PNG ; cette « première image » ne fait donc pas nécessairement partie de l’animation. sharp a une demande de fonctionnalité ouverte pour APNG et un signalement utilisateur indiquant que seule la première image a été redimensionnée. Le démultiplexeur APNG de FFmpeg ignore par défaut le nombre de boucles du fichier (-ignore_loop), et son multiplexeur définit les répétitions avec -plays, où 0 signifie une lecture en boucle indéfinie.

Quand le format de fichier APNG est utile

Utilisez APNG pour les courtes animations d’interface, les autocollants et les indicateurs de chargement qui nécessitent des couleurs sur 24 bits ou un canal alpha sur 8 bits, ce que les couleurs indexées sur 8 bits du GIF et son unique indice de couleur transparente ne peuvent pas fournir. APNG est exclusivement sans perte ; attendez-vous donc à des fichiers volumineux pour les animations photographiques ou longues ; le guide des formats de MDN considère AVIF et WebP comme plus performants, mais moins largement pris en charge. Les versions actuelles de Chrome, Edge, Firefox, Opera et Safari affichent les APNG, et les logiciels sans prise en charge d’APNG affichent à la place l’image statique du fichier.

Comment Transloadit vous aide avec le format de fichier APNG

Le tableau des formats d’image de Transloadit répertorie APNG comme un format que ses Robots basés sur ImageMagick, dont /image/resize, peuvent lire et écrire, et son tableau des formats audio/vidéo répertorie un format apng que les Robots basés sur FFmpeg, tels que /video/encode, peuvent lire et écrire.

Les tableaux indiquent ce que chaque pile peut lire et écrire, pas si l’animation est conservée après un Step donné. La documentation du Robot /image/resize décrit ses paramètres frame et flatten uniquement pour les GIF animés et ne précise pas comment est traité un APNG nommé .png. Aucune Assembly n’a été exécutée pour cette entrée ; traitez donc un APNG représentatif avec la vôtre et vérifiez le nombre d’images du résultat.

Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression

Références

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement