YAML-Formatter

Formatieren, validieren und konvertieren Sie YAML-Dokumente mit Syntaxhervorhebung und Fehlererkennung

Läuft lokal

YAML-Eingabe

Formatierte Ausgabe

Inspektor

Fügen Sie gültiges YAML ein — Struktur, Baum und Schlüsselpfade erscheinen hier automatisch

Erweiterte Optionen

Mit anderem YAML vergleichen

Senden Sie dieses Dokument an Data Diff und fügen Sie eine zweite Version ein, um zu sehen, was sich geändert hat.

Validierung mit der genauen Fehlerposition

Die Validierung läuft bei jedem Tastendruck mit dem Parser js-yaml 1.2. Gültige Dokumente erhalten Live-Zählungen von Dokumenten, Mappings, Sequenzen, Schlüsseln und Tiefe. Fehlerhafte melden die exakte Zeile und Spalte, eine wahrscheinliche Ursache und eine Hervorhebung an der Fehlerstelle — nicht nur „syntax error“.

Häufige YAML-Fehler, die dieses Tool präzise eingrenzt

Diese Fehler verursachen den Großteil des ungültigen YAML. Jeder davon wird mit einer Position und einer wahrscheinlichen Ursache erkannt:

Falsche Einrückung

Eine untergeordnete Zeile, die weniger eingerückt ist als ihre übergeordnete, oder Geschwisterzeilen, die nicht bündig sind. Wird meist als „bad indentation of a mapping entry“ in der exakten Zeile gemeldet.

TAB-Zeichen

YAML verbietet Tabs in der Einrückung. Der Parser meldet „found a tab character that violates indentation“ und hebt die betroffene Zeile hervor.

Doppelter Schlüssel

Derselbe Schlüssel zweimal in einem Mapping. js-yaml meldet „duplicated mapping key“ mit der Zeile des zweiten Vorkommens.

Fehlender Doppelpunkt oder fehlendes Leerzeichen

Ein Schlüssel ohne Wert („key key2“) oder ein Doppelpunkt, der am Schlüssel klebt („key:value“ ist ein einfacher String, kein Paar). Wird als „could not find expected ':'“ gemeldet.

Vorher / Nachher

Links ein minifiziertes Kubernetes-Manifest, rechts dasselbe Dokument formatiert mit 2-Leerzeichen-Einrückung. Struktur, Baum und Pfade werden aus dem geparsten Dokument aktualisiert.

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

YAML-Kurzreferenz (YAML 1.2)

  • Einrückung ist Struktur: ausschließlich Leerzeichen — TAB-Zeichen sind zur Einrückung niemals erlaubt.
  • Nach einem Doppelpunkt muss ein Leerzeichen folgen, damit er als Schlüsseltrennzeichen gilt: „key: value“, nicht „key:value“.
  • Skalare werden gemäß dem Core-Schema in Typen aufgelöst: true/false (Booleans), Ganzzahlen, Gleitkommazahlen, null (~ / null / leer). Beachten Sie: „yes“/„no“ sind in 1.2 einfache Strings.
  • Mehrere Dokumente in einer Datei werden durch eine „---“-Zeile getrennt; „...“ beendet ein Dokument.
  • Anker (&base) und Aliase (*base) halten Dateien DRY; Merge-Keys („<<: *base“) erben Mappings.

Nächste Schritte mit diesen Daten

Formatieren ist der erste Schritt. Führen Sie den Workflow fort, ohne den Browser zu verlassen:

Häufig gestellte Fragen

Antworten auf häufige Fragen zur Yaml Formatter-Formatierung

Der Formatter folgt der YAML-1.2-Spezifikation und gewährleistet damit Kompatibilität mit modernen Tools wie Kubernetes, Docker Compose, GitHub Actions und anderen Cloud-nativen Plattformen.

Ja, mit der bidirektionalen Konvertierungsfunktion können Sie YAML in JSON und JSON in YAML konvertieren, wobei Datentypen, verschachtelte Strukturen und – wo zutreffend – Kommentare erhalten bleiben.

Absolut. Der Formatter wurde entwickelt, um Kubernetes-Manifeste, Docker-Compose-Dateien, CI/CD-Pipelines und andere YAML-Dateien mit mehreren Dokumenten inklusive korrekter Abschnittstrennung zu verarbeiten.

Der Validator prüft die Konsistenz der Einrückung, die korrekte Verwendung von Doppelpunkten und Bindestrichen, die Ausgeglichenheit der Anführungszeichen bei Strings sowie Anker- und Alias-Referenzen und liefert zeilengenaue Fehlermeldungen für ein schnelles Debugging.

Ja, der Formatter verarbeitet YAML-Anker (&), Aliase (*) und Merge-Keys (<<) korrekt und bewahrt diese DRY-Features, während die umgebende Struktur formatiert wird.

YAML 1.2, die aktuelle Spezifikation von yaml.org – die Version, auf die Kubernetes-, docker-compose- und GitHub-Actions-Dokumente abzielen. YAML 1.2 machte JSON zu einer gültigen Teilmenge und verschärfte das Boolean-Parsing; der Formatter hält Ihre Anführungszeichen explizit, wo 1.1-Parser (immer noch verbreitet in Python PyYAML) Werte wie "no" oder "0777" missverstehen würden.

YAML-Anker, -Aliase und Block-Skalare übernehmen Kommentare unverändert, aber ein Kommentar, der an einem Schlüssel hängt, der neu eingerückt wird, verschiebt sich mit dessen Einrückungsebene. Der Formatter löscht niemals Kommentare – er verlagert sie nur minimal, damit sie an dem Knoten haften, den sie dokumentieren.

Er kennzeichnet es: Unquotierte NO-, no-, ON-, on-, yes- und n-Werte werden beim Formatieren automatisch in Anführungszeichen gesetzt, sodass YAML-1.1-Parser sie nicht in Booleans umwandeln können. Die Ländercode-Liste [NO, SE, DK] bleibt drei Strings. YAML 1.2 behandelt nur true/false als Booleans, aber die Anführung ist die einzige Ausgabe, die unter beiden Versionen sicher ist.

{-- * 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 --}}

Verwandte Tools