JSON-zu-YAML-Konverter

Wandle JSON in sauberes, gut lesbares YAML für Kubernetes, Docker Compose, GitHub Actions oder Ansible um, mit voller Kontrolle über Einrückung, Stil und Anführungszeichen.

Läuft im BrowserOhne AnmeldungKein Upload

JSON-Ausgabe

Anleitung: JSON zu YAML

  1. Füge JSON in das linke Feld ein oder öffne eine .json-Datei.
  2. Das YAML erscheint beim Tippen rechts.
  3. Wähle die Einrückung (2 oder 4 Leerzeichen) und den Stil: Block (ein Schlüssel pro Zeile) oder Flow ({a: 1}/[x, y]) ab einer bestimmten Verschachtelungsebene.
  4. Wähle einen Stil für Anführungszeichen und aktiviere Schlüssel sortieren, wenn du eine alphabetische Reihenfolge willst.
  5. Kopiere oder lade das YAML herunter. Ungültiges JSON wird mit Zeile, Spalte und wahrscheinlicher Ursache gemeldet.

Warum JSON in YAML umwandeln?

JSON ist ideal für Maschinen und APIs, YAML lässt sich von Menschen aber leichter lesen und bearbeiten: keine geschweiften Klammern, keine Pflicht-Anführungszeichen und Unterstützung für Kommentare. Die meisten Infrastruktur-Tools, darunter Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI und Ansible, werden in YAML konfiguriert, während die Ausgangsdaten (API-Ausgaben, kubectl get -o json, Terraform-State) oft JSON sind.

Block- vs. Flow-Stil

Der Block-Stil setzt jeden Schlüssel und jedes Listenelement in eine eigene Zeile und ist die übliche Wahl für Konfigurationsdateien. Der Flow-Stil verwendet wie JSON Inline-{} und -[] und hält kurze Strukturen auf der untersten Ebene kompakt. „Flow ab Ebene 2“ belässt die obersten zwei Ebenen im Block-Stil und schreibt alles Tiefere inline, was sich gut für lange Listen kleiner Objekte wie Ports oder Umgebungsvariablen eignet.

Sicheres Quoting

Strings, die ein YAML-Parser falsch lesen könnte, werden automatisch in Anführungszeichen gesetzt: Werte wie 'no', 'on', '1.0', 'null', Strings mit führendem * oder & und Strings, die : enthalten. Wähle Immer einfache oder Immer doppelte, wenn dein Styleguide verlangt, dass jeder String gequotet wird.

Stolperfallen zwischen YAML 1.1 und 1.2

Dieser Konverter folgt YAML 1.2, der aktuellen Spezifikation. Viele ältere Tools (PyYAML, Rubys Psych, manche Kubernetes- und Ansible-Versionen) lesen noch YAML 1.1, wo andere Regeln gelten:

  • Das Norwegen-Problem: In YAML 1.1 bedeutet country: no den Wert false, wodurch Norwegens Ländercode NO verschwindet. Dasselbe gilt für yes, on, off, y und n. YAML 1.2 behandelt nur true und false als Booleans.
  • Oktalzahlen: 0755 ist in 1.1 oktal, in 1.2 aber eine normale Dezimalzahl; dort schreibt man 0o755. Setze Dateiberechtigungen sicherheitshalber in Anführungszeichen.
  • Sexagesimalzahlen: In 1.1 kann 22:30 als die Zahl 1350 geparst werden. Setze Uhrzeiten und Port-Mappings wie "8080:80" in Anführungszeichen.

Die Richtung JSON → YAML setzt mehrdeutige Strings ('no', 'on', 'y') automatisch in Anführungszeichen, sodass das erzeugte YAML in beiden Versionen gleich gelesen wird.

Häufig gestellte Fragen

Ist die Konvertierung verlustfrei?
Ja. Jedes JSON-Dokument ist gültiges YAML 1.2, und das erzeugte YAML ergibt beim Parsen exakt dieselben Daten. Du kannst das mit Tauschen überprüfen.
Warum stehen manche Strings in Anführungszeichen und andere nicht?
Mit Nur wenn nötig werden Anführungszeichen nur dort gesetzt, wo ein Wert ohne sie seine Bedeutung ändern würde, zum Beispiel 'yes', '123' oder Strings mit Sonderzeichen. Alles andere bleibt der Lesbarkeit halber ohne.
Kann ich der Ausgabe Kommentare hinzufügen?
JSON hat keine Kommentare, es gibt also keine zu übernehmen, aber du kannst nach dem Kopieren # comments ins YAML schreiben.
Ändert sich die Reihenfolge der Schlüssel?
Nein. Schlüssel behalten ihre Reihenfolge aus dem JSON, es sei denn, du aktivierst Schlüssel sortieren.
Bleiben meine Daten privat?
Ja. Der Konverter läuft in deinem Browser und sendet keine Netzwerkanfragen mit deiner Eingabe.

Ähnliche Tools