SVG Optimizer — le vrai svgo, dans votre navigateur
Réduisez vos fichiers SVG avec les 45 plugins de svgo, activez ou désactivez chacun d’eux vous-même, et voyez la taille gzippée réellement envoyée. Tout s’exécute dans un worker en arrière-plan sur votre machine : aucun envoi, aucune file d’attente, aucune inscription.
Comment ça marche
Trois étapes, et celle du milieu vous appartient.
- 1
Déposez le fichier
Glissez un .svg ou .svgz, collez le code, ou envoyez-en un depuis un autre outil. Rien ne s’exécute encore : le fichier attend.
- 2
Décidez ce qu’il fait
Choisissez un profil, ou ouvrez les réglages et paramétrez vous-même les 45 plugins. Chacun indique s’il peut modifier le rendu.
- 3
Emportez-le
Téléchargez-le, copiez-le en SVG, en composant React ou en data URI CSS, ou envoyez-le directement à l’outil suivant sans passer par votre dossier de téléchargements.
Ce qu’il fait
Le vrai svgo, les 45 plugins
Le moteur avec lequel toute l’industrie construit, exécuté dans votre navigateur au lieu de votre terminal. Le profil Équilibré correspond exactement à `npx svgo` : ce que vous voyez ici est ce que votre build produira.
Ouvre les fichiers que d’autres refusent
Les éditeurs exportent sans cesse du XML invalide : un préfixe inkscape: non déclaré, une esperluette isolée, une marque BOM. Les parseurs stricts refusent tout le document. Celui-ci répare le défaut, optimise le fichier et vous dit précisément ce qu’il a corrigé.
Une précision visible
Zoomez à 4000 %, déplacez-vous, et maintenez Alt pour revenir à l’original au même grossissement. Les dégâts de l’arrondi se voient comme une ondulation bien avant d’apparaître dans un pourcentage.
La taille réellement envoyée
Octets bruts et octets gzippés, côte à côte. Ils racontent deux histoires différentes : supprimer les espaces paraît spectaculaire en brut et ne change presque rien après compression, car gzip s’en chargeait déjà.
Rien ne quitte votre machine
L’optimiseur s’exécute dans un worker en arrière-plan de votre navigateur ; aucun fichier n’est envoyé. L’aperçu va plus loin et retire scripts, gestionnaires d’événements et références distantes : un SVG hostile ne peut ni exécuter de code ni appeler l’extérieur pendant que vous le regardez.
Directement vers l’outil suivant
Envoyez le fichier optimisé au générateur de favicons, au convertisseur de formats, au créateur de QR ou au compresseur, sans le télécharger puis le réenvoyer.
Foire Aux Questions
Mon SVG est-il envoyé quelque part ?
Non. svgo s’exécute dans un thread worker de votre navigateur et le fichier ne quitte jamais votre machine. L’aperçu va plus loin : scripts, gestionnaires d’événements et références à des fichiers distants sont retirés avant tout rendu, donc ouvrir un fichier qu’on vous a envoyé est sans danger.
Pourquoi mon fichier est-il rejeté ailleurs et accepté ici ?
Parce que les éditeurs exportent sans cesse du XML invalide. Le coupable habituel est un préfixe d’espace de noms utilisé sans être déclaré : un <g inkscape:groupmode="layer"> sans le xmlns:inkscape correspondant. Les parseurs stricts, svgo et votre navigateur compris, refusent tout le document. Cet outil répare cela (ainsi que les marques BOM, les esperluettes isolées et les sous-ensembles DOCTYPE) avant d’optimiser, et vous dit exactement ce qu’il a corrigé.
Jusqu’où puis-je baisser la précision ?
Cela dépend du dessin, et mieux vaut regarder que deviner. Une précision plus faible arrondit les coordonnées, et sur une illustration grande ou très détaillée cet arrondi devient visible comme une ondulation des courbes bien avant que le fichier ne rétrécisse vraiment. Zoomez et maintenez Alt pour basculer entre le résultat et l’original au même grossissement.
Pourquoi les pourcentages brut et gzippé diffèrent-ils autant ?
Parce qu’ils mesurent des choses différentes. Retirer les espaces et raccourcir les noms d’attributs paraît spectaculaire en octets bruts, mais gzip regroupait déjà ces répétitions : la taille compressée bouge à peine. Les changements de géométrie — convertPathData avant tout — réduisent les deux. Si votre serveur envoie des réponses compressées, ce que fait presque tout serveur, c’est le chiffre gzip qui compte.
Le résultat correspondra-t-il à svgo dans mon build ?
Avec le profil Équilibré, oui : c’est le preset-default de svgo lui-même, même ordre de plugins et mêmes valeurs par défaut. Dès que vous modifiez un interrupteur, vous vous en écartez, et l’étiquette Manuel vous le signale.
Que veut dire « change le comportement » sur certains plugins ?
Que le plugin ne se contente pas de réduire le fichier : il modifie ce que le fichier fait. removeViewBox empêche le SVG de s’adapter. removeDimensions le fait remplir son conteneur au lieu d’utiliser sa propre taille. removeTitle supprime le nom accessible annoncé par les lecteurs d’écran. Tous sont désactivés par défaut et le bouton Tout activer n’en allume aucun.