À propos
Le vectoriseur sans assistant en quatre étapes
AnyToSVG transforme les images bitmap en SVG avec la même famille d’algorithmes que les services en ligne les plus connus, mais il les exécute dans votre navigateur, affiche le résultat avant que vous ne touchiez à un réglage, et ne vous demande jamais de vous connecter.
Pourquoi
Pourquoi je l’ai créé
Un mot du développeur d’AnyToSVG et d’IconEditor.org.
Je développe des logiciels depuis près de trente ans, et une part étonnante de ce temps est partie dans une tâche modeste et ennuyeuse : transformer le logo de quelqu’un en un format qui s’adapte à toutes les tailles. Un client envoie un PNG, l’imprimeur réclame un SVG, et le convertisseur en ligne que j’ouvre m’accueille avec une file d’attente d’envoi, un choix de modèle, trois palettes proposées, un panneau de qualité, un panneau de regroupement des couleurs et, une fois l’aperçu enfin correct, un formulaire de connexion et un compteur de crédits.
Le plus étrange, c’est que la vectorisation elle-même n’est ni lente ni secrète. L’algorithme de base, Potrace, est public depuis 2003 et vectorise une image de la taille d’un logo en quelques millisecondes. Si l’assistant en quatre étapes existe, ce n’est pas parce que les mathématiques l’exigent : c’est parce que l’image doit voyager jusqu’à un serveur, y être traitée, et que le résultat doit être comptabilisé.
Les navigateurs modernes ont changé la donne. Potrace se compile en WebAssembly et s’exécute à vitesse native sur votre propre machine, et l’analyse des couleurs qui l’entoure est du simple JavaScript. AnyToSVG fait donc tout le travail en local : dès qu’une image est déposée, elle est analysée, des réglages pertinents sont choisis, chaque couleur est vectorisée et le SVG apparaît à côté de l’original. Rien n’est envoyé, rien n’est compté, et chaque curseur relance la vectorisation instantanément, faute d’aller-retour réseau.
C’est la même philosophie qu’IconEditor.org, mon éditeur d’icônes Windows : prendre une tâche que l’on accomplit sans cesse, garder ce qui est vraiment bon, et supprimer tout ce qui n’existe que pour justifier un abonnement.

Fonctionnement
Ce qui se passe quand vous déposez une image
1 · Analyse
Un histogramme des couleurs détermine s’il s’agit d’un aplat graphique, d’un dessin au trait ou d’une image de type photo, combien de couleurs distinctes elle contient réellement, et où placer le seuil du noir et blanc (méthode d’Otsu).
2 · Dégradés, puis couleurs
Les zones dont la couleur varie en douceur reçoivent un modèle linéaire ou radial et deviennent une seule forme avec un vrai dégradé SVG. Les pixels restants sont quantifiés : les couleurs dominantes forment la palette, les petites zones bien distinctes sont ajoutées ensuite, et les halos d’anticrénelage entre les zones sont nettoyés.
3 · Couches
Les remplissages sont empilés de la plus grande surface à la plus petite, et chaque forme déborde d’un pixel sous ses voisines du dessus : pas de ligne claire entre formes adjacentes, une version allégée de l’astuce que les services commerciaux appellent « chevauchement ». Les taches plus petites que la taille réglée dans « Supprimer les petites taches » sont fusionnées avec la forme qui les entoure au lieu d’être supprimées.
4 · Vectorisation
Chaque couche est un masque noir et blanc que Potrace (compilé en WebAssembly) transforme en courbes de Bézier lisses. Le lissage, la suppression des taches et l’optimisation des courbes sont les paramètres standard de Potrace, présentés sous forme de deux curseurs et d’un préréglage.
5 · Assemblage du SVG
Les coordonnées de Potrace sont reconverties dans la grille de pixels d’origine, avec un <path> par remplissage (une couleur unie ou un <linearGradient> / <radialGradient> dans <defs>) et rien d’autre : ni transformations, ni groupes, ni métadonnées. Les couleurs masquées et le fond extérieur sont tout simplement omis.
6 · Rien ne quitte le navigateur
Tout ce qui précède s’exécute dans un Web Worker sur votre machine. Seule exception : un format que votre navigateur ne sait pas ouvrir (TIFF, PSD, HEIC, PDF). Ce fichier est converti en PNG sur notre serveur, en mémoire, puis supprimé immédiatement.


Volontairement léger
Crédits et limites
Le moteur de vectorisation est Potrace, de Peter Selinger, utilisé sous licence GPL via la version esm-potrace-wasm ; sa licence est fournie avec le script. L’analyse des couleurs, la gestion des couches et l’assemblage du SVG sont du JavaScript propre à AnyToSVG, servi non minifié. Aucun script, police ni traceur tiers n’est chargé depuis d’autres domaines.
Limites, en toute honnêteté : les images sont vectorisées jusqu’à 2 048 pixels sur le plus grand côté, donc un scan de 6 000 pixels est d’abord réduit. Les photographies ressortent posterisées, c’est le propre de la vectorisation. Les ombrages progressifs sont détectés et écrits sous forme de vrais dégradés SVG (linéaires ou radiaux), mais un ombrage qui épouse une forme complexe est encore réduit à quelques aplats. La vectorisation de ligne médiane (traits uniques pour traceurs à plume) n’est pas prise en charge : les formes sont toujours des contours remplis.
En un coup d’œil
L’essentiel
- Prix
- Gratuit
- Compte
- Non requis
- Entrée
- PNG · JPG · GIF · WebP · BMP · SVG · TIFF · PSD · HEIC · PDF
- Sortie
- SVG · PNG (1× / 2× / 4×) · presse-papiers
- Couleurs
- 2 à 32, ou noir et blanc
- Taille max.
- 20 Mo · vectorisé à ≤ 2 048 px
- Stockage
- Aucun sur le serveur
Une question, un bug, une idée ?
Écrivez à [email protected], ou déposez simplement une image dans le convertisseur pour juger par vous-même.