Formateur YAML

Formatez du YAML avec une indentation cohérente, ou convertissez-le en JSON. Détecte les tabulations mélangées et les incohérences d'indentation.

Astuces

  • Cet outil utilise un analyseur léger développé en interne, prenant en charge les paires clé: valeur, l'imbrication, les listes et la syntaxe en ligne [a, b, c] / {a: 1}.
  • Même si vous collez du YAML avec une indentation incohérente (3 ou 5 espaces, par exemple), il sera réécrit avec une indentation uniforme de 2 ou 4 espaces, tant que l'analyse réussit.
  • En mode "Convertir en JSON", vous pouvez prévisualiser votre YAML converti directement en JSON — pratique pour le comparer à une configuration CI ou à une réponse d'API.
  • En cas d'erreur, le numéro de ligne s'affiche : vérifiez cette ligne pour un problème d'indentation ou un espace manquant après les deux-points.
  • YAML interdit l'indentation par tabulations. Activer "convertir les tabulations en espaces" dans les réglages de votre éditeur permet d'éviter complètement ce piège.

Questions fréquentes

YAML convient bien aux fichiers de configuration édités et relus à la main par des humains (configurations CI, manifestes Kubernetes, etc.), car il permet les commentaires et se lit plus naturellement. JSON convient mieux à la communication entre programmes, comme les réponses d'API, car il est moins ambigu et s'analyse plus rapidement.

La spécification YAML interdit l'utilisation de tabulations pour l'indentation. La plupart des analyseurs traiteront cela comme une erreur de syntaxe et arrêteront le traitement. Le plus sûr est de configurer votre éditeur pour convertir automatiquement les tabulations en espaces.

Non. Cet outil cible le "sous-ensemble courant" habituellement utilisé dans Docker Compose, GitHub Actions et fichiers similaires (mappings, listes, collections en ligne et types scalaires de base), et ne prend pas en charge les fonctionnalités avancées comme les ancres, les alias, les documents multiples ou les scalaires de bloc (|/>).

C'est un piège bien connu : écrire no, yes, on ou off sans guillemets est interprété comme un booléen par de nombreuses implémentations YAML, plutôt que comme une simple chaîne de caractères (comme le code pays de la Norvège). Pour que ce soit traité comme une chaîne, entourez-le de guillemets, par exemple "no".
ツールくん

Anecdote — Pourquoi YAML est devenu le format de configuration de référence

YAML (YAML Ain't Markup Language) est un format de sérialisation de données apparu en 2001. Comme il ne nécessite pas de balises de fermeture et paraît bien plus simple que XML, il est devenu le choix standard pour les fichiers de configuration d'infrastructure depuis les années 2010 : Docker Compose, GitHub Actions et les manifestes Kubernetes l'utilisent tous.

Cela dit, le principe de YAML consistant à "structurer par l'indentation" est facile à lire pour un humain, mais aussi fragile : l'indentation se casse facilement lors d'un copier-coller. En particulier, mélanger tabulations et espaces peut amener de nombreux analyseurs à produire silencieusement une structure incorrecte sans générer d'erreur, ce qui en fait une source fréquente d'erreurs de configuration involontaires.

Il existe aussi un piège bien connu appelé le "problème norvégien". Écrire le code pays no sans guillemets est interprété comme le booléen false par de nombreuses implémentations YAML. Les différences entre YAML 1.1 et 1.2 quant aux chaînes considérées comme des booléens sont également une source fréquente de problèmes de compatibilité entre implémentations.

→ Voir toutes les anecdotes