Transforme pyproject.toml, Cargo.toml ou une config Hugo en YAML, pour une documentation, des variables Ansible ou une lecture rapide. [tool.poetry] devient des maps imbriquées tool: poetry:, les tables [[bin]] une liste, et les dates TOML sortent en horodatages ISO 8601.
Mode d’emploi
- Collez des données, déposez un fichier ou ouvrez-en un. Le format d’entrée est détecté automatiquement, ou choisissez-le dans « De ».
- Choisissez le format de sortie dans « Vers ». Le résultat se met à jour pendant la saisie.
- Les erreurs indiquent la ligne et la colonne exactes avec un repère ; touchez l’erreur pour y aller.
- Passez en vue Arbre pour explorer les données. Copiez ou téléchargez le résultat, ou inversez pour reconvertir.
- Les attributs XML deviennent des clés commençant par @ et le texte de l’élément va dans #text ; la même convention sert à écrire du XML.
- La sortie CSV aplatit les objets imbriqués en colonnes à points (address.city). Le téléchargement inclut un BOM pour qu’Excel lise bien l’UTF-8.
- TOML n’a pas de null et exige une table à la racine : les null sont omis et les listes placées dans « items ».
- Désactivez « Nombres et booléens » pour garder en texte toutes les valeurs CSV, XML, INI, .env ou query string.
- Tout se passe dans votre navigateur ; rien n’est envoyé.
Comment les formats se correspondent
JSON, YAML et TOML partagent le même modèle de données : objets, tableaux, chaînes, nombres et booléens. La conversion entre eux ne perd rien, à deux exceptions près : TOML n’a pas de null, et un document TOML doit être une table au premier niveau. Ici, les null sont omis et une liste racine est placée sous une clé items. YAML 1.2 est un sur-ensemble de JSON : tout JSON valide est déjà du YAML valide.
XML est un arbre d’éléments, pas des paires clé-valeur. Les attributs deviennent des clés préfixées par @ (id="7" donne "@id": "7"), le texte de l’élément va dans #text et les enfants répétés deviennent des tableaux. La même convention s’applique en sens inverse pour écrire du XML.
Formats plats : CSV, INI, .env, query strings
Le CSV est une table : les objets imbriqués sont aplatis en colonnes à notation pointée comme address.city, et chaque élément du tableau devient une ligne. Les sections INI deviennent des objets, les fichiers .env un objet plat de paires clé-valeur (export, guillemets et commentaires compris) et une query string comme ?tag=a&tag=b&filter[brand]=x donne {"tag": ["a", "b"], "filter": {"brand": "x"}}.
Types et pièges courants
CSV, XML, INI, .env et query strings n’ont pas de types : tout est texte. Par défaut, 42, 3.5 et true deviennent des nombres et des booléens ; désactivez l’option pour garder en texte des codes postaux comme 01000 ou des identifiants. En YAML, l’indentation compte et les tabulations sont interdites. Les analyseurs YAML 1.1 comme PyYAML lisent yes, no, on et off sans guillemets comme des booléens : mettez entre guillemets des valeurs comme le code pays NO.
Questions fréquentes
Comment convertir du JSON en YAML ?
Collez le JSON ou déposez un fichier .json, puis choisissez YAML dans Vers. Les objets deviennent des blocs clé: valeur indentés et les tableaux des listes à tirets. Copiez le résultat ou téléchargez un .yaml.
Tout JSON valide est-il aussi du YAML valide ?
Oui, pour YAML 1.2, conçu comme sur-ensemble de JSON. Convertir reste utile, car le YAML en blocs est plus lisible et accepte les commentaires.
Que deviennent les attributs XML en JSON ?
Ils deviennent des clés préfixées par @ : <item id="7">Pen</item> donne {"item": {"@id": "7", "#text": "Pen"}}. Les éléments répétés de même nom forment un tableau.
Comment les objets JSON imbriqués passent-ils en CSV ?
Ils sont aplatis en colonnes à notation pointée, par exemple address.city et address.zip. Un tableau d’objets produit une ligne par objet, prête pour Excel.
Pourquoi null disparaît-il de ma sortie TOML ?
TOML n’a pas de valeur null. Les clés valant null sont omises : vérifiez que votre application traite une clé absente de la même façon.
Mes données sont-elles envoyées ?
Non. L’analyse et la conversion se font localement dans votre navigateur ; les fichiers de configuration contenant mots de passe ou clés d’API ne quittent pas votre appareil.