oLoveTools

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.

Fichier Vectoriel SVGGlissez-déposez un fichier SVG ici, ou cliquez pour parcourir
Démos Prédéfinis

Comment ça marche

Trois étapes, et celle du milieu vous appartient.

  1. 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. 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. 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.

Fait partie de la suite oLoveTools
oLoveTools

Le vrai svgo, exécuté localement dans votre navigateur.

Un worker en arrière-plan, pas un serveur

svgo s’exécute dans un thread worker de votre navigateur : plusieurs passes sur une carte détaillée ne figent pas la page et peuvent être annulées en cours de route. Il n’y a ni envoi ni file d’attente, donc pas d’autre limite de taille que votre mémoire.

Chaque interrupteur, et ce qu’il coûte

Les 45 plugins sont exposés individuellement, regroupés selon ce qu’ils touchent et étiquetés par risque : sûr, redessine, ou change le comportement. La précision des coordonnées et celle des transformations sont deux curseurs distincts, car les rotations demandent plus de décimales que de simples coordonnées.

Local, et sûr à prévisualiser

Aucun fichier n’est envoyé où que ce soit. Par ailleurs, un SVG est un document plutôt qu’une image : ouvert sans précaution, il peut exécuter du script et récupérer des ressources distantes. Cet aperçu retire scripts, gestionnaires d’événements et références hors origine avant tout rendu : inspecter un fichier qu’on vous a envoyé ne présente donc pas de risque.

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.

© 2026 oLoveToolsÀ propos

Étape suivante

Créez un favicon à partir du SVG FaviconBolt

SVG Optimizer | Compresseur et Minifieur SVG Gratuit en Ligne

Optimisez, nettoyez et minifiez les fichiers vectoriels SVG 100% localement dans votre navigateur pour réduire la taille du fichier et améliorer les temps de chargement.

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.