En quoi consiste cet outil ?
YAML est le format de prédilection pour la plupart des fichiers de configuration modernes — manifestes Kubernetes, Docker Compose, pipelines GitHub Actions et GitLab CI, playbooks Ansible — car il est plus lisible que JSON pour les personnes qui éditent des fichiers à la main : pas de guillemets requis autour de la plupart des clés, pas de virgules finales à surveiller, et prise en charge des commentaires. JSON, de son côté, est ce que la plupart des API et langages de programmation produisent et consomment nativement.
Cet outil fait le pont entre les deux grâce à js-yaml, une implémentation JavaScript largement utilisée de la spécification YAML, de sorte que l'analyse et la génération suivent les mêmes règles qu'appliquerait un outil compatible YAML comme `kubectl` ou un exécuteur CI.
Convertir JSON en YAML transforme les objets en blocs indentés de type clé : valeur et les tableaux en éléments de liste précédés d'un `-`. Convertir YAML en JSON fait l'inverse, et résout également les raccourcis de type propres à YAML (comme `true`, `null` ou des nombres sans guillemets) vers leurs types JSON appropriés.
Pourquoi l'utiliser ?
- Bidirectionnel : convertissez JSON en YAML ou YAML en JSON depuis le même écran.
- Analyse et génération basées sur les standards via js-yaml, de sorte que le résultat correspond à ce qu'attendent les véritables outils YAML (Kubernetes, systèmes de CI, Ansible).
- Gère les objets et tableaux imbriqués à n'importe quelle profondeur, en convertissant entre la structure de YAML basée sur l'indentation et les accolades et crochets de JSON.
- Interprète correctement les raccourcis de type YAML : les valeurs true/false, null et numériques sans guillemets deviennent leurs types JSON appropriés plutôt que des chaînes.
- Copiez dans le presse-papiers ou téléchargez au format .json ou .yaml.
- 100 % côté client : rien de ce que vous collez n'est envoyé où que ce soit.
Mode d'emploi
- Choisissez un sens : « JSON → YAML » ou « YAML → JSON ».
- Collez vos données dans le champ de saisie.
- Cliquez sur « Convertir ».
- Vérifiez le résultat, puis copiez-le ou cliquez sur « Télécharger » pour enregistrer un fichier.
Exemple
Entrée
{"name":"Alice","roles":["admin","editor"],"active":true}Résultat
name: Alice
roles:
- admin
- editor
active: true
Remarquez comment le tableau devient une liste d'éléments précédés d'un tiret sous « roles », et le booléen reste true sans guillemets plutôt que de devenir la chaîne « true ».
Conseils pratiques
- Rédiger un manifeste Kubernetes ou un workflow GitHub Actions : ébauchez d'abord la structure en JSON (de nombreux éditeurs et outils d'IA génèrent du JSON de manière plus fiable), puis convertissez en YAML pour le fichier final.
- Déboguer une configuration YAML qui se comporte mal : convertissez-la en JSON pour voir précisément quelles valeurs sont des chaînes, des nombres ou des booléens — la syntaxe flexible de YAML peut masquer des incohérences de type qui sautent aux yeux en JSON.
- Si votre JSON contient des clés avec des caractères spéciaux ou commençant par un chiffre, js-yaml les mettra automatiquement entre guillemets dans la sortie YAML afin qu'elles puissent être correctement réanalysées.
Pourquoi la conversion de types est la partie la plus délicate de YAML
Le plus grand atout de YAML par rapport à JSON en termes d'ergonomie — ne pas exiger de guillemets autour de la plupart des valeurs — est aussi sa plus grande source de bugs subtils. L'exemple classique est le « problème de la Norvège » : en YAML 1.1 (utilisé par de nombreux analyseurs plus anciens), une valeur non entre guillemets `no` est interprétée comme le booléen `false`, et non comme la chaîne « no », ce qui a cassé de véritables configurations de codes pays répertoriant la Norvège. Cet outil suit la spécification YAML 1.2, qui a restreint l'ensemble des valeurs non entre guillemets traitées comme des booléens à seulement `true` et `false` (et leurs variantes de casse), réduisant — sans l'éliminer totalement — ce type de surprise. En cas de doute sur la façon dont une valeur sera typée, la mettre explicitement entre guillemets dans votre YAML reste le choix le plus sûr.
Foire aux questions
Les commentaires YAML sont-ils conservés lors d'une conversion vers JSON puis retour ?
Non. JSON n'a aucune notion de commentaires, donc convertir du YAML en JSON supprime tous les commentaires # de la source. Si vous reconvertissez ce JSON en YAML, les commentaires ne réapparaîtront pas — c'est une limitation inhérente au format, pas un bug de l'outil.
Comment l'outil gère-t-il les ancres et alias YAML (& et *) ?
L'analyseur sous-jacent (js-yaml) résout les ancres et alias avant de produire le JSON, donc un fichier YAML utilisant des ancres & et des alias * pour réutiliser un bloc de données sera converti en JSON avec ces données développées intégralement à chaque endroit où elles sont référencées.
Pourquoi mon nombre YAML est-il devenu une chaîne en JSON, ou inversement ?
Si une valeur est entre guillemets dans la source YAML (par exemple, version: "3.10"), elle est délibérément traitée comme une chaîne — cela importe car des nombres YAML sans guillemets comme 3.10 peuvent perdre le zéro final lorsqu'ils sont analysés comme un flottant. Mettez une valeur entre guillemets dans le YAML source si vous avez spécifiquement besoin qu'elle soit traitée comme du texte.
Puis-je convertir un fichier YAML contenant plusieurs documents (séparés par ---) ?
Cet outil convertit un seul document YAML à la fois. Si votre fichier contient plusieurs documents séparés par des marqueurs ---, convertissez une section à la fois, ou retirez les séparateurs et fusionnez-les en un seul document au préalable si cela convient à votre cas d'usage.
Mes données sont-elles envoyées quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur via la bibliothèque js-yaml — rien n'est envoyé à un serveur, ce qui rend son usage sûr pour de vrais fichiers de configuration, y compris ceux contenant des noms d'hôtes internes ou des détails d'infrastructure.