SVGO presets expliqués : optimiser un SVG sans casser le rendu

SVGO presets expliqués : optimiser un SVG sans casser le rendu

Safe, default ou aggressive ? Choisissez le bon preset SVGO, optimisez vos SVG pour la prod et évitez les régressions visuelles.

19.07.2026
10 min de lecture
Partager cet article:
SVGsvgoOptimisationpresetsWebTutoriel

Pourquoi les presets SVGO comptent

Un export Figma ou Illustrator produit souvent un SVG verbeux : métadonnées d'éditeur, précision décimale excessive, IDs redondants. Le minificateur SVG en ligne retire les espaces et les commentaires, ce qui convient à un nettoyage rapide. L'optimiseur SVG (SVGO) va plus loin avec trois préréglages, safe, default et aggressive, qui activent ou désactivent des plugins SVGO selon le risque visuel. Tout se passe dans le navigateur sur le hub outils SVG. Pour le panorama général, voir aussi le guide complet d'optimisation SVG.

Trois presets alignés sur des niveaux de risque réels (safe → aggressive)
Réduction de taille au-delà du simple minify whitespace
viewBox, title et desc préservés sur tous les presets FastMinify
Comparaison avant/après avec stats de taille dans l'outil
Aucun envoi : traitement 100 % local dans le navigateur

Impact réel sur la taille

Une icône exportée depuis un éditeur vectoriel

Sur une icône 24×24 avec métadonnées et paths trop précis, les trois préréglages n'économisent pas la même chose. Les chiffres exacts varient selon le fichier, et l'outil affiche les octets avant et après et le pourcentage économisé. Les chiffres cités servent d'illustration.

Avant optimisation

Taille des fichiers
~4,2 Ko

Après optimisation

Taille des fichiers
safe ~3,4 Ko · default ~2,1 Ko · aggressive ~1,6 Ko
Quand le preset ne change presque rien

Un SVG déjà minifié à la main ou passé plusieurs fois dans SVGO peut converger : safe ≈ default ≈ aggressive. Dans ce cas, le minify des espaces suffit, inutile de repasser en aggressive.

Bonnes pratiques et pièges

Quand ne pas trop optimiser

Les préréglages default et aggressive peuvent casser des chaînes en aval, car cleanupIds peut supprimer ou raccourcir des IDs : sélecteurs CSS ou JS, références de sprite comme `sprite.svg#icon`, animations SMIL liées à des IDs. Le préréglage aggressive fusionne en plus les paths et arrondit plus fort les coordonnées, ce qui peut toucher les formes complexes et les filtres. Dans ces cas, restez sur safe ou optimisez à la main.

SVG avec animation ou `<script>` → safe uniquement
Sprites avec `<symbol id="…">` référencés → rester sur safe
Illustrations hero détaillées → default + revue visuelle
N'enchaînez pas optimize et un nouvel export depuis l'éditeur sans retester
Garder le fichier design source (Figma/AI) comme référence
Intégration build et CI

En production, figez le préréglage dans votre pipeline (svgo npm, plugin Vite/Webpack) et alignez-le sur ce que vous validez dans le navigateur. Voir aussi l'article minification en CI/CD pour l'automatisation globale.

Même preset en local, CI et outil en ligne → résultats cohérents
Commitez aussi le SVG optimisé, en plus de la source lourde
Budget de taille par asset dans la revue de pull request
Tests visuels snapshot pour les icônes critiques
Hub SVG pour prototyper le preset avant de l'écrire en config

Tableau comparatif des préréglages

Choisir le bon préréglage

Le bon préréglage dépend du type d'asset et de votre tolérance au risque visuel, pas du seul pourcentage affiché.

Préréglage

format:safe : une passe, plugins structurels désactivés
validate:default : multipass, preset-default standard
minify:aggressive : floatPrecision 1 et mergePaths

Quand l'utiliser

format:Logos, SVG animés, IDs référencés en CSS/JS
validate:Icônes UI, pictos marketing, usage quotidien
minify:Sprites, icônes simples, taille critique mobile
Ordre recommandé

Montez en pression progressivement plutôt que de démarrer en aggressive.

Tester safe sur un échantillon représentatif
Passer en default si le rendu est identique
Essayer aggressive seulement sur des assets non critiques
Comparer visuellement à 100 % et 200 % zoom
Versionnez le SVG source et n'écrasez jamais l'original

Quand l'outil navigateur suffit

Cas d'usage fréquents

Pas besoin d'installer SVGO pour comparer trois préréglages sur un fichier reçu par e-mail.

Comparer safe vs default vs aggressive sur un export client
Choisir le préréglage avant de l'ajouter au dépôt
Débloquer un ticket perf « SVG trop lourd » sans Node
Former un designer sur l'impact des exports
Un passage unique avant collage dans un CMS ou un modèle d'e-mail

Limites de SVGO en CLI et en CI

Ce que le navigateur ne remplace pas

L'outil en ligne convient pour explorer et valider un préréglage. Le traitement par lot de centaines de SVG, l'intégration pre-commit et la configuration de plugins sur mesure restent du ressort de SVGO npm ou de plugins de bundler.

Optimiser un dossier `icons/` entier en une commande
Configuration SVGO sur mesure (plugins hors des préréglages FastMinify)
Gate CI : échec si la taille dépasse un seuil
Watch mode pendant le développement front
Plugins tiers non exposés dans l'UI FastMinify
Aligner navigateur et pipeline

Une fois le preset choisi dans l'outil, reproduisez la même logique (safe/default/aggressive) dans votre `svgo.config.js` pour éviter les écarts entre preview et build.

Documenter le preset retenu dans le README du design system
Tester aggressive uniquement sur un sous-ensemble d'icônes
Ne pas mélanger SVG optimisés et non optimisés dans un sprite
Revalider l'accessibilité après optimize aggressive
Lier le hub SVG dans la doc interne de l'équipe front

SVGO CLI et écosystème

Outils complémentaires

FastMinify propose trois préréglages tranchés. SVGO en amont offre une granularité plugin par plugin, utile quand vous avez des règles d'équipe très spécifiques.

svgo (npm CLI)

La ligne de commande SVGO de référence, avec le même moteur que l'optimiseur du navigateur FastMinify.

Avantages :
Traitement par lot de répertoires entiers
Configuration JSON ou YAML propre à chaque projet
Intégration pre-commit et CI native
Inconvénients :
Installation Node requise
Courbe d'apprentissage des plugins

vite-plugin-svgo / bundler plugins

Optimisation à l'import, pratique pour les composants React/Vue.

Avantages :
Automatique à chaque build
Cohérent avec le tree-shaking du bundler
Pas d'étape manuelle pour les développeurs
Inconvénients :
Moins visible qu'un outil en ligne pour comparer les préréglages
Débogage visuel plus difficile en CI seule

minify-svg FastMinify

Nettoyage rapide des espaces, sans restructuration SVGO profonde.

Avantages :
Rapide, sans option à choisir
Bien adapté après une édition manuelle du markup
Complément naturel avant ou après optimize
Inconvénients :
Pas de fusion de paths ni floatPrecision
Gain limité sur des exports Illustrator lourds

Minifier le SVG ou l'optimiser avec SVGO

Deux intentions différentes

Le minify rapide cible le bruit syntaxique (espaces, commentaires, attributs évidents). L'optimisation SVGO restructure le markup : simplification de paths, fusion de formes, nettoyage d'IDs, avec un impact visuel possible si vous poussez trop loin.

Minify : whitespace, commentaires, attributs redondants légers
Optimize (SVGO) : plugins de preset-default plus surcharges par préréglage
Safe : une passe, plugins agressifs désactivés
Default : multipass, équilibre taille / sécurité visuelle
Aggressive : floatPrecision 1, mergePaths et convertPathData activés
Le préréglage safe, sans surprise visuelle

Le préréglage safe exécute SVGO en une seule passe (multipass: false) et désactive les transformations structurelles : pas de fusion de paths, pas de conversion forme vers path, pas de nettoyage d'IDs, pas de suppression d'éléments cachés. Il convient aux logos clients, aux illustrations avec calques nommés et aux SVG animés.

removeViewBox, removeTitle et removeDesc désactivés : viewBox, title et desc restent
convertPathData, mergePaths, convertShapeToPath : désactivés
cleanupIds et removeHiddenElems : désactivés
Un gain modeste, mais prévisible : 10 à 25 % à titre indicatif
Premier essai sur un SVG inconnu ou critique
Le préréglage default, l'équilibre pour la production

Le préréglage default active multipass: true et laisse SVGO appliquer preset-default avec les garde-fous viewBox, title et desc. C'est le choix quotidien pour les icônes d'interface, les pictogrammes et les assets marketing après une revue visuelle.

Multipass : plusieurs passes SVGO pour maximiser la compression
viewBox, title et desc toujours préservés
Plugins preset-default standards (métadonnées, précision…)
Gain indicatif de 25 à 50 %, selon la verbosité de l'export
Un bon réglage par défaut avant de passer à aggressive
Le préréglage aggressive, pour la taille minimale

Le préréglage aggressive ajoute floatPrecision: 1, force mergePaths et renforce convertPathData. La taille chute souvent davantage, mais des détails fins (courbes, coins) peuvent légèrement bouger. Réservez-le aux icônes simples, aux sprites ou aux SVG sans animation ni dépendance à des IDs dans le CSS ou le JS.

floatPrecision 1 : arrondi agressif des coordonnées
mergePaths force : fusion de chemins compatibles
FastMinify conserve toujours viewBox, title et desc
Gain indicatif de 40 à 70 % sur des exports Illustrator lourds
Toujours comparer visuellement avant la mise en production

Utiliser l'optimiseur SVGO FastMinify

Un parcours en trois étapes

Collez votre SVG, choisissez le préréglage dans le panneau d'options, lancez Optimiser, puis comparez la sortie et les statistiques. L'outil optimize SVG en ligne tourne entièrement dans le navigateur, et rien n'est envoyé à un serveur.

Coller ou charger un fichier SVG (limite taille affichée dans l'outil)
Sélectionner safe, default ou aggressive
Lire les octets avant et après et le pourcentage économisé
Copier le résultat ou revenir au minify rapide si besoin
Enchaîner avec validate-svg pour l'accessibilité si l'icône est informative
Minify rapide en complément

Pour un nettoyage limité aux espaces, sans toucher aux paths, le minificateur SVG reste plus rapide. Enchaînez minify puis optimize avec default si vous voulez les deux passes.

Minify : bruit syntaxique uniquement
Optimize : restructuration SVGO selon preset
Beautify SVG pour relire le markup après optimize
SVG viewer pour un aperçu avant l'export
Hub SVG pour toute la famille d'outils (JSX, Data URI, resize…)
Après l'optimisation

Les icônes informatives devraient garder title et desc, et FastMinify les préserve sur les trois préréglages. Pour valider la structure d'accessibilité, utilisez validate SVG en ligne avant la livraison.

validate-svg : title/desc et structure de base
svg-to-jsx si le SVG part en composant React
minify-html si le SVG est inséré directement dans une page
L'article sur l'accessibilité SVG, pour valider title et desc
Retour au guide SVG général pour le contexte performance

Conclusion

Les préréglages SVGO traduisent un compromis entre taille et risque visuel. Commencez par safe sur les assets sensibles, adoptez default pour le flux quotidien et réservez aggressive aux icônes simples où chaque octet compte. FastMinify vous permet de comparer les trois modes localement avant de figer la configuration en CI.

Optimisez votre SVG maintenant

Tester safe avant default ou aggressive sur un SVG inconnu
Préservez viewBox, title et desc, ce que FastMinify garantit déjà
Comparer visuellement à plusieurs niveaux de zoom
Aligner le préréglage du navigateur avec svgo.config.js en CI
Lire le guide SVG général pour le contexte minify vs optimize
Partager cet article
Partager cet article: