La Différence Fondamentale
PNG (Portable Network Graphics) est un format raster. Il stocke les images sous forme de grille de pixels colorés. Chaque pixel a une position, une couleur et une opacité fixes. Le nombre total de pixels — la résolution — détermine le niveau de détail que l'image peut contenir. Un PNG 1000×1000 contient exactement 1 million de valeurs de pixels. Lorsque vous agrandissez l'image au-delà de sa résolution native, le logiciel doit interpoler (inventer) de nouveaux pixels entre les pixels existants, produisant un résultat flou.
SVG (Scalable Vector Graphics) est un format vectoriel. Il décrit les images à l'aide de définitions mathématiques : chemins, courbes, formes, lignes et remplissages. Un cercle est stocké comme une coordonnée de centre et un rayon — pas comme des milliers de pixels arrangés. Parce que l'image est définie par des équations plutôt que par une grille de pixels fixe, elle peut être rendue à n'importe quelle taille avec une netteté parfaite. Le moteur de rendu recalcule simplement les mathématiques pour les dimensions cibles.
Il ne s'agit pas d'un format "meilleur" que l'autre. Chaque format est conçu pour des types de contenu différents. PNG excelle à représenter les contenus photographiques et raster complexes. SVG excelle à représenter les graphiques géométriques, logos, icônes et illustrations.
Comparaison Complète
| Caractéristique | SVG | PNG |
|---|---|---|
| Type | Vectoriel (chemins mathématiques) | Raster (grille de pixels) |
| Mise à l'échelle | Infinie — toujours net quelle que soit la taille | Résolution fixe — flou lors de l'agrandissement |
| Taille de fichier (icônes/logos) | 1–20 Ko typique | 10–500 Ko (selon la résolution) |
| Taille de fichier (photos) | Énorme (non adapté) | 500 Ko–10 Mo (efficace) |
| Transparence | Native (toute forme) | Canal alpha complet (opacité par pixel) |
| Animation | Oui — CSS, JavaScript, SMIL | Non (APNG existe mais support limité) |
| Style CSS | Complet — couleurs, tailles, effets modifiables | Non — données pixel fixes |
| Texte dans l'image | Recherchable et sélectionnable | Intégré dans les pixels, non recherchable |
| Modifiabilité | Chemins individuels modifiables | Au niveau pixel uniquement |
| Compression | Gzip/Brotli (compression texte) | Deflate sans perte (intégré) |
| Support navigateurs | Tous les navigateurs modernes (IE9+) | Universel (tous les navigateurs) |
| Idéal pour | Logos, icônes, illustrations, graphiques | Photos, captures d'écran, œuvres complexes |
Quand Utiliser SVG
SVG est le choix optimal pour tout graphique fondamentalement géométrique — composé de formes, lignes et courbes plutôt que de données pixel photographiques.
Logos et Identité Visuelle
Un logo d'entreprise apparaît partout : favicon du site (16px), image d'en-tête (200px), carte de visite (300 DPI imprimé), bannière de salon (10 mètres). Servir un PNG pour chaque taille signifie maintenir plusieurs fichiers, chacun à une résolution différente. Avec SVG, vous maintenez un fichier unique qui s'affiche parfaitement à toutes les tailles. Le CSS peut modifier la couleur du logo au survol, en mode sombre ou à l'impression. Et le fichier fait généralement 2–15 Ko — plus petit que la plus petite rendition PNG.
Icônes et Éléments d'Interface
Les jeux d'icônes (navigation, réseaux sociaux, icônes de fonctionnalités) sont des candidats SVG idéaux. Chaque icône est une forme géométrique simple qui bénéficie de :
- Indépendance de résolution : Net sur les écrans 1x, 2x et 3x sans servir plusieurs PNG
- Style CSS : Changez les couleurs avec les propriétés
filloustroke— pas besoin de variantes d'icônes séparées - Animation : Effets de survol, indicateurs de chargement, micro-interactions
- Taille minuscule : Un SVG d'icône typique fait 200–500 octets. Un jeu de 50 icônes inline en HTML ajoute moins de 25 Ko au total.
Illustrations Plates et Infographies
Les illustrations aux couleurs unies, aux contours nets et aux formes géométriques se traduisent naturellement au format vectoriel. Les illustrations marketing, les écrans d'intégration et les infographies sont typiquement conçus dans des outils vectoriels (Illustrator, Figma) et exportés en SVG. Le résultat est net à toute largeur de fenêtre, stylisable avec CSS, et considérablement plus petit que les PNG haute résolution équivalents.
Graphiques et Visualisations de Données
Les graphiques à barres, courbes, camemberts et visualisations de données interactives sont naturellement vectoriels. Des bibliothèques comme D3.js, Chart.js et Highcharts restituent directement en SVG. Le résultat est indépendant de la résolution, interactif (infobulles, événements de clic) et accessible (les lecteurs d'écran peuvent analyser le DOM SVG).
Design Web Responsive
SVG s'adapte automatiquement à toute taille de conteneur. Une illustration hero qui occupe 1200px sur bureau et 360px sur mobile utilise le même fichier SVG. Le navigateur recalcule les mathématiques vectorielles à chaque taille. PNG nécessite soit de servir des images surdimensionnées (gaspillant la bande passante sur mobile) soit plusieurs variantes srcset (plus de complexité et plus de fichiers à maintenir).
Quand Utiliser PNG
PNG excelle à représenter un contenu intrinsèquement raster — du contenu capturé ou créé sous forme de pixels et ne pouvant pas être réduit de manière significative à des formes géométriques.
Photographies
Une photographie contient des millions de valeurs de couleurs uniques avec des dégradés lisses et continus sur les teintes de peau, le ciel, le feuillage et les tissus. Le format vectoriel ne peut pas représenter efficacement ces données. Convertir une photo en SVG produirait des milliers de petits chemins, créant un fichier 10–100 fois plus grand que le PNG tout en ayant un rendu inférieur. Pour les contenus photographiques, PNG (sans perte) ou JPEG (avec perte, plus petit) sont les bons choix.
Captures d'Écran et Captures d'Interface
Les captures d'écran contiennent du texte rendu, des éléments d'interface, des dégradés et des bords anti-crénelés mélangés ensemble en pixels. L'arrangement spécifique des pixels importe. PNG préserve cela exactement. La vectorisation d'une capture d'écran produirait une interprétation peu fiable des données pixel, pas une reproduction fidèle.
Œuvres d'Art Numériques Complexes
Les peintures numériques, effets aquarelle, illustrations à textures lourdes et œuvres avec des milliers de couleurs et dégradés sont mieux servies en PNG. Bien que l'original ait pu être créé avec certains éléments vectoriels, le rendu final avec ses mélanges, effets et textures est fondamentalement des données raster.
Rendu Pixel Perfect
Lorsque le placement exact des pixels importe — pixel art, feuilles de sprites, ressources de jeux basse résolution — PNG est le bon format. Le rendu SVG implique de l'anti-crénelage et des calculs sous-pixel qui peuvent décaler les éléments de fractions de pixel, ce qui détruit l'alignement précis que le pixel art requiert.
Comparaison des Performances Web
Choisir le bon format pour chaque ressource impacte directement la vitesse de chargement de votre site et vos scores Core Web Vitals.
Taille de Fichier
Pour les icônes et logos, SVG l'emporte nettement. Une icône typique :
- SVG : 200–800 octets (texte brut, compressé à 100–400 octets avec gzip)
- PNG @1x : 1–5 Ko
- PNG @2x (Retina) : 3–15 Ko
- PNG @3x (Hi-DPI) : 5–25 Ko
Servir un seul SVG remplace trois fichiers PNG tout en étant plus petit que le plus petit d'entre eux. Pour un site avec 20 icônes, cela économise 100–400 Ko de données d'image.
Pour les logos :
- SVG : 2–15 Ko (gzippé : 1–8 Ko)
- PNG @2x : 20–200 Ko
Compression (Gzip/Brotli)
SVG est du texte XML, qui se compresse exceptionnellement bien avec gzip (réduction de 50–70%) et Brotli (réduction de 60–80%). Les serveurs web compressent SVG à la volée, donc la taille de transfert est bien inférieure au fichier sur disque. PNG a une compression deflate intégrée et ne bénéficie pas significativement d'un gzip/Brotli supplémentaire.
Avantage du SVG Inline
SVG peut être intégré directement dans HTML avec une balise <svg>, éliminant entièrement la requête HTTP. Pour les icônes et logos critiques au-dessus de la ligne de flottaison, cela peut améliorer le Largest Contentful Paint (LCP) car le navigateur n'a pas besoin d'attendre un téléchargement d'image séparé. PNG nécessite toujours une requête HTTP séparée (ou un data URI, qui gonfle la taille HTML d'environ 33%).
Google Core Web Vitals
Trois métriques clés sont affectées par les choix de format d'image :
- LCP (Largest Contentful Paint) : Les fichiers d'image plus petits se chargent plus vite. Les logos et icônes SVG contribuent moins au LCP que les PNG haute résolution.
- CLS (Cumulative Layout Shift) : SVG avec des dimensions
viewBoxexplicites permet au navigateur de réserver de l'espace avant le rendu, évitant les décalages de mise en page. PNG nécessite des attributswidthetheightexplicites pour le même avantage. - INP (Interaction to Next Paint) : Moins de requêtes d'images signifie moins de travail sur le thread principal. SVG inline réduit la surcharge HTTP.
Conversion Entre Formats
PNG vers SVG (Vectorisation)
Convertir PNG en SVG est un processus de vectorisation (tracé). Le convertisseur analyse les limites des pixels, détecte les contours et génère des courbes de Bézier qui approximent ces contours sous forme de chemins mathématiques. Cela fonctionne bien pour :
- Les logos aux couleurs unies sur des fonds propres
- Le dessin au trait, les croquis et les dessins à la main
- Les icônes et illustrations simples
- Le texte et la typographie
Cela ne fonctionne pas bien pour les photographies, les dégradés complexes ou les textures détaillées. Le résultat est une interprétation, pas une copie pixel perfect.
SVG vers PNG (Rastérisation)
Convertir SVG en PNG est une rastérisation — le rendu des chemins mathématiques à une résolution pixel spécifique. C'est un processus simple sans perte de qualité à la résolution choisie. Vous spécifiez simplement les dimensions cibles et le moteur de rendu remplit les pixels. Des outils comme ImageMagick, Inkscape et tous les navigateurs web peuvent rastériser SVG en PNG.
Raisons courantes de convertir SVG en PNG :
- Les plateformes de réseaux sociaux qui n'acceptent pas les téléversements SVG
- Les clients de messagerie avec un mauvais rendu SVG
- Les logiciels plus anciens qui ne supportent que les formats raster
- La génération de vignettes à résolution fixe pour les galeries d'images
Conseils d'Optimisation SVG
Les fichiers SVG exportés depuis des outils de design contiennent souvent des données inutiles qui gonflent la taille du fichier sans affecter le rendu visuel. L'optimisation peut réduire la taille du fichier SVG de 60–80%.
Supprimer les Métadonnées de l'Éditeur
Illustrator, Figma et Sketch intègrent des métadonnées propriétaires, des commentaires et des informations de générateur dans les SVG exportés. Ces données sont invisibles pour les navigateurs mais peuvent représenter 30–50% du fichier. Des outils comme SVGO (SVG Optimizer) les suppriment automatiquement.
Simplifier les Chemins
Les éditeurs vectoriels créent souvent des chemins avec plus de points de contrôle que visuellement nécessaire. Réduire le nombre de points dans chaque chemin (simplification de chemin) peut réduire considérablement le SVG tout en produisant un résultat visuellement identique. Dans Inkscape, utilisez Chemin > Simplifier (Ctrl+L). Le plugin convertPathData de SVGO gère cela automatiquement.
Minifier le XML
Supprimez les espaces blancs, les sauts de ligne et les attributs inutiles. Convertissez les coordonnées de chemin absolues en relatives (chaînes plus courtes). Supprimez les valeurs d'attributs par défaut. SVGO gère toutes ces optimisations en une seule passe.
Utiliser les Symboles SVG pour les Jeux d'Icônes
Si vous utilisez plusieurs icônes sur une page, définissez-les une fois dans un sprite SVG <symbol> et référencez-les avec <use>. Cela évite de dupliquer les mêmes données de chemin sur la page.
Outil d'optimisation : SVGOMG est une interface basée sur navigateur pour SVGO. Téléversez votre SVG, activez les options d'optimisation et observez la réduction de taille en temps réel. Aucune installation requise.