iGotTools

Convertir YAML, JSON, TOML et XML

Déplacez des données entre JSON, YAML, TOML et XML localement. Choisissez les formats source et cible, consultez le résumé et les avertissements, puis copiez ou téléchargez la sortie convertie.

Les fichiers de configuration arrivent en quatre formes courantes — JSON, YAML, TOML et XML — et ils restent rarement dans celui où vous avez commencé. Un manifeste Kubernetes arrive en YAML, un projet Rust livre du TOML, une API renvoie du JSON, et un système ancien parle encore XML. Ouvrez le Convertisseur de format de données pour passer de l’un à l’autre sans envoyer un seul octet.

TL;DR

Choisir la source et la cible, coller vos données, convertir, copier.

  • N’importe lequel vers n’importe lequel — convertissez JSON, YAML, TOML et XML entre eux, tout dans votre navigateur.
  • Avertissements de perte à l’avance — quand les attributs XML ou le texte mixte ne reviennent pas exactement, le panneau Avertissements vous le dit avant que vous ne fassiez confiance à la sortie.
  • Copier ou télécharger — récupérer le résultat dans le presse-papiers ou l’enregistrer avec l’extension du format cible, localement.

Pourquoi la conversion de format compte

Ces formats décrivent tous la même chose — des données structurées avec des clés et des valeurs — mais ils ont été construits pour des objectifs différents, et chaque écosystème garde celui qui convient le mieux. La friction apparaît dès que les données traversent une frontière : un pipeline CI lit du YAML mais l’outil qu’il appelle veut du JSON ; la configuration TOML d’un projet Python doit être modifiée par un script qui parle JSON ; une API renvoie du JSON mais le service qui la consomme attend du XML.

La vérité honnête est que les formats ne sont pas parfaitement interchangeables (plus là-dessus dans la section limites), mais pour la grande majorité des fichiers de configuration — des paramètres plats ou peu imbriqués, des listes et des scalaires typés — une conversion propre est exactement ce qu’il vous faut. Le rôle de l’outil est de rendre cette conversion rapide, transparente, et de vous prévenir quand elle n’est pas sans perte.

Les quatre formats

Chaque format a sa personnalité, et savoir quand chacun est utilisé vous aide à choisir la bonne cible :

  • JSON — strict, omniprésent, le défaut pour les API et package.json. Exige des chaînes entre guillemets doubles, pas de virgules en fin, pas de commentaires. Tous les analyseurs sont d’accord dessus.
  • YAML — convivial pour l’humain, piloté par l’indentation. Alimente Kubernetes, les configs CI et tout ce que les gens éditent à la main. Les espaces sont significatifs, ce qui est à la fois sa force et son piège.
  • TOML — typé, basé sur des tables, conçu pour les fichiers de configuration. Le choix pour le Cargo.toml de Rust, le pyproject.toml de Python et des outils similaires. Plus clair que INI, plus strict que YAML.
  • XML — verbeux, lourd en attributs et en espaces de noms. Le format ancien qui refait surface dans les systèmes d’entreprise, les API SOAP et les anciens dépôts de documents.

Étape par étape : convertir entre formats

Le Convertisseur de format de données s’exécute entièrement dans votre navigateur. Voici le déroulement :

  1. Choisissez le Format source et le Format cible. Deux listes déroulantes séparées sélectionnent depuis quoi et vers quoi vous convertissez. Utilisez Inverser pour les retourner instantanément — pratique quand vous venez de faire du JSON vers YAML et qu’il vous faut maintenant l’inverse.
  2. Collez votre entrée dans la zone source. Si vous n’êtes pas sûr du format, l’outil peut en suggérer un — un indice « Detecte comme » apparaît à côté de la source selon ce que vous avez collé.
  3. Réglez les options. Trois contrôles façonnent la sortie :
    • Indentation (0–8) — le nombre d’espaces d’indentation du résultat (ignoré en minifiant JSON).
    • Minifier JSON — supprime tous les espaces quand la cible est JSON, pour le plus petit payload possible.
    • Prefixe attribut XML — la chaîne ajoutée devant les clés qui représentent des attributs XML (@ par défaut, 4 caractères maximum).
  4. Cliquez sur Convertir. Le résultat apparaît dans la zone de sortie, avec un Resume (de format à format avec le nombre d’éléments de niveau supérieur) et un panneau Avertissements signalant tout ce qui est avec perte.
  5. Copiez ou téléchargez. Utilisez Copier le resultat pour le presse-papiers, ou Telecharger pour enregistrer un fichier dont l’extension correspond au format cible. Utilisez Effacer pour réinitialiser.

Conversions avec perte et avertissements

Certaines conversions ne peuvent pas être parfaites, et l’outil est franc là-dessus. Le panneau Avertissements liste chaque cas pour que vous sachiez exactement où regarder :

  • Attributs XML — les attributs comme <user id="7"> sont stockés sous une clé préfixée (@id par défaut). La conversion vers JSON ou YAML les préserve, mais le retour vers XML s’appuie sur le préfixe pour distinguer les attributs des éléments enfants, ce qui peut être avec perte dans les cas limites.
  • Texte XML mixte — quand un élément a à la fois du texte et des éléments enfants, le texte est stocké sous une clé #text. Cela revient de façon imparfaite, car la structure mixte d’origine n’est pas exprimable en JSON ni en YAML.
  • Noms XML — les noms d’éléments et d’attributs sont normalisés en noms XML valides, donc les caractères inhabituels dans les clés sont remplacés.
  • Imbrication TOML — les objets profondément imbriqués sont aplanis pour la sortie TOML et peuvent nécessiter une révision manuelle.

Quand le panneau Avertissements est vide, la conversion revient proprement. Quand il ne l’est pas, lisez chaque avertissement et décidez si les parties touchées comptent pour vous. Pour des fichiers de configuration plats, vous ne verrez généralement aucun avertissement.

Limites et honnêteté

Quelques contraintes honnêtes pour que vous sachiez exactement ce que vous obtenez :

  • Les analyseurs YAML et TOML sont des sous-ensembles écrits à la main. Ils gèrent les cas courants — correspondances imbriquées, listes, scalaires, chaînes entre guillemets, nombres, booléens, null — mais ce ne sont pas des bibliothèques complètes de la spec YAML ou TOML. Les structures complexes ou marginales (ancres et alias en YAML, chaînes multilignes, tableaux de tables en TOML, dates et heures) peuvent ne pas s’analyser ni se sérialiser exactement comme le ferait une bibliothèque dédiée.
  • JSON et XML sont robustes. JSON passe par JSON.parse, donc tout JSON valide s’analyse exactement. XML utilise un analyseur dédié qui gère les attributs, l’imbrication et les entités.
  • Les allers-retours ne sont pas garantis. Comme les cas avec perte ci-dessus (attributs XML, texte mixte, imbrication TOML) ne peuvent pas toujours s’exprimer dans le format cible, convertir A → B → A peut ne pas reproduire A exactement. Conservez votre original.

Questions fréquentes

La conversion est-elle sans perte ?

Pour des fichiers de configuration plats et peu imbriqués, oui — vous verrez généralement un panneau Avertissements vide. Pour des données qui utilisent des attributs XML, du texte XML mixte ou une imbrication TOML profonde, la conversion peut être avec perte, et le panneau Avertissements signale chaque partie touchée. Traitez les avertissements comme votre signal pour revoir cette section.

Peut-il convertir du YAML en JSON ?

Oui. Réglez le Format source sur YAML et le Format cible sur JSON (ou utilisez la suggestion détectée), collez votre YAML et cliquez sur Convertir. La sortie est du JSON valide, avec l’indentation contrôlée par l’option Indentation et une minification facultative.

Pourquoi mon XML revient-il différemment ?

Deux raisons. Les attributs XML sont associés à des clés préfixées (comme @id), donc les distinguer des éléments enfants au retour dépend de ce préfixe. Et le contenu mixte — un élément avec à la fois du texte et des enfants — est stocké sous #text, qui ne se retranscrit pas proprement en XML mixte. Le panneau Avertissements signale les deux cas. Si la fidélité de l’aller-retour compte, conservez l’original XML.

Supporte-t-il les commentaires en JSON ?

Non. JSON n’a pas de commentaires dans sa spec, et l’analyseur les traite comme une entrée invalide. Si votre entrée contient des commentaires, retirez-les avant de convertir, ou utilisez un format qui les supporte (YAML et TOML le font tous les deux).

iGotTools

Commencer avec cet outil

Commencer