Convertisseur JSON vers YAML

Transformez du JSON en YAML propre et lisible pour Kubernetes, Docker Compose, GitHub Actions ou Ansible, avec un contrôle total sur l’indentation, le style et les guillemets.

Fonctionne dans le navigateurSans inscriptionAucun envoi de données

Sortie JSON

Comment utiliser : JSON vers YAML

  1. Collez du JSON dans la zone de gauche ou ouvrez un fichier .json.
  2. Le YAML apparaît à droite pendant la saisie.
  3. Choisissez l’indentation (2 ou 4 espaces) et le style : bloc (une clé par ligne) ou flow ({a: 1}/[x, y]) à partir d’un niveau d’imbrication donné.
  4. Choisissez un style de guillemets et cochez Trier les clés pour un ordre alphabétique.
  5. Copiez ou téléchargez le YAML. Un JSON invalide est signalé avec sa ligne, sa colonne et la cause probable.

Pourquoi convertir du JSON en YAML ?

Le JSON est idéal pour les machines et les API, mais le YAML est plus facile à lire et à modifier pour les humains : pas d’accolades, pas de guillemets obligatoires, et des commentaires possibles. La plupart des outils d’infrastructure, dont Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI et Ansible, se configurent en YAML, alors que les données de départ (sortie d’API, kubectl get -o json, état Terraform) sont souvent en JSON.

Style bloc ou flow

Le style bloc place chaque clé et chaque élément de liste sur sa propre ligne ; c’est le choix habituel pour les fichiers de configuration. Le style flow utilise des {} et [] inline, comme le JSON, et garde compactes les petites structures terminales. « Flow dès le niveau 2 » garde les deux premiers niveaux en style bloc et met en ligne tout ce qui est plus profond, ce qui convient bien aux longues listes de petits objets comme les ports ou les variables d’environnement.

Guillemets sûrs

Les chaînes qu’un parseur YAML pourrait mal interpréter sont automatiquement mises entre guillemets : des valeurs comme 'no', 'on', '1.0', 'null', les chaînes commençant par * ou &, et celles contenant : . Choisissez Toujours simples ou Toujours doubles si votre guide de style exige des guillemets partout.

Pièges entre YAML 1.1 et 1.2

Ce convertisseur suit YAML 1.2, la spécification actuelle. Beaucoup d’outils plus anciens (PyYAML, Psych de Ruby, certaines versions de Kubernetes et d’Ansible) lisent encore du YAML 1.1, où les règles diffèrent :

  • Le problème de la Norvège : en YAML 1.1, country: no signifie false, et le code pays de la Norvège NO disparaît. Il en va de même pour yes, on, off, y et n. YAML 1.2 ne considère comme booléens que true et false.
  • Nombres octaux : 0755 est octal en 1.1 mais décimal en 1.2, qui utilise 0o755. Mettez les permissions de fichiers entre guillemets par sécurité.
  • Nombres sexagésimaux : en 1.1, 22:30 peut être lu comme le nombre 1350. Mettez entre guillemets les heures et les mappings de ports comme "8080:80".

Dans le sens JSON → YAML, les chaînes ambiguës ('no', 'on', 'y') sont automatiquement mises entre guillemets : le YAML produit se lit donc de la même façon dans les deux versions.

Questions fréquentes

La conversion est-elle sans perte ?
Oui. Tout document JSON est du YAML 1.2 valide, et le YAML généré se relit exactement en les mêmes données. Vous pouvez le vérifier en cliquant sur Inverser.
Pourquoi certaines chaînes sont-elles entre guillemets et d’autres non ?
Avec Seulement si nécessaire, les guillemets ne sont ajoutés que là où une valeur sans guillemets changerait de sens, par exemple 'yes', '123' ou des chaînes avec des caractères spéciaux. Tout le reste est laissé tel quel pour la lisibilité.
Puis-je ajouter des commentaires au résultat ?
Le JSON n’a pas de commentaires, il n’y en a donc aucun à convertir, mais vous pouvez ajouter des # comments au YAML après l’avoir copié.
L’ordre des clés change-t-il ?
Non. Les clés gardent leur ordre JSON, sauf si vous cochez Trier les clés.
Mes données restent-elles privées ?
Oui. Le convertisseur s’exécute dans votre navigateur et n’effectue aucune requête réseau avec vos données.

Outils associés