Apprenez à alléger un SVG en supprimant les données inutiles, en réduisant la précision avec prudence et en vérifiant que le rendu, l’accessibilité et les licences restent intacts.
Publié le 31 août 2026Lecture : 30 minPar Équipe Bethemesh
Un fichier SVG peut paraître minuscule à l’écran et pourtant contenir des centaines de lignes de code, des coordonnées à huit décimales, des groupes imbriqués, des métadonnées d’éditeur et des identifiants générés automatiquement. À l’inverse, quelques chemins bien construits peuvent suffire à représenter un logo parfaitement net à toutes les tailles.
Optimiser un SVG consiste donc à chercher une représentation plus simple du même résultat, sans transformer l’optimisation en destruction aveugle.
Le bon objectif n’est pas :
« obtenir le fichier le plus petit possible ».
C’est plutôt :
« obtenir le fichier le plus simple et le plus léger possible tout en conservant exactement ce dont le projet a besoin ».
Cette nuance est essentielle. Un SVG peut dépendre de son viewBox, de références internes, de currentColor, de styles CSS externes, d’un <title> accessible ou d’informations de licence invisibles dans l’aperçu. Une optimisation qui supprime l’un de ces éléments peut produire un fichier plus léger mais moins correct.
Avant d’aller plus loin, si les notions de viewBox, <path>, fill, stroke, <defs> ou SVG inline ne vous sont pas familières, commencez par SVG : comprendre le format vectoriel.
Pourquoi optimiser un SVG ?
Il existe plusieurs raisons, et le poids réseau n’est que la première.
Un SVG optimisé peut être :
plus léger à transférer ;
plus rapide à analyser ;
moins complexe à rendre ;
plus simple à versionner ;
plus facile à inspecter ;
moins encombré de données propres au logiciel de création ;
plus cohérent avec une chaîne de publication automatisée.
Mais tous les SVG n’ont pas besoin du même niveau d’intervention.
Une icône de 1,8 Ko parfaitement propre ne mérite probablement pas une heure de travail manuel pour gagner 150 octets.
Une illustration de 700 Ko exportée depuis un logiciel graphique, contenant plusieurs milliers de points et une image PNG intégrée, mérite au contraire une véritable analyse.
Commencer par comprendre ce que contient le fichier
L’extension .svg ne vous dit pas si le document est simple.
Ouvrez-le dans un éditeur de texte.
Vous pouvez découvrir quelque chose de très compact :
Première catégorie : supprimer les commentaires inutiles
Un commentaire XML :
<!-- Created with Example Designer 12 -->
ne modifie pas le dessin.
Dans une version de production, il peut généralement disparaître.
Même chose pour des commentaires de travail :
<!-- TODO: revoir la couleur -->
Mais attention aux mentions importantes.
Un commentaire peut contenir :
attribution ;
copyright ;
licence ;
instruction de maintenance.
Avant de supprimer automatiquement tous les commentaires, assurez-vous que les informations nécessaires sont conservées ailleurs.
Le frontmatter, un fichier LICENSE, une base de crédits ou une page de mentions peut être plus robuste qu’un commentaire interne, mais la migration doit être volontaire.
Deuxième catégorie : examiner <metadata>
Un SVG peut contenir :
<metadata> ...</metadata>
Ces données peuvent provenir :
du logiciel graphique ;
d’un standard de métadonnées ;
d’une licence ;
d’informations d’auteur.
Pour le rendu visuel, elles sont souvent inutiles.
Pour la documentation ou les obligations juridiques, elles peuvent être importantes.
Ne posez donc pas la question :
« Puis-je supprimer <metadata> ? »
Posez plutôt :
« Ai-je encore besoin des informations contenues dans <metadata> après publication ? »
Si oui, conservez-les dans le fichier ou migrez-les vers un système approprié avant nettoyage.
Pour un SVG généré lors du build, ce compromis est généralement acceptable.
Pour un SVG maintenu manuellement dans le code source, conserver une version lisible puis minifier à la construction peut être préférable.
Ne pas confondre lisibilité source et efficacité de production
Il n’est pas nécessaire que le fichier versionné soit illisible pour que le navigateur reçoive une version compacte.
Une chaîne de build peut produire :
SVG lisible ↓optimiseur ↓SVG minifié de production
Cette approche permet :
revue de code plus claire ;
diffs Git compréhensibles ;
production optimisée.
C’est souvent préférable à la modification manuelle d’une longue chaîne de coordonnées minifiées.
Réduire la précision numérique
Les exports vectoriels contiennent parfois des coordonnées telles que :
24.00013718.99984631.452816
Cette précision peut venir des calculs internes du logiciel.
À l’échelle d’une icône, elle est souvent excessive.
Une version réduite pourrait devenir :
241931.45
Sur des milliers de coordonnées, le gain peut être important.
Mais contrairement à la suppression d’un commentaire, cette opération modifie les données géométriques.
Elle doit donc être testée.
Pourquoi une décimale peut-elle changer le rendu ?
Imaginez deux formes censées se toucher exactement.
L’une termine à :
10.004
et l’autre commence à :
10.006
Une transformation peut arrondir différemment les coordonnées.
À certaines tailles, cela peut créer :
une fente ;
un chevauchement ;
une ligne parasite.
Les petites icônes sont particulièrement sensibles parce qu’un déplacement minuscule dans le repère peut affecter la rasterisation sur quelques pixels seulement.
Quelle précision choisir ?
Il n’existe pas de chiffre universel.
Une stratégie raisonnable consiste à tester progressivement :
4 décimales3 décimales2 décimales1 décimale
et à s’arrêter avant que le rendu ne soit affecté.
Pour une illustration simple, deux décimales peuvent être largement suffisantes.
Pour :
dessin technique ;
courbes précises ;
géométrie complexe ;
petites icônes ;
formes imbriquées ;
une précision supérieure peut être nécessaire.
Le bon nombre est celui validé sur votre fichier, pas celui trouvé dans une règle générique.
Tester la précision à plusieurs tailles
Un piège fréquent consiste à comparer uniquement le SVG agrandi.
Une petite erreur peut être invisible à 800 px mais produire un mauvais alignement à 16 px.
Testez donc :
taille minimale réelle ;
taille habituelle ;
grande taille.
Pour une icône :
16 px24 px32 px64 px
peut être une série pertinente.
Pour un logo, utilisez les dimensions réellement prévues dans l’interface.
Simplifier les chemins
Les chemins sont souvent la partie la plus volumineuse d’un SVG.
Un tracé peut contenir :
points redondants ;
segments presque alignés ;
commandes répétées ;
coordonnées exprimées de manière peu compacte.
Un optimiseur peut essayer de représenter le même dessin avec moins d’informations.
Le gain peut être considérable.
Mais la simplification des paths est une opération géométrique : elle doit être considérée comme plus risquée que la suppression de métadonnées.
Commandes absolues et relatives
Un chemin peut utiliser des coordonnées absolues :
M10 10 L20 10 L20 20
ou des déplacements relatifs :
M10 10 l10 0 v10
Selon les coordonnées, l’une des représentations peut être plus courte.
Les optimiseurs peuvent convertir entre elles.
Pour un fichier de production, cette réécriture est généralement acceptable si le rendu est strictement préservé.
Pour un fichier édité manuellement, elle peut rendre le path plus difficile à comprendre.
Encore une fois, source et artefact de production n’ont pas forcément les mêmes besoins.
Courbes de Bézier et simplification
Les courbes de Bézier utilisent des points de contrôle.
Une modification légère peut changer :
tension ;
tangente ;
forme d’un arrondi.
Sur un logo, ce changement peut être inacceptable même s’il est difficile à voir au premier coup d’œil.
Pour une identité graphique, ne validez donc pas une simplification uniquement parce qu’un aperçu rapide semble correct.
Comparez précisément :
contours ;
intersections ;
symétries ;
angles ;
extrémités.
Supprimer les points inutiles
Une vectorisation automatique d’un dessin peut produire une quantité excessive de points.
C’est fréquent lorsque l’on vectorise :
dessin scanné ;
signature ;
silhouette ;
photographie simplifiée.
Dans ce cas, l’optimisation automatique du XML ne suffit pas toujours.
Le meilleur gain peut venir d’une simplification du dessin dans l’outil vectoriel avant export.
Une courbe avec 200 points n’a peut-être besoin que de 30 points pour paraître identique.
Cette étape demande davantage de jugement graphique, mais peut transformer radicalement le fichier.
Convertir certaines formes en chemins ?
Un optimiseur peut convertir :
<rect><circle><polygon>
en <path> lorsque cela produit moins de caractères.
Cela peut réduire légèrement le poids.
Mais les primitives ont des avantages :
elles sont lisibles ;
faciles à modifier ;
sémantiquement explicites pour un développeur.
Pour quelques octets, la conversion n’est pas toujours souhaitable dans la source.
Dans un artefact minifié généré automatiquement, le compromis peut être différent.
Fusionner des chemins
Deux paths partageant les mêmes styles peuvent parfois être fusionnés.
Cela réduit :
nombre d’éléments ;
répétition d’attributs.
Mais une fusion peut affecter :
ordre de peinture ;
règles de remplissage ;
interaction ;
ciblage CSS ;
animation.
Si des chemins possèdent des identifiants ou sont manipulés séparément, ne les fusionnez pas aveuglément.
Groupes <g> inutiles
Un logiciel peut générer :
<g> <g> <g> <path ... /> </g> </g></g>
Si les groupes :
n’appliquent aucun style ;
n’appliquent aucune transformation ;
ne portent aucun identifiant utile ;
ne servent pas à l’interaction ;
ils peuvent être supprimés.
Mais un groupe apparemment inutile dans le fichier isolé peut être ciblé par CSS ou JavaScript lorsque le SVG est inline.
Le contexte d’intégration doit donc être connu avant optimisation.
width et height : ne pas appliquer une règle automatique
Certaines recettes recommandent de supprimer systématiquement :
width="..."height="..."
lorsqu’un viewBox existe.
Cela peut être utile dans certains composants fluides.
Mais ce n’est pas une règle universelle.
Les dimensions peuvent participer :
à la taille intrinsèque ;
au comportement lorsque CSS n’est pas chargé ;
à certains usages autonomes.
Et lorsque le SVG est chargé avec <img>, les dimensions du HTML peuvent aider à réserver l’espace et éviter les décalages de mise en page.
Décidez donc selon l’intégration réelle.
preserveAspectRatio
Cet attribut contrôle la manière dont le viewBox s’adapte à une zone dont le ratio diffère.
Une optimisation qui le supprime parce qu’elle considère sa valeur comme « habituelle » doit garantir que le comportement par défaut est réellement celui recherché.
Pour des SVG utilisant :
preserveAspectRatio="none"
le retrait changerait clairement le dessin en rétablissant la conservation des proportions.
Les identifiants : petits caractères, grandes conséquences
C’est possible si toutes les références sont mises à jour.
Mais les identifiants peuvent également être utilisés depuis :
CSS ;
JavaScript ;
ARIA ;
fragments d’URL ;
code externe.
Un renommage purement local peut alors casser l’intégration.
Collisions d’identifiants inline
Supposons deux SVG inline :
<linearGradient id="a">...</linearGradient>
dans chacun.
Une fois insérés dans le même document HTML, les identifiants ne sont plus nécessairement aussi isolés qu’ils l’étaient dans deux fichiers distincts.
Les références peuvent devenir ambiguës ou pointer vers la mauvaise définition.
Ce problème touche souvent les exports contenant des noms génériques :
clip0mask0gradient0
Si votre build inline plusieurs SVG, prévoyez :
préfixes ;
identifiants uniques ;
transformation contrôlée au build.
Ne raccourcissez pas tous les identifiants de tous les fichiers de la même manière sans réfléchir au DOM final.
<defs> : ne pas supprimer une définition utilisée indirectement
Les éléments de <defs> ne sont généralement pas visibles directement.
Un outil naïf pourrait donc les considérer comme inutiles.
Mais ils peuvent être référencés par :
fill="url(#...)" ;
stroke ;
clip-path ;
mask ;
filter ;
<use> ;
marqueurs.
Une analyse correcte doit suivre ces références.
Supprimer une définition parce qu’elle ne dessine rien directement peut détruire une partie du rendu.
Dégradés
Les dégradés peuvent contenir plusieurs <stop>.
Un optimiseur peut parfois :
supprimer des attributs redondants ;
raccourcir des couleurs ;
fusionner certaines informations.
Mais attention aux héritages et références.
Un changement minime de position d’un stop peut être visible sur une grande surface.
Les gradients de marque doivent être comparés avec soin.
Masques et clipPath
Les masques et chemins de découpe sont des zones sensibles.
Une optimisation géométrique agressive peut produire :
bord différent ;
débordement ;
halo ;
artefact à certaines tailles.
Testez particulièrement :
zoom ;
haute densité ;
fond contrasté.
Un défaut presque invisible sur fond blanc peut devenir évident sur fond sombre.
Filtres
Les filtres SVG peuvent être coûteux et leurs zones de calcul dépasser la forme visible.
Une ombre peut être coupée si une optimisation modifie :
cadrage ;
région du filtre ;
coordonnées ;
dimensions.
Avant de supprimer ou modifier des attributs liés aux filtres, vérifiez le rendu sur les bords.
Si un filtre complexe n’apporte qu’une ombre simple, il peut parfois être remplacé par une technique plus légère, mais cela devient alors une refonte graphique, pas une optimisation strictement équivalente.
Supprimer les éléments invisibles
Un fichier peut contenir des formes :
display:none ;
masquées ;
hors du cadrage ;
recouvertes ;
utilisées uniquement pour l’édition.
Certaines peuvent être supprimées.
Mais « invisible dans l’aperçu » ne signifie pas nécessairement « inutile ».
Un élément peut servir :
à une animation ;
à un état interactif ;
à un masque ;
à un <use> ;
à JavaScript.
La suppression automatique doit donc connaître le contexte.
Images raster intégrées
Voici un cas particulièrement important :
<image href="data:image/png;base64,..."/>
Le SVG contient alors une image matricielle encodée.
Le fichier peut peser des centaines de kilo-octets ou plusieurs mégaoctets.
Supprimer les commentaires n’aura presque aucun effet.
Encoder un fichier binaire en base64 augmente sa représentation textuelle.
La compression HTTP peut récupérer une partie de ce coût, mais l’intégration empêche également de gérer la ressource de manière totalement indépendante.
Si la même photographie apparaît dans plusieurs SVG, vous risquez de répéter les données.
Pour une ressource raster volumineuse, un fichier externe est souvent plus flexible.
Accessibilité : <title> n’est pas du déchet
Un SVG inline informatif peut contenir :
<svg role="img" aria-labelledby="chart-title"> <title id="chart-title"> Évolution des ventes de janvier à juin </title> ...</svg>
Si l’optimiseur supprime <title>, il peut casser le nom accessible.
Si l’optimiseur renomme son id sans mettre à jour aria-labelledby, même problème.
La réduction de poids ne doit jamais primer sur l’information accessible.
Et <desc> ?
<desc> peut apporter une description complémentaire.
Son utilité dépend :
du contenu ;
du contexte ;
de la stratégie d’accessibilité.
Ne conservez pas automatiquement des descriptions inutiles générées par un logiciel.
Mais si elles ont été écrites volontairement pour transmettre une information, leur suppression doit être considérée comme une modification fonctionnelle.
SVG chargé via <img>
Lorsqu’un SVG est utilisé ainsi :
<img src="/images/chart.svg" alt="...">
l’alternative principale est fournie par alt.
Un <title> interne peut donc ne pas jouer le même rôle que dans un SVG inline.
C’est pourquoi l’optimiseur ne peut pas déterminer la bonne politique d’accessibilité uniquement en regardant le fichier.
Il doit connaître le mode d’intégration.
SVG décoratif
Un SVG inline décoratif peut être marqué :
aria-hidden="true"
Dans ce cas, un <title> généré automatiquement par l’éditeur peut être inutile et même contre-productif.
L’optimisation peut donc aussi améliorer la propreté sémantique, à condition que la décision soit volontaire.
Contraste : vérifier après optimisation des couleurs
Si une optimisation réécrit des couleurs, le résultat doit rester strictement équivalent.
Pour un élément fonctionnel ou informatif, vérifiez également son contraste dans le contexte final.
L’optimisation ne doit pas devenir une excuse pour modifier légèrement une teinte de marque afin de gagner quelques caractères.
Sécurité : optimisation ≠ assainissement
C’est l’une des distinctions les plus importantes.
Un optimiseur cherche à :
supprimer des données inutiles ;
simplifier ;
minifier.
Un sanitizer cherche à appliquer une politique de sécurité à un document potentiellement hostile.
Ce n’est pas le même objectif.
Un SVG provenant d’un utilisateur inconnu ne devient pas fiable parce qu’il a été minifié.
Pourquoi supprimer <script> ne suffit pas ?
SVG est un langage documentaire riche.
Une politique de sécurité peut devoir contrôler :
éléments ;
attributs événementiels ;
URL ;
ressources externes ;
styles ;
namespaces ;
références ;
contenus actifs.
Une expression régulière cherchant :
<script
n’est donc pas une stratégie d’assainissement complète.
Pour un SVG non fiable, utilisez une solution spécifiquement conçue et maintenue pour ce contexte.
L’optimiseur SVG de Bethemesh
L’optimiseur SVG permet de travailler sur un SVG localement et d’expérimenter plusieurs transformations.
Le principe recommandé est :
conserver l’original ;
charger une copie ;
commencer par les transformations les moins risquées ;
observer le poids ;
comparer le rendu ;
augmenter progressivement l’agressivité si nécessaire ;
tester le fichier obtenu dans le composant réel.
Un outil d’optimisation doit être considéré comme une aide au workflow, pas comme une autorisation à valider automatiquement tout résultat plus petit.
Ordre recommandé des optimisations
Pour limiter les risques, procédez du plus sûr au plus sensible.
Niveau 1 — nettoyage documentaire
Commencez par :
commentaires inutiles ;
métadonnées non nécessaires ;
données d’éditeur inutiles ;
espaces superflus.
Risque généralement faible.
Niveau 2 — simplification syntaxique
Ensuite :
valeurs raccourcies ;
attributs réellement redondants ;
couleurs compactes ;
structures XML simplifiables.
Risque faible à modéré selon l’intégration.
Niveau 3 — optimisation structurelle
Puis :
groupes inutiles ;
styles factorisés ;
paths fusionnés ;
identifiants raccourcis.
Risque modéré.
Niveau 4 — optimisation géométrique
Enfin :
réduction de précision ;
simplification des tracés ;
transformations géométriques.
Risque plus élevé.
Cette progression facilite le diagnostic : si le rendu casse, vous savez à quelle famille de transformations revenir.
Comparaison visuelle côte à côte
Placez l’original et la version optimisée dans les mêmes conditions :
original | optimisé
Comparez :
contours ;
angles ;
courbes ;
couleurs ;
transparence ;
ombres ;
alignements.
Utilisez les tailles réelles.
Une comparaison à 1000 % peut révéler des différences techniquement présentes mais totalement invisibles dans l’usage. À l’inverse, une petite icône doit absolument être testée à sa taille réelle.
Superposition des rendus
Pour les ressources sensibles, une technique efficace consiste à superposer :
original ;
optimisé.
En alternant rapidement leur visibilité ou en utilisant un mode de différence dans un outil graphique, les écarts deviennent plus faciles à détecter.
Cette méthode est particulièrement utile pour :
logos ;
icônes ;
illustrations de marque.
Elle permet de distinguer une vraie différence d’une simple impression visuelle.
Tester sur fond clair et sombre
Un artefact de bord peut être invisible sur un fond proche de sa couleur.
Testez donc un SVG transparent sur plusieurs arrière-plans.
Par exemple :
blancgrisnoircouleur de marque
Cela permet de repérer :
halos ;
contours ;
fentes ;
pixels issus de la rasterisation.
Même un document vectoriel est finalement rasterisé par l’écran.
Tester le zoom
Le zoom navigateur peut révéler des problèmes de :
contours ;
alignement ;
clipping.
Testez plusieurs niveaux, sans rechercher une perfection artificielle à chaque facteur fractionnaire : la rasterisation peut produire de petites variations normales.
Ce qui compte est l’absence de dégradation significative introduite par l’optimisation.
Tester le contexte final
C’est indispensable.
Un SVG parfait lorsqu’il est ouvert seul peut casser lorsqu’il est :
inline ;
dans un bouton ;
coloré avec currentColor ;
animé ;
intégré dans un thème sombre ;
dupliqué plusieurs fois.
Le test final doit donc se faire dans l’application, pas seulement dans l’outil d’optimisation.
Automatiser sans perdre le contrôle
Sur un site contenant quelques SVG, une optimisation manuelle peut suffire.
Sur un projet contenant des centaines d’icônes, il vaut mieux automatiser.
Un pipeline peut :
prendre les SVG source ;
appliquer une configuration versionnée ;
produire les fichiers de distribution ;
exécuter des tests ;
comparer les résultats.
L’intérêt est la reproductibilité.
Chaque développeur n’optimise pas les fichiers avec des réglages différents.
Versionner la configuration
Si vous utilisez un optimiseur dans le build, sa configuration fait partie de votre architecture.
Versionnez :
options ;
précision ;
politique d’identifiants ;
plugins actifs ;
exceptions.
Une mise à jour de l’outil peut modifier son comportement.
Les changements doivent donc être traités comme une évolution de dépendance susceptible d’affecter les assets.
Tests visuels automatisés
Pour une bibliothèque d’icônes importante, des tests de captures peuvent détecter les régressions.
supprimer d’abord les données non visuelles inutiles ;
minifier ;
simplifier progressivement ;
réduire la précision avec prudence ;
surveiller les IDs ;
préserver le viewBox ;
conserver l’accessibilité.
Après :
comparer visuellement ;
tester plusieurs tailles ;
tester plusieurs fonds ;
tester le composant réel ;
contrôler le nom accessible ;
mesurer le poids transféré ;
vérifier la console ;
conserver les crédits.
Checklist pour un pipeline automatisé
Un pipeline mature devrait idéalement :
utiliser une configuration versionnée ;
traiter uniquement les fichiers prévus ;
conserver les sources ;
produire des sorties reproductibles ;
fixer des budgets ;
vérifier le viewBox ;
contrôler les identifiants selon l’architecture ;
préserver les éléments d’accessibilité requis ;
empêcher les images base64 inattendues ;
lancer des tests visuels sur les ressources sensibles ;
permettre des exceptions documentées.
L’automatisation est utile lorsqu’elle encode une politique réfléchie. Elle devient dangereuse lorsqu’elle applique des transformations agressives sans contexte.
Cela dépend entièrement de la source. Un SVG déjà propre peut ne perdre que quelques pourcents. Un export rempli de métadonnées, de points inutiles ou de structures redondantes peut être réduit beaucoup plus fortement.
Quelle précision décimale faut-il utiliser ?
Il n’existe pas de valeur universelle. Deux ou trois décimales conviennent souvent à des formes simples, mais certains dessins exigent davantage. Testez toujours les tailles réelles.
Puis-je supprimer tous les commentaires ?
Les commentaires purement techniques ou d’éditeur peuvent généralement disparaître. Vérifiez auparavant qu’ils ne contiennent ni licence, ni attribution, ni information de maintenance nécessaire.
Puis-je supprimer <metadata> ?
Oui pour le rendu si ces données ne sont pas nécessaires, mais elles peuvent contenir des informations juridiques ou documentaires. Conservez-les ailleurs lorsque nécessaire.
Faut-il toujours minifier un SVG ?
Pour une ressource de production générée automatiquement, la minification est souvent pertinente. Pour un fichier maintenu à la main, vous pouvez conserver une source lisible et minifier au build.
Faut-il supprimer width et height ?
Pas automatiquement. Le bon choix dépend du mode d’intégration et de la gestion des dimensions par le HTML et CSS.
Peut-on supprimer viewBox ?
Généralement non si vous voulez conserver un SVG correctement redimensionnable. Sa suppression peut changer le cadrage et le comportement responsive.
Peut-on convertir toutes les formes en paths ?
Techniquement souvent oui, mais ce n’est pas toujours avantageux. Les primitives comme <circle> ou <rect> sont plus lisibles et parfois déjà très compactes.
Peut-on fusionner tous les paths ?
Non. Ils peuvent avoir des styles, interactions, animations ou règles de remplissage distincts.
Pourquoi mon SVG optimisé casse-t-il uniquement lorsqu’il est inline ?
Il peut dépendre d’identifiants, de styles, de currentColor ou entrer en collision avec un autre SVG du DOM.
Pourquoi un dégradé a-t-il disparu ?
Son identifiant ou sa définition dans <defs> a peut-être été supprimé ou renommé sans mettre correctement à jour la référence url(#...).
Pourquoi mon SVG est-il coupé après optimisation ?
Le viewBox, un filtre, un masque ou des coordonnées proches des limites ont peut-être été modifiés.
Pourquoi une icône paraît-elle différente seulement à 16 px ?
Une réduction de précision ou une simplification peut modifier la rasterisation à petite taille. Testez toujours la taille minimale réelle.
Un SVG minifié est-il plus performant ?
Il est généralement plus léger à transférer et analyser, mais les performances de rendu dépendent également du nombre d’éléments, des filtres et des animations.
Un SVG optimisé est-il sécurisé ?
Non. Optimisation et assainissement sont deux processus différents. Un SVG non fiable nécessite une politique de sécurité spécifique.
Supprimer <script> suffit-il à sécuriser un SVG ?
Non. D’autres constructions et références peuvent nécessiter un contrôle selon le contexte.
Faut-il conserver <title> et <desc> ?
S’ils participent volontairement à l’accessibilité d’un SVG inline, oui. Pour un SVG décoratif ou chargé avec une autre stratégie d’alternative, leur rôle peut être différent.
Peut-on raccourcir les identifiants ?
Oui si toutes les références sont connues et mises à jour et si cela ne crée pas de collisions. Soyez particulièrement prudent avec les SVG inline.
Comment gérer une photo intégrée dans un SVG ?
Évaluez si elle doit réellement être embarquée. Elle peut souvent être optimisée séparément et servie comme fichier raster adapté.
Comparez original et optimisé aux tailles réelles, sur plusieurs fonds et dans le composant final. Pour les assets sensibles, utilisez une superposition ou des tests visuels.
Comment optimiser plusieurs centaines de SVG ?
Automatisez avec une configuration versionnée, des budgets et des tests. Conservez les sources et traitez les changements de configuration comme des évolutions de votre pipeline.
L’outil Bethemesh peut-il m’aider ?
Oui. Utilisez l’optimiseur SVG pour expérimenter localement, comparer le poids et vérifier visuellement le résultat avant de l’intégrer au site.
Apprenez à construire une stratégie complète d’optimisation des images Web : dimensions, format, compression, responsive, chargement, stabilité visuelle et contrôle des performances.
Comprenez les seuils de contraste WCAG, mesurez une combinaison de couleurs et corrigez les cas qui gênent la lecture ou l'utilisation d'une interface.
Découvrez comment un fichier SVG décrit des formes, utilise viewBox et s’intègre dans une page Web, avec les bonnes pratiques de responsive, d’accessibilité et de sécurité.