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 et optimisez vos SVG pour la prod.

19.07.2026
10 min de lecture
Partager cet article:
SVG
svgo
Optimisation
presets
Web
Tutoriel

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.

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 upload — traitement 100 % local dans le navigateur

Impact réel sur la taille

Exemple : icône exportée depuis un éditeur vectoriel

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

Taille des fichiers :~4,2 Ko
Temps de chargement :

Après optimisation

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

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

Quand ne pas trop optimiser

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.

SVG avec animation ou `<script>` → safe uniquement
Sprites avec `<symbol id="…">` référencés → éviter aggressive
Illustrations hero détaillées → default + revue visuelle
Ne pas enchaîner optimize + re-export depuis l'éditeur sans retest
Garder le fichier design source (Figma/AI) comme vérité
Intégration build et CI

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.

Même preset en local, CI et outil en ligne → résultats cohérents
Commit du SVG optimisé, pas seulement du source lourd
Budget taille par asset dans la revue PR
Tests visuels snapshot pour les icônes critiques
Hub SVG pour prototyper le preset avant de l'écrire en config

Tableau comparatif des presets

Choisir le bon preset

Le bon preset dépend du type d'asset et de votre tolérance au risque visuel — pas du seul pourcentage affiché.

Preset

format:safe — une passe, plugins structurels off
validate:default — multipass, preset-default standard
minify:aggressive — floatPrecision 1 + 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
Versionner le SVG source — jamais écraser l'original

Quand l'outil navigateur suffit

Cas d'usage fréquents

Pas besoin d'installer SVGO pour comparer trois presets sur un fichier reçu par email.

Comparer safe vs default vs aggressive sur un export client
Décider du preset avant de l'ajouter au repo
Débloquer un ticket perf « SVG trop lourd » sans Node
Former un designer sur l'impact des exports
One-shot avant collage dans un CMS ou un email template

Limites : SVGO en CLI et en CI

Ce que le navigateur ne remplace pas

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.

Optimiser un dossier `icons/` entier en une commande
Config SVGO custom (plugins hors presets 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 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 :
Batch sur des répertoires entiers
Config JSON/YAML custom par 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 devs
Inconvénients :
Moins visible qu'un outil en ligne pour comparer les presets
Debug visuel plus difficile en CI seule

minify-svg FastMinify

Nettoyage whitespace rapide sans restructuration SVGO profonde.

Avantages :
Instantané, zéro option à choisir
Parfait après é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

Minify SVG vs optimise 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 preset-default + overrides par preset
Safe : une passe, plugins agressifs désactivés
Default : multipass, équilibre taille / sécurité visuelle
Aggressive : floatPrecision 1, mergePaths et convertPathData activés
Preset safe — zéro surprise visuelle

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.

removeViewBox, removeTitle, removeDesc : conservés
convertPathData, mergePaths, convertShapeToPath : off
cleanupIds et removeHiddenElems : off
Gain modeste mais prévisible — souvent 10–25 %
Premier essai sur un SVG inconnu ou critique
Preset default — équilibre production

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.

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 typique 25–50 % selon la verbosité de l'export
Bon défaut avant un passage en aggressive
Preset aggressive — taille minimale

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.

floatPrecision 1 : arrondi agressif des coordonnées
mergePaths force : fusion de chemins compatibles
viewBox/title/desc toujours conservés côté FastMinify
Gain possible 40–70 % sur des exports Illustrator lourds
Toujours comparer visuellement avant mise en prod

Utiliser l'optimiseur SVGO FastMinify

Workflow en trois étapes

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.

Coller ou charger un fichier SVG (limite taille affichée dans l'outil)
Sélectionner safe, default ou aggressive
Lire before/after bytes et % é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 whitespace-only sans toucher aux paths, le minificateur SVG reste plus rapide. Enchaînez minify puis optimize 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 preview avant export
Hub SVG pour tout le cluster (JSX, Data URI, resize…)
Après l'optimisation

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.

validate-svg : title/desc et structure de base
svg-to-jsx si le SVG part en composant React
minify-html si vous inlinez le SVG dans une page
Article SVG accessibilité (à venir sur le hub)
Retour au guide SVG général pour le contexte performance

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.

Optimisez votre SVG maintenant

Tester safe avant default ou aggressive sur un SVG inconnu
Préserver viewBox, title et desc — déjà garanti sur FastMinify
Comparer visuellement à plusieurs niveaux de zoom
Aligner le preset 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: