YAML-Formatter

Die Formatierung läuft in diesem Browser. Dein YAML wird nicht hochgeladen.

Füge YAML mit bis zu 1.000.000 Zeichen und bis zu 100 Dokumenten ein. Die Formatierung erfolgt in diesem Browser.

YAML ist nachsichtig bei der Syntax und gnadenlos bei der Einrückung. Ein einziges verrutschtes Leerzeichen kann einen Schlüssel stillschweigend in ein Listenelement verwandeln, und gemischte Einrückung macht Reviews mühsam. Dieser Formatter parst Ihre Eingabe mit der js-yaml-Engine (Core-Schema von YAML 1.2) direkt in Ihrem Browser und gibt sie anschließend mit der Einrückung, dem Sammlungsstil, den Anführungszeichen, der Schlüsselreihenfolge und der Zeilenbreite Ihrer Wahl neu aus, damit Konfigurationen in der Versionskontrolle saubere Diffs ergeben und für alle Beteiligten lesbar bleiben.

So formatieren Sie YAML

  1. 1

    YAML einfügen

    Bis zu 1.000.000 Zeichen und bis zu 100 Dokumente in einem Stream. Nichts wird hochgeladen: Das Parsen läuft in Ihrem Browser.

  2. 2

    Optionen wählen

    Einrückungsbreite, Block- oder Flow-Stil, Anführungszeichen, Schlüsselsortierung und Zeilenbreite.

  3. 3

    Formatieren

    Das Tool baut jedes Dokument mit kanonischen Abständen und dem gewählten Stil neu auf.

  4. 4

    Kopieren und committen

    Die Ausgabe ist strukturell identisches YAML, bereit zum Zurückkopieren in Ihre Konfiguration.

Vorher und nachher

Unordentliche Eingabe:

server:
  port:   8080
  hosts: ["api.example.com",  "api2.example.com"]
  timeout:  30
  debug: true

Formatiert (2 Leerzeichen, Block-Stil):

server:
  port: 8080
  hosts:
    - api.example.com
    - api2.example.com
  timeout: 30
  debug: true

Formatierungsoptionen

Option Werte Standard
Einrückungsbreite 2, 4 2
Sammlungsstil Block, Flow Block
Anführungszeichen Minimal, doppelt, einfach Minimal
Schlüssel sortieren Ursprünglich, alphabetisch Ursprünglich
Zeilenbreite 80, 120, unbegrenzt 120

Regeln für Anführungszeichen

Minimal ist meistens genau richtig: Strings bleiben ohne Anführungszeichen, außer wenn das unsicher wäre. Der Formatter setzt automatisch Anführungszeichen bei:

  • Legacy-Booleans als Strings: yes, no, on, off, y, n. YAML 1.2 liest sie bereits als Strings, aber viele Parser folgen noch YAML 1.1, wo ein no ohne Anführungszeichen zu false wird. Der Formatter setzt sie in der Ausgabe immer in Anführungszeichen, damit der berühmte Norwegen-Bug (NO in einer Länderliste als false gelesen) niemanden treffen kann, der Ihre Datei einliest.
  • Zahlen als Strings: '007', '3.14'. Ohne Anführungszeichen würden sie als Ganzzahlen oder Gleitkommazahlen geparst.
  • Strings mit Zeichen wie :, #, [, { oder führendem Leerraum, bei denen eine nackte Ausgabe die Struktur verändern würde.

Aufräumarbeiten bei jedem Lauf

  • Leerzeichen am Zeilenende. Werden entfernt.
  • Gemischte oder unregelmäßige Einrückung. Wird auf Ihre gewählte Einrückungsbreite normalisiert.
  • Leerzeilen innerhalb von Sammlungen. Werden entfernt.
  • Tabs in der Einrückung. YAML verbietet sie; der Parser weist die Eingabe mit einer klaren Fehlermeldung samt Zeilenangabe zurück, damit Sie den Fehler beheben können, statt eine Datei auszuliefern, die andere Parser ablehnen.

Kommentare, Anker und Merge-Keys

Das Formatieren normalisiert das Dokumentmodell, was Grenzen hat, die Sie vor dem Commit kennen sollten:

  • Kommentare werden entfernt. Der Parser löst das Dokument in Daten auf, #-Kommentare überleben das Formatieren also nicht. Bewahren Sie eine Kopie auf, wenn Ihre Kommentare wichtig sind.
  • Anker und Aliase werden aufgelöst. Über einen Alias geteilte Knoten bleiben geteilt, werden aber mit generierten Namen wie &ref_0 neu ausgegeben; die ursprünglichen Ankernamen bleiben nicht erhalten.
  • Merge-Keys (<<:) werden aufgelöst und zu gewöhnlichen Mappings mit den zusammengeführten Werten.

Multi-Dokument-Streams

Streams mit mehreren Dokumenten werden unterstützt: Jedes Dokument wird unabhängig formatiert und mit dem Trennzeichen --- wieder zusammengefügt, bis zu 100 Dokumente pro Lauf.

Häufig gestellte Fragen

Struktur und Werte bleiben identisch: Nur die Darstellung ändert sich (Einrückung, Anführungszeichen, Flow oder Block, Schlüsselreihenfolge bei aktivierter Sortierung). Zwei Dinge bleiben absichtlich nicht erhalten: Kommentare werden entfernt und Ankernamen neu generiert.

Wenn ein nackter String als etwas anderes geparst würde, sind Anführungszeichen aus Sicherheitsgründen nötig. Häufige Fälle: Schlüssel oder Werte, die nur aus Ziffern bestehen, Strings mit : oder # und Legacy-Booleans wie yes und no, die YAML-1.1-Parser als true/false lesen würden.

Nein. Die Stiloption gilt für das gesamte Dokument: Block schreibt jede Sammlung auf eigene Zeilen, Flow stellt Sammlungen inline dar. Formatieren Sie zweimal mit unterschiedlichen Optionen, wenn Sie vergleichen möchten.

Nein. Parsen und Formatieren laufen in Ihrem Browser mit der mitgelieferten js-yaml-Engine. Ihr YAML wird nicht über den Server geschickt, nicht gespeichert und nie an die Seitenadresse angehängt; es lebt nur in dieser Browsersitzung, damit die mehrstufige Ansicht Ihr Ergebnis anzeigen kann.

Verwandte Tools