Was ist dieses Tool?
YAML ist das bevorzugte Format für die meisten modernen Konfigurationsdateien — Kubernetes-Manifeste, Docker Compose, GitHub-Actions- und GitLab-CI-Pipelines, Ansible-Playbooks —, weil es für Menschen, die Dateien von Hand bearbeiten, lesbarer ist als JSON: keine Anführungszeichen um die meisten Schlüssel nötig, keine überzähligen Kommas, die Fehler verursachen, und Kommentare werden unterstützt. JSON wiederum ist das, was die meisten APIs und Programmiersprachen nativ erzeugen und verarbeiten.
Dieses Tool überbrückt beide mithilfe von js-yaml, einer weit verbreiteten JavaScript-Implementierung der YAML-Spezifikation, sodass Parsen und Erzeugen denselben Regeln folgen, die auch ein YAML-fähiges Tool wie `kubectl` oder ein CI-Runner anwenden würde.
Die Umwandlung von JSON in YAML verwandelt Objekte in eingerückte Schlüssel: Wert-Blöcke und Arrays in mit `-` eingeleitete Listeneinträge. Die Umwandlung von YAML in JSON macht das Gegenteil und löst außerdem YAML-spezifische Typ-Abkürzungen (wie unquotiertes `true`, `null` oder Zahlen) in ihre passenden JSON-Typen auf.
Warum sollte man es nutzen?
- Bidirektional — wandle JSON in YAML oder YAML in JSON auf demselben Bildschirm um.
- Standardbasiertes Parsen und Erzeugen über js-yaml, sodass die Ausgabe dem entspricht, was echte YAML-Tools (Kubernetes, CI-Systeme, Ansible) erwarten.
- Verarbeitet verschachtelte Objekte und Arrays in beliebiger Tiefe und wandelt zwischen der einrückungsbasierten Struktur von YAML und den geschweiften und eckigen Klammern von JSON um.
- Interpretiert YAML-Typ-Abkürzungen korrekt — unquotierte true/false-, null- und Zahlenwerte werden zu ihren passenden JSON-Typen statt zu Strings.
- In die Zwischenablage kopieren oder als .json- oder .yaml-Datei herunterladen.
- 100 % clientseitig — nichts, was du einfügst, wird irgendwohin hochgeladen.
Anleitung
- Wähle eine Richtung: „JSON → YAML“ oder „YAML → JSON“.
- Füge deine Daten in das Eingabefeld ein.
- Klicke auf „Konvertieren“.
- Prüfe das Ergebnis und kopiere es dann oder klicke auf „Herunterladen“, um eine Datei zu speichern.
Beispiel
Eingabe
{"name":"Alice","roles":["admin","editor"],"active":true}Ausgabe
name: Alice
roles:
- admin
- editor
active: true
Beachte, wie das Array unter „roles“ zu einer Liste mit Bindestrich-Einträgen wird und der Boolean als unquotiertes true erhalten bleibt, statt zum String "true" zu werden.
Praktische Tipps
- Beim Schreiben eines Kubernetes-Manifests oder GitHub-Actions-Workflows: Entwirf die Struktur zuerst als JSON (viele Editoren und KI-Tools erzeugen JSON zuverlässiger) und wandle sie dann für die endgültige Datei in YAML um.
- Beim Debuggen einer fehlerhaften YAML-Konfiguration: Wandle sie in JSON um, um genau zu sehen, welche Werte Strings, Zahlen oder Booleans sind — die flexible Syntax von YAML kann Typkonflikte verbergen, die in JSON sofort auffallen.
- Enthält dein JSON Schlüssel mit Sonderzeichen oder solche, die mit einer Zahl beginnen, setzt js-yaml sie in der YAML-Ausgabe automatisch in Anführungszeichen, damit sie beim erneuten Einlesen korrekt geparst werden.
Warum Typkonvertierung der kniffligste Teil von YAML ist
Der größte Vorteil von YAML gegenüber JSON in Sachen Benutzerfreundlichkeit — keine Anführungszeichen um die meisten Werte zu benötigen — ist zugleich seine größte Quelle für subtile Fehler. Das klassische Beispiel ist das „Norwegen-Problem“: In YAML 1.1 (von vielen älteren Parsern verwendet) wird ein unquotierter Wert `no` als Boolean `false` interpretiert, nicht als String "no" — was in der Praxis Ländercode-Konfigurationen mit Norwegen zerstört hat. Dieses Tool folgt der YAML-1.2-Spezifikation, die die Menge der unquotierten, als Boolean behandelten Werte auf nur noch `true` und `false` (und ihre Groß-/Kleinschreibungsvarianten) eingeschränkt hat — diese Art von Überraschung wird dadurch seltener, aber nicht ganz ausgeschlossen. Im Zweifel, wie ein Wert typisiert wird, ist es die sicherste Wahl, ihn in deinem YAML explizit in Anführungszeichen zu setzen.
Häufig gestellte Fragen
Bleiben YAML-Kommentare bei der Umwandlung nach JSON und zurück erhalten?
Nein. JSON kennt kein Konzept von Kommentaren, daher gehen beim Umwandeln von YAML in JSON alle #-Kommentare der Quelle verloren. Wandelst du dieses JSON zurück in YAML, tauchen die Kommentare nicht wieder auf — das ist eine inhärente Einschränkung des Formats, kein Fehler des Tools.
Wie geht das Tool mit YAML-Ankern und -Aliassen (& und *) um?
Der zugrunde liegende Parser (js-yaml) löst Anker und Aliasse auf, bevor er JSON erzeugt. Eine YAML-Datei, die mit &-Ankern und *-Aliassen einen Datenblock wiederverwendet, wird also so in JSON umgewandelt, dass diese Daten an jeder referenzierten Stelle vollständig ausgeschrieben erscheinen.
Warum kam meine YAML-Zahl in JSON als String an, oder umgekehrt?
Steht ein Wert in der YAML-Quelle in Anführungszeichen (z. B. version: "3.10"), wird er absichtlich als String behandelt — das ist wichtig, weil unquotierte YAML-Zahlen wie 3.10 beim Parsen als Fließkommazahl die abschließende Null verlieren können. Setze einen Wert im YAML explizit in Anführungszeichen, wenn er als Text behandelt werden soll.
Kann ich eine YAML-Datei mit mehreren Dokumenten (getrennt durch ---) umwandeln?
Dieses Tool wandelt jeweils ein einzelnes YAML-Dokument um. Enthält deine Datei mehrere durch ---Trennzeichen getrennte Dokumente, wandle jeweils einen Abschnitt um, oder entferne die Trennzeichen und führe sie zunächst zu einem einzigen Dokument zusammen, falls das für deinen Anwendungsfall passt.
Werden meine Daten irgendwohin hochgeladen?
Nein. Die Umwandlung läuft vollständig in deinem Browser über die js-yaml-Bibliothek ab — es wird nichts an einen Server gesendet, was die Nutzung mit echten Konfigurationsdateien sicher macht, auch solchen mit internen Hostnamen oder Infrastrukturdetails.