Image PNG (.png)

Recommandation Standard

PNG (Portable Network Graphics) est un format d’image matricielle sans perte qui prend en charge la transparence par canal alpha variable.

Convertir PNG en JPG

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

Compresser des fichiers PNG 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 PNG 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 PNG en inspectant leur séquence initiale d'octets binaires :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

89 50 4E 47 0D 0A 1A 0A

REPRÉSENTATION ASCII : .PNG....

Normalisation : Recommandation W3C (1996) / ISO/IEC 15948:2004

Spécifications techniques

Architecture de conteneurFormat binaire structuré en blocs, chacun comportant sa longueur, son type, ses données et son CRC
CompressionDeflate (LZ77 + codage de Huffman) avec 5 filtres de balayage prédictifs (None, Sub, Up, Average, Paeth)
Ordre des octetsGros-boutiste (Big-Endian)
Espaces colorimétriquessRGB, Display P3, Couleurs indexées (de 1 à 8 bits), Niveaux de gris, Couleurs RVB réelles (24 ou 48 bits)
Canaux et structureRVB + Alpha (Jusqu'à 16 bits par canal / RGBA 64 bits)
Dimensions maximales2 147 483 647 x 2 147 483 647 pixels (entiers non signés de 4 octets)
TransparenceCanal alpha complet, en 8 ou 16 bits
Prise en charge du traitement en continuL’entrelacement en sept passes Adam7 permet un rendu progressif de l’image

Matrice de comparaison technique : PNG face aux concurrents

Attribut techniquePNG (Actuel)WebPAVIFJPEG
Type de compressionStrictement sans perte (Deflate + filtres prédictifs 2D)Avec perte (VP8) et sans perte (VP8L)Avec perte (AV1 intra) et sans perteAvec perte uniquement (transformée en cosinus discrète)
Transparence alphaCanal alpha complet, en 8 ou 16 bitsCanal alpha 8 bits pris en chargePrise en charge de l'alpha 8 bits / 10 bits / 12 bitsAucune prise en charge du canal de transparence
Taille de fichier (Photographies)Souvent plus volumineux que les formats avec perte pour les photos ; la taille relative dépend de l’image et de l’encodeur.Peut être plus petit que JPEG ; le résultat varie selon l’image et l’encodeur.Peut être plus petit que JPEG ; le résultat varie selon l’image et l’encodeur.Moyenne de base
Taille de fichier (Graphismes/UI)Extrêmement compact pour les captures d'écran, le dessin au trait et le texteExcellent mode sans perteBon, mais plus lent à encoderMédiocre (produit des halos parasites le long des bords nets)
Compatibilité des navigateurs100 % universelle sur tous les navigateurs depuis 1998Prise en charge par plus de 97 % des navigateurs modernesPrise en charge par plus de 93 % des navigateurs modernes100 % universelle

Modes de corruption courants et guide de restauration hexadécimale

La visionneuse d'images affiche 'Erreur fatale : fichier PNG non valide' ou ne parvient pas à l'ouvrir.

Cause initiale: Les 8 premiers octets ont été altérés par un mode de transfert ASCII (transformation de 0x0D 0x0A en 0x0A ou 0x0D 0x0D 0x0A).

Récupération: Ouvrez le fichier dans un éditeur hexadécimal et vérifiez que les huit premiers octets correspondent à « 89 50 4E 47 0D 0A 1A 0A ». La restauration de ces octets d’en-tête précis permet souvent de récupérer l’image.

pngcheck signale 'Erreur CRC dans le bloc IDAT' ou l'image se charge partiellement avec des lignes de balayage inférieures corrompues.

Cause initiale: Corruption de bits dans le flux de données zlib compressé ou somme de contrôle CRC32 invalide dans un bloc IDAT.

Récupération: Utilisez pngcheck -f ou des utilitaires de récupération de flux Deflate pour recalculer des valeurs CRC32 valides, ou décompressez les lignes de balayage survivantes jusqu'au bloc corrompu.

L'image s'affiche correctement dans les visionneuses de bureau mais échoue dans les applications iOS.

Cause initiale: iOS s'attend au format à inversion d'octets CgBI propriétaire d'Apple, ou à des blocs d'espace colorimétrique non standard.

Récupération: Normalisez l'image à l'aide de 'pngcrush -revert-iphone-optimizations' pour restaurer l'ordre RGBA standard du W3C.

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

Le PNG est pris en charge par de nombreux systèmes et applications. Les risques de sécurité comprennent l’épuisement de la mémoire du décodeur et les blocs auxiliaires malveillants.

Vecteurs d’attaque connus

  • Blocs de métadonnées tEXt et zTXt surdimensionnés déclenchant un déni de service par épuisement de mémoire (OOM) dans les décodeurs non cloisonnés.
  • Vulnérabilités de dépassement de tampon de tas dans les anciennes versions de libpng (par exemple CVE-2015-8126 dans png_set_PLTE).
  • Attaques de décompression par inondation de pixels où une image de petite taille de fichier déclare des dimensions énormes (par exemple 100 000 x 100 000 pixels).
  • Exfiltration stéganographique cachant des charges utiles chiffrées dans des blocs privés auxiliaires (par exemple eXIf ou types de blocs personnalisés).

Bonnes pratiques de défense: Validez toujours les dimensions de l'image avant d'allouer des tampons de pixels en mémoire. Supprimez les blocs auxiliaires non essentiels (eXIf, tEXt) lors des téléchargements des utilisateurs à l'aide d'un outil d'assainissement sûr pour la mémoire.

Origines historiques et jalons

2004Standardisé au niveau international sous la norme ISO/IEC 15948.
1996Publication de PNG 1.0 en tant que recommandation du W3C.
1995Créé sur le groupe Usenet comp.graphics comme alternative libre au GIF, après qu’Unisys a commencé à faire valoir ses brevets LZW et à réclamer des redevances.

Principaux avantages

  • PNG utilise une compression sans perte : l’encodage d’une image inchangée n’ajoute donc pas de perte due à la compression. Les retouches ou la conversion des couleurs peuvent toutefois modifier les valeurs des pixels.
  • La transparence alpha 8 bits permet un fondu harmonieux sur des arrière-plans complexes.
  • La correction du gamma et les blocs de chromaticité garantissent un rendu cohérent sur divers moniteurs.

Limites techniques

  • Des tailles de fichiers nettement plus importantes par rapport aux formats avec perte modernes tels que WebP ou AVIF pour le contenu photographique.
  • Pas d'animation multi-images native dans le PNG standard (nécessite l'extension APNG).
  • Une profondeur de bits élevée (16 bits par canal) crée d'immenses tampons de décodage non compressés en mémoire.

Faits intéressants

  • L'en-tête magique de 8 octets a été spécifiquement conçu pour détecter la corruption des fins de ligne CR/LF lors des transferts FTP.
  • L'acronyme récursif non officiel pour PNG était « PNG's Not GIF ».
  • Apple utilise un bloc CgBI propriétaire dans les PNG des applications iOS qui inverse le format RGBA en BGRA pour un rendu direct par le GPU.

Foire aux questions techniques

Pourquoi la taille d'un fichier PNG augmente-t-elle parfois lorsqu'il est enregistré dans des éditeurs d'images ?

Les logiciels utilisent différents niveaux de compression Deflate et choisissent différemment les filtres prédictifs appliqués aux lignes. Des programmes comme Photoshop ajoutent souvent des profils colorimétriques non compressés, des métadonnées XMP et des blocs IDAT de taille non optimisée. Des outils spécialisés comme Compressor de File2File.app réévaluent les cinq filtres de ligne afin de réduire la taille du fichier au minimum.

Quelle est la différence entre PNG-8 et PNG-24 ?

Le PNG-8 utilise une palette de couleurs indexées allant jusqu'à 256 couleurs (similaire au GIF), produisant de très petits fichiers adaptés aux icônes simples. Le PNG-24 prend en charge 16,7 millions de couleurs (couleurs vraies, 8 bits par canal) ; le PNG-32 ajoute un canal alpha de transparence de 8 bits.

Pourquoi PNG possède-t-il 5 filtres de balayage prédictifs ?

Deflate compresse les motifs d'octets répétés. Étant donné que les valeurs de pixels photographiques ou en dégradé changent progressivement, PNG filtre chaque ligne de balayage (None, Sub, Up, Average, Paeth) en calculant les différences entre les pixels adjacents. Cela transforme les données de dégradé en suites d'octets proches de zéro qui se compressent beaucoup mieux avec Deflate.

PNG prend-il en charge les espaces colorimétriques CMJN pour l'impression commerciale ?

Non. La spécification officielle PNG du W3C restreint délibérément les types de couleurs aux niveaux de gris, aux couleurs indexées et au RVB. Les flux de travail d'impression professionnels nécessitant du CMJN doivent utiliser des conteneurs TIFF ou PDF.

Conversions associées à PNG

PNG vers JPG

La conversion d'images matricielles PNG au format JPEG réduit la taille du fichier en appliquant une compression avec perte, ce qui permet aux images de se charger plus rapidement sur les sites Web et d'utiliser moins d'espace de stockage.

JPG vers PNG

La conversion d'une image matricielle JPEG avec perte en une image matricielle PNG sans perte évite toute dégradation supplémentaire et active la prise en charge de la transparence du canal alpha.

PNG vers WEBP

La conversion d’images PNG en WebP peut réduire la taille du fichier tout en conservant la transparence. Le résultat dépend du codage avec ou sans perte et du contenu de l’image.

WEBP vers PNG

Convertissez les images WebP en PNG lorsque vous avez besoin de ce format ou souhaitez conserver la transparence. La taille dépend de l’image et des paramètres de conversion.

HEIC vers PNG

La conversion du format HEIC au format PNG transforme des photos compressées HEVC avec perte en fichiers graphiques sans perte largement pris en charge.

SVG vers PNG

La conversion de fichiers vectoriels SVG en images matricielles PNG transforme des graphiques vectoriels évolutifs définis par du code en grilles de pixels fixes pour une compatibilité universelle avec les applications.

PNG vers SVG

Intégrez des images matricielles PNG dans un conteneur vectoriel SVG XML pour une mise à l'échelle adaptative sur le web et une intégration dans des mises en page compatibles avec les vecteurs.

PSD vers PNG

Convertissez des graphiques Adobe Photoshop PSD en images PNG sans perte avec transparence complète du canal alpha directement dans votre navigateur, sans transmission au serveur.