Formateur YAML

Formatez, validez et convertissez des documents YAML avec coloration syntaxique et détection d'erreurs

Fonctionne localement

Entrée YAML

Sortie formatée

Inspecteur

Collez du YAML valide — la structure, l'arborescence et les chemins de clés apparaissent ici automatiquement

Options avancées

Comparer avec un autre YAML

Envoyez ce document vers Data Diff et collez une seconde version pour voir ce qui a changé.

Validation avec la position exacte de l'erreur

La validation s'exécute à chaque frappe avec le parseur js-yaml 1.2. Les documents valides affichent en direct le nombre de documents, de mappings, de séquences, de clés et la profondeur. Les documents défectueux indiquent la ligne et la colonne exactes, une cause probable et surlignent la position en erreur — pas seulement "erreur de syntaxe".

Erreurs YAML courantes que cet outil localise précisément

Ces erreurs représentent la majorité des YAML invalides. Chacune est détectée avec une position et une cause probable :

Mauvaise indentation

Une ligne enfant indentée moins que son parent, ou des lignes sœurs non alignées. Généralement signalée par "bad indentation of a mapping entry" à la ligne exacte.

Caractère TAB

YAML interdit les tabulations dans l'indentation. Le parseur signale "found a tab character that violates indentation" et surligne la ligne fautive.

Clé dupliquée

La même clé deux fois dans un même mapping. js-yaml signale "duplicated mapping key" avec la ligne de la seconde occurrence.

Deux-points ou espace manquant

Une clé sans valeur ("key key2") ou des deux-points collés à la clé ("key:value" est une chaîne simple, pas une paire). Signalé par "could not find expected ':'".

Avant / Après

Manifeste Kubernetes minifié à gauche, le même document formaté avec une indentation de 2 espaces à droite. La structure, l'arbre et les chemins se mettent à jour à partir du document analysé.

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

Aide-mémoire YAML (YAML 1.2)

  • L'indentation définit la structure : des espaces uniquement — les caractères TAB ne sont jamais autorisés pour l'indentation.
  • Un deux-points doit être suivi d'un espace pour servir de séparateur de clé : "key: value", pas "key:value".
  • Les scalaires sont résolus en types selon le schéma core : true/false (booléens), entiers, flottants, null (~ / null / vide). Notez que "yes"/"no" sont de simples chaînes en 1.2.
  • Plusieurs documents dans un même fichier sont séparés par une ligne "---" ; "..." termine un document.
  • Les ancres (&base) et les alias (*base) évitent les répétitions (DRY) ; les clés de fusion ("<<: *base") héritent des mappings.

Étapes suivantes avec ces données

Le formatage est la première étape. Poursuivez le workflow sans quitter votre navigateur :

Questions fréquentes

Réponses aux questions courantes sur le formatage Yaml Formatter

Le formateur suit la spécification YAML 1.2, garantissant la compatibilité avec les outils modernes comme Kubernetes, Docker Compose, GitHub Actions et les autres plateformes cloud natives.

Oui, la fonctionnalité de conversion bidirectionnelle permet de convertir du YAML en JSON et du JSON en YAML tout en préservant les types de données, les structures imbriquées et, le cas échéant, les commentaires.

Absolument. Le formateur est conçu pour gérer les manifestes Kubernetes, les fichiers Docker Compose, les pipelines CI/CD et les autres fichiers YAML multi-documents avec une séparation correcte des sections.

Le validateur vérifie la cohérence de l'indentation, la bonne utilisation des deux-points et des tirets, l'équilibre des guillemets des chaînes de caractères, les références d'ancres et d'alias, et fournit des messages d'erreur précisant la ligne pour un débogage rapide.

Oui, le formateur gère correctement les ancres YAML (&), les alias (*) et les clés de fusion (<<), en préservant ces mécanismes DRY tout en formatant la structure environnante.

YAML 1.2, la spécification actuelle de yaml.org - la version ciblée par les documents Kubernetes, docker-compose et GitHub Actions. YAML 1.2 a fait du JSON un sous-ensemble valide et a durci l'analyse des booléens ; le formateur conserve un guillemetage explicite là où les analyseurs 1.1 (encore courants dans Python PyYAML) interpréteraient mal des valeurs comme "no" ou "0777".

Les ancres, les alias et les scalaires bloc YAML préservent les commentaires tels quels, mais un commentaire attaché à une clé qui est réindentée se déplace avec son niveau d'indentation. Le formateur ne supprime jamais les commentaires - il les déplace de manière minimale pour rester attaché au nœud qu'ils documentent.

Il le signale : les valeurs isolées NO, no, ON, on, yes et n sont automatiquement mises entre guillemets lors du formatage, de sorte que les analyseurs YAML 1.1 ne peuvent pas les convertir en booléens. La liste de codes pays [NO, SE, DK] reste composée de trois chaînes. YAML 1.2 ne considère que true/false comme booléens, mais la mise entre guillemets est la seule sortie sûre pour les deux versions.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Outils Connexes