
SVGO presets expliqués : optimiser un SVG sans casser le rendu
Safe, default ou aggressive ? Choisissez le bon preset SVGO et optimisez vos SVG pour la prod.
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 espaces et commentaires en un clic — utile pour un nettoyage rapide. L'optimiseur SVG (SVGO) va plus loin avec trois presets — 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.
Impact réel sur la taille
Sur une icône 24×24 avec métadonnées et paths sur-précis, les trois presets produisent des gains différents. Les chiffres exacts varient selon le fichier — l'outil affiche before/after bytes et pourcentage économisé.
Avant optimisation
Après optimisation
Un SVG déjà minifié manuellement ou passé plusieurs fois en SVGO peut converger : safe ≈ default ≈ aggressive. Dans ce cas, le minify whitespace suffit — pas besoin de repasser en aggressive.
Bonnes pratiques et pièges
SVGO aggressive peut casser des workflows downstream : animations SMIL/CSS keyed on IDs, scripts embarqués, filtres complexes ou `<use href="#id">`. Dans ces cas, restez sur safe ou optimisez manuellement.
En production, figez le preset 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.
Tableau comparatif des presets
Le bon preset dépend du type d'asset et de votre tolérance au risque visuel — pas du seul pourcentage affiché.
Preset
Quand l'utiliser
Montez en pression progressivement plutôt que de démarrer en aggressive.
Quand l'outil navigateur suffit
Pas besoin d'installer SVGO pour comparer trois presets sur un fichier reçu par email.
Limites : SVGO en CLI et en CI
L'outil en ligne est idéal pour explorer et valider un preset. Le batch sur des centaines de SVG, l'intégration pre-commit et la config plugins custom restent du ressort de SVGO npm ou de plugins bundler.
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.
SVGO CLI et écosystème
FastMinify expose trois presets opinionés. SVGO upstream offre une granularité plugin par plugin — utile quand vous avez des règles d'équipe très spécifiques.
svgo (npm CLI)
Référence SVGO en ligne de commande — même moteur que l'optimiseur navigateur FastMinify.
Avantages :
Inconvénients :
vite-plugin-svgo / bundler plugins
Optimisation à l'import — pratique pour les composants React/Vue.
Avantages :
Inconvénients :
minify-svg FastMinify
Nettoyage whitespace rapide sans restructuration SVGO profonde.
Avantages :
Inconvénients :
Minify SVG vs optimise SVGO
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.
Le preset <strong>safe</strong> exécute SVGO en une seule passe (<code>multipass: false</code>) et désactive les transformations structurelles : pas de fusion de paths, pas de conversion shape→path, pas de nettoyage d'IDs, pas de suppression d'éléments cachés. Idéal pour des logos clients, des illustrations avec calques nommés ou des SVG animés.
Le preset <strong>default</strong> active <code>multipass: true</code> et laisse SVGO appliquer preset-default avec les garde-fous viewBox/title/desc. C'est le choix quotidien pour des icônes UI, des pictogrammes et des assets marketing après revue visuelle.
Le preset <strong>aggressive</strong> ajoute <code>floatPrecision: 1</code>, force <code>mergePaths</code> et renforce <code>convertPathData</code>. 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 CSS/JS.
Utiliser l'optimiseur SVGO FastMinify
Collez votre SVG, choisissez le preset dans le panneau options, puis comparez la sortie et les stats. L'outil optimize SVG en ligne tourne entièrement dans le navigateur — rien n'est envoyé au serveur.
Pour un nettoyage whitespace-only sans toucher aux paths, le minificateur SVG reste plus rapide. Enchaînez minify puis optimize default si vous voulez les deux passes.
Des icônes informatives devraient garder title et desc — FastMinify les préserve sur les trois presets. Pour valider la structure a11y, utilisez validate SVG en ligne avant livraison.
Conclusion
Les presets SVGO traduisent un compromis taille / 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 config en CI.
Articles connexes

Convertissez vos icônes SVG en composants React/JSX, optimisez-les et intégrez-les dans votre design system.

Vérifiez la structure de vos `compose.yml` et `.env` avant de lancer `docker compose up` — sans installer d'outils.

Détectez les anti-patterns Docker (root user, cache layers, tags `latest`) et formatez vos Dockerfiles avant la CI.