Convertisseur JSON vers YAML
Collez du JSON à gauche, obtenez du YAML 1.2 propre à droite. Tout dans votre navigateur — sans upload.
- Collez du JSON dans la zone de texte de gauche.
- Cliquez sur « Convertir en YAML ». La sortie YAML apparaît à droite.
- Copiez le résultat ou cliquez sur Télécharger pour sauvegarder comme data.yaml.
- Si le JSON est invalide, le message d'erreur indique la position fautive.
Que fait-il ?
Convertit JSON en YAML 1.2 équivalent. Les objets deviennent des mappings, les tableaux des séquences, et nombres/booléens/null/chaînes conservent leur type. La sortie utilise par défaut une indentation de 2 espaces et une largeur de ligne de 100 colonnes. Un aller-retour JSON → YAML → JSON donne des données sémantiquement identiques, même si les commentaires et nuances d'ordre sont des limitations côté JSON à connaître.
Exemple
Entrée JSON :
{"name":"Ada","tags":["math","logic"],"active":true} Sortie YAML :
name: Ada
tags:
- math
- logic
active: true Erreurs JSON courantes et comment les corriger
Le JSON doit être valide avant que cet outil puisse le convertir en YAML. Le parser indique la ligne et la colonne de toute erreur — ces motifs expliquent presque toutes les erreurs « JSON invalide ».
- Virgule finale. `{"a": 1, "b": 2,}` est invalide. JSON n'autorise pas de virgule après le dernier élément d'un objet ou tableau.
- Apostrophes simples. `{'a': 1}` est invalide. Les chaînes et clés JSON doivent utiliser des guillemets doubles.
- Clés sans guillemets. `{a: 1}` est invalide — les littéraux d'objet JavaScript le permettent, JSON non. Encadrez la clé de guillemets doubles.
- Commentaires. Les commentaires // ou /* */ ne sont pas autorisés en JSON strict. Retirez-les avant conversion, ou utilisez la sortie YAML (qui supporte les commentaires #) et collez à la main.
- Guillemets typographiques. Copier-coller depuis un traitement de texte remplace parfois " par des guillemets courbes — JSON les rejette. Retapez ou passez par un éditeur de texte brut.
- NaN / Infinity. JSON n'a pas de représentation pour NaN, Infinity, ou -Infinity. Si vos données les contiennent, choisissez : sérialiser en null (perd l'information) ou en chaîne « NaN » (préserve l'intention mais change le type).
Questions fréquentes
Pourquoi ma sortie YAML n'a-t-elle pas de commentaires ?
JSON n'a pas de syntaxe de commentaires, donc rien à transférer. Pour du YAML commenté, éditez à la main après conversion. Certaines équipes encodent les commentaires en champ `_comment` dans JSON, mais ils deviennent des clés normales en YAML — pas de vrais commentaires.
L'ordre de mes clés sera-t-il préservé ?
Oui. L'ordre des clés d'objet JSON est préservé comme ordre de mapping YAML — comme JSON.parse + JSON.stringify dans les navigateurs modernes, qui conservent l'ordre d'insertion. Pour un tri alphabétique, triez d'abord le JSON.
Comment les structures profondément imbriquées sont-elles formatées ?
La sortie YAML utilise une indentation de 2 espaces par niveau, avec les séquences en style bloc (un élément par ligne, préfixé par `-`). Les objets et tableaux vides sont rendus respectivement `{}` et `[]` — style flow, car le style bloc serait ambigu pour vide.
Cela supporte-t-il les données binaires ?
JSON n'a pas de type binaire natif, donc le binaire est généralement déjà encodé en chaîne base64 dans l'entrée. La sortie YAML préserve cette chaîne. Si vous avez vraiment besoin du format binaire YAML (`!!binary`), la conversion ne le produit pas — gardez l'approche chaîne base64.
Est-ce sûr pour du JSON sensible comme des clés d'API ?
Oui. Tout s'exécute dans votre navigateur. Votre entrée est parsée et convertie par JavaScript sur cette page ; aucun serveur n'est contacté. Vérifiez dans les outils développeur — zéro requête réseau au clic sur Convertir.
Puis-je faire un aller-retour JSON → YAML → JSON ?
Pour les données, oui — la sémantique est préservée. Pour un texte exactement octet-équivalent, non — les espaces et le guillemetage se normalisent. Si vous voulez une forme canonique stable, exécutez JSON.stringify avec clés triées avant de coller.