Formateur et validateur YAML
Collez du YAML, formatez avec une indentation de 2 espaces, ou validez la syntaxe. Mode strict YAML 1.2. Sans upload.
- Collez votre YAML dans la zone de texte de gauche.
- Cliquez sur Formater pour faire un aller-retour par le parser et émettre du YAML canonique.
- Cliquez sur Valider pour vérifier la syntaxe sans modifier l'entrée.
- Les erreurs indiquent la ligne et la colonne fautives.
Que fait-il ?
Parse votre YAML avec js-yaml en mode strict YAML 1.2 et le ré-émet avec une indentation de 2 espaces, une largeur de ligne de 100 colonnes et un guillemetage cohérent. Le bouton Valider vérifie la syntaxe et signale la première erreur sans modifier l'entrée. La sortie est sémantiquement équivalente à l'entrée — valeurs, types et structure sont préservés.
Exemple
Entrée YAML désordonnée :
name: Ada
tags: [math,logic]
active:true Sortie formatée :
name: Ada
tags:
- math
- logic
active: true Erreurs YAML courantes et comment les corriger
YAML 1.2 en mode strict est intransigeant avec les espaces. Les motifs ci-dessous couvrent la plupart des échecs du parser.
- Tabulations au lieu d'espaces. YAML 1.2 interdit les tabulations pour l'indentation. Remplacez chaque tab par des espaces.
- Niveaux d'indentation incohérents. Un enfant indenté de 2 espaces sous un frère de 4 espaces échouera. Choisissez une largeur et utilisez-la de manière cohérente.
- Pièges booléens. En YAML 1.1 (pas le mode ici), `yes`, `no`, `on`, `off` se parsaient en booléens. js-yaml utilise 1.2, mais les entrées du monde réel qui dépendent de l'ancien comportement surprennent les utilisateurs. Guillemetez les valeurs ambiguës : `country: "NO"`.
- Caractères spéciaux sans guillemets. Les valeurs commençant par `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` doivent être entre guillemets.
- Guillemet non terminé. Un guillemet de fermeture manquant fait que le parser absorbe le reste du fichier comme partie de la chaîne. Le numéro de ligne signalé peut être éloigné de l'erreur réelle.
- Anchor / alias non concordants. Un alias `*name` référençant un anchor non déclaré `&name` lève une erreur. Vérifiez que chaque alias a un anchor correspondant déclaré plus tôt.
Questions fréquentes
Formater change-t-il mes données ?
Non — seulement l'espacement, le guillemetage et l'ordre des détails de représentation. Le graphe de valeurs parsées est identique. Le YAML formaté se re-parse en la même structure en mémoire que l'original.
Les commentaires sont-ils préservés lors du formatage ?
Non. js-yaml ne conserve pas les commentaires lors d'un aller-retour parse-and-dump. Si vous avez besoin d'un formatage YAML préservant les commentaires, utilisez une autre bibliothèque (yaml.js avec options, ou un outil CLI comme `prettier --parser yaml`).
Puis-je personnaliser l'indentation ?
La compilation actuelle utilise une indentation de 2 espaces. Pour personnaliser, exécutez js-yaml en ligne de commande — même bibliothèque — et passez `{ indent: 4 }` ou ce dont vous avez besoin.
Quelle taille de fichier YAML peut-il gérer ?
Jusqu'à environ 10 Mo avant que le textarea ne ralentisse. La plupart des fichiers de config sont bien en dessous de 1 Mo.
Mon YAML est-il téléchargé ?
Non. Tout s'exécute dans votre navigateur — votre entrée est parsée et ré-sérialisée par JavaScript sur cette page et n'est jamais envoyée à un serveur.
Cela lint-il les problèmes de style comme les clés en double ?
js-yaml en configuration par défaut rejettera les clés en double (une exigence stricte de YAML 1.2). D'autres problèmes de style comme un guillemetage incohérent ou le nommage des anchors ne sont pas signalés — il faut un linter dédié comme yamllint.