Skip to content

YAMLJSON

YAML zu JSON

Wandle YAML online in JSON um — sofort, direkt im Browser.

YAML

YAML hier einfügen oder eine Datei auf die Seite ziehen

JSON

JSON erscheint hier während der Eingabe

Kostenlos und unbegrenzt · Keine Anmeldung · Nichts wird hochgeladen — jede Umwandlung läuft auf deinem eigenen Rechner.

Über diesen kostenlosen YAML-zu-JSON-Converter

Füge YAML links ein, und das JSON erscheint rechts, während du tippst — kein Konvertieren-Button, kein Upload, kein Umweg über einen Server. Die Umwandlung ist kostenlos, unbegrenzt und braucht kein Konto. Weil der Parser Teil der Seite ist, gibt es keine Zählung und keine Dateigrößengrenze außer dem Arbeitsspeicher deines Geräts. Die Ausgabe passt sich an: zwei Leerzeichen, vier Leerzeichen, minifiziert, sortierte Schlüssel und Kubernetes-Streams mit mehreren Dokumenten als JSON-Array oder JSON Lines.

Der Aufwand steckt im Fehlerfall. Ein Parsefehler bekommt Zeile und Spalte, eine Markierung im Editor, eine verständliche Erklärung und einen konkreten Fix — eine nicht geschlossene Klammer wird als nicht geschlossene Klammer gemeldet, nicht als irreführender Einrückungsfehler vierzig Zeilen später. Jeder Wert, dessen Bedeutung sich zwischen YAML 1.1 und YAML 1.2 ändert — das Norway-Problem und seine Verwandten — wird markiert, mit dem Ergebnis, das jede Version liefern würde.

Wenn du sauberes YAML statt JSON brauchst, formatiert der YAML-Formatter ein Dokument neu und behält jeden Kommentar. In die andere Richtung geht es mit dem JSON-zu-YAML-Converter. Und wenn die Umwandlung in ein Skript statt in einen Browser-Tab gehört, erklärt der Leitfaden für Code und Kommandozeile yq, Python, Node.js und Go.

Besser als die Alternativen

Die meisten YAML-Converter sind derselbe dünne Aufsatz auf einem Parser. An diesen Stellen merkt man den Unterschied.

Fehler, die das eigentliche Problem benennen

Die meisten Converter beantworten eine nicht geschlossene Klammer mit „fehlerhafter Einrückung“ und zeigen auf die falsche Zeile. Dieser sagt dir, welches Zeichen nie geschlossen wurde, wo es geöffnet wurde und wie du es behebst — mit einer Markierung direkt in der Zeile.

Warnt vor YAML 1.1

country: no ist in YAML 1.2 der String „no“ und in YAML 1.1 der Boolean false. Jeder Wert in deinem Dokument, dessen Bedeutung sich zwischen den Versionen ändert, wird markiert — mit dem Wert, den jede Version erzeugt.

Mehrere Dokumente, richtig

Kubernetes- und Helm-Ausgaben sind fast immer mit --- getrennt. Wandle sie in ein JSON-Array oder in JSON Lines um, mit einer Zählung der gefundenen Dokumente.

Merge Keys aufgelöst

Docker Compose, GitLab CI und Ansible bauen auf <<: *defaults. Merge Keys werden standardmäßig aufgelöst, sodass du die erwarteten Werte bekommst statt eines wörtlichen „<<“-Schlüssels.

Nichts verlässt deinen Browser

Es gibt keinen Endpunkt, an den Daten geschickt werden könnten. Öffne den Netzwerk-Tab und schau zu — oder trenne die Verbindung: Die Seite konvertiert trotzdem weiter.

Kein Konto, kein Limit

Keine Registrierungswand, keine gezählten Umwandlungen, kein „Teilen zum Freischalten“. Einfügen und loslegen.

Was ist YAML?

YAML („YAML Ain’t Markup Language“) ist ein Datenformat, das von Menschen geschrieben und gelesen werden soll: Einrückung statt Klammern, Kommentare und wiederverwendbare Blöcke. Deshalb wurde es zum Standard für Konfiguration — Kubernetes, Docker Compose, GitHub Actions und Ansible sind alle YAML. Der Preis ist Mehrdeutigkeit: Leerzeichen sind bedeutungstragend, und Werte ohne Anführungszeichen können überraschen.

Was ist JSON?

JSON (JavaScript Object Notation) ist ein strengeres, kleineres Format für Maschinen: geschweifte und eckige Klammern, immer zitierte Strings, keine Kommentare und keine Mehrdeutigkeit. Genau deshalb konvertiert man — jede Sprache liest JSON gleich, sodass YAML als JSON in einer API, einem Test-Fixture oder einer Log-Pipeline identisch funktioniert.

YAML und JSON im Vergleich

AspektYAMLJSON
KommentareJa, mit #Nein
Struktur durchEinrückungGeschweifte und eckige Klammern
WiederverwendungAnchors, Aliases, Merge KeysKeine — Werte wiederholen sich
Strings zitierenMeist optionalImmer erforderlich
Typische NutzungVon Menschen geschriebene KonfigurationVon Maschinen ausgetauschte Daten

Beispiele: YAML zu JSON

Jedes Beispiel unten wird im Tool oben korrekt umgewandelt. Sie decken die Fälle ab, die am häufigsten überraschen.

Verschachtelte Mappings und Sequenzen

Einrückung wird zu Verschachtelung; eine Liste mit „-“ wird zu einem JSON-Array.

YAML

name: api
replicas: 3
ports:
  - 80
  - 443
resources:
  limits:
    memory: 512Mi

JSON

{
  "name": "api",
  "replicas": 3,
  "ports": [80, 443],
  "resources": {
    "limits": { "memory": "512Mi" }
  }
}

Anchors, Aliases und Merge Keys

JSON kann keine Referenz ausdrücken, deshalb werden Anchors an Ort und Stelle aufgelöst.

YAML

defaults: &defaults
  restart: always
  logging: json

web:
  <<: *defaults
  image: nginx

worker:
  <<: *defaults
  image: redis

JSON

{
  "defaults": {
    "restart": "always",
    "logging": "json"
  },
  "web": {
    "restart": "always",
    "logging": "json",
    "image": "nginx"
  },
  "worker": {
    "restart": "always",
    "logging": "json",
    "image": "redis"
  }
}

Mehrere Dokumente

Ein mit --- getrennter Stream wird zu einem JSON-Array — oder zu JSON Lines, wenn du ein Objekt pro Zeile bevorzugst.

YAML

apiVersion: v1
kind: Service
---
apiVersion: apps/v1
kind: Deployment

JSON

[
  { "apiVersion": "v1", "kind": "Service" },
  {
    "apiVersion": "apps/v1",
    "kind": "Deployment"
  }
]

Ist das sicher für private Daten?

Ja — und du musst uns nicht glauben. Das ist eine statische Seite: Es gibt keinen serverseitigen Endpunkt für die Umwandlung, also gibt es nichts, wohin dein YAML geschickt werden könnte. Der Parser ist JavaScript, das in deinem Tab läuft.

Zwei Wege, das in unter einer Minute zu prüfen. Öffne die Entwicklerwerkzeuge deines Browsers, wechsle zum Netzwerk-Tab und konvertiere etwas — du siehst keine Anfrage, die deine Daten enthält. Oder lade die Seite, trenne die Internetverbindung und konvertiere weiter; alles funktioniert, weil alles Nötige bereits lokal ist.

Das ist wichtiger, als es klingt. Mehrere beliebte Converter bieten „von URL laden“ oder „speichern und teilen“ an, was Inhalte zwangsläufig über ihre Server leitet, und mindestens einer speichert geteilte Dokumente standardmäßig öffentlich. Konfigurationsdateien enthalten genau die Art von Dingen — Hostnamen, interne Pfade, gelegentlich ein Secret —, die nicht dorthin gehören.

Häufige Fragen

Ist dieser YAML-zu-JSON-Converter kostenlos?

Ja, vollständig. Keine Anmeldung, kein Konto, kein Nutzungslimit und keine Bezahlschranke. Jede Funktion auf dieser Seite steht allen jederzeit zur Verfügung.

Werden meine Daten auf einen Server hochgeladen?

Nein. Die Umwandlung läuft per JavaScript in deinem Browser. Dein YAML wird nirgendwohin übertragen — es gibt keinen serverseitigen Endpunkt, kein Logging und keine Analyse der eingefügten Inhalte. Du kannst das prüfen, indem du beim Konvertieren den Netzwerk-Tab öffnest oder die Internetverbindung trennst: Die Seite funktioniert weiter.

Muss ich etwas installieren, um YAML in JSON umzuwandeln?

Nein. Der Converter läuft im Browser-Tab, den du bereits geöffnet hast — ohne Download, ohne Kommandozeilen-Tool und ohne Erweiterung. Jeder Online-Converter muss entscheiden, wo die Umwandlung stattfindet: Die meisten schicken dein Dokument an ihren Server, dieser behält es auf deinem Rechner. Wenn du lieber ein Skript nutzt, zeigt der Leitfaden „YAML in Code zu JSON umwandeln“ die Varianten für Kommandozeile, Python, Node.js und Go.

Gibt es eine Dateigrößengrenze?

Keine künstliche. Die Umwandlung passiert auf deinem eigenen Rechner, die praktische Grenze ist also der Arbeitsspeicher deines Geräts. Dateien mit einigen Megabyte werden problemlos umgewandelt; sehr große Dokumente können die Seite beim Parsen kurz anhalten.

Kann ich JSON zurück in YAML umwandeln?

Ja. Nutze den Tauschen-Button zwischen den beiden Bereichen, um die Richtung umzukehren, ohne die Seite zu verlassen, oder gehe zum eigenen JSON-zu-YAML-Converter. Beim Tauschen wird die aktuelle Ausgabe als neue Eingabe übernommen, sodass du ein Dokument hin und zurück wandeln kannst.

Was passiert mit meinen YAML-Kommentaren?

Sie werden entfernt, weil JSON keine Syntax für Kommentare hat. Der Converter sagt dir, wie viele entfernt wurden, statt sie stillschweigend zu verwerfen. Wenn du Kommentare behalten musst, nutze den YAML-Formatter, der YAML an Ort und Stelle neu formatiert und sie erhält.

Wie geht der Converter mit YAML aus mehreren Dokumenten um?

Dateien, die Dokumente mit --- trennen, werden vollständig unterstützt. Du kannst sie als JSON-Array mit allen Dokumenten ausgeben oder als JSON Lines (NDJSON) mit einem kompakten JSON-Objekt pro Zeile — das Format, das kubectl und die meisten Log-Pipelines erwarten. Kubernetes-Manifeste und Helm-Ausgaben bestehen typischerweise aus mehreren Dokumenten.

Werden Anchors, Aliases und Merge Keys unterstützt?

Ja. Anchors (&name) und Aliases (*name) werden zu ihren vollständigen Werten aufgelöst, weil JSON keine Referenzen ausdrücken kann. Merge Keys (<<) werden standardmäßig aufgelöst, worauf Docker-Compose-, GitLab-CI- und Ansible-Dateien angewiesen sind. Du kannst die Auflösung abschalten, wenn du stattdessen den rohen <<-Schlüssel sehen willst.

Was ist der Unterschied zwischen YAML 1.1 und YAML 1.2?

YAML 1.2 behandelt unzitierte Werte wie no, yes, on und off als gewöhnliche Strings. YAML 1.1 behandelt sie als Booleans — aus country: no wird also false. YAML 1.1 liest außerdem 022 als Oktalzahl 18 und 12:30 als Zahl 750 zur Basis 60. Dieser Converter verwendet standardmäßig YAML 1.2 und warnt dich, wenn ein Wert in deinem Dokument unter 1.1 anders gelesen würde.

Warum scheitert mein YAML an einem Einrückungsfehler?

Die beiden häufigsten Ursachen sind ein Tabulator zur Einrückung, den YAML komplett verbietet, und ein unzitierter Wert mit Doppelpunkt, etwa title: foo: bar. Auch nicht geschlossene Klammern und Anführungszeichen erscheinen in den meisten Parsern als Einrückungsfehler; dieser Converter erkennt sie gezielt und zeigt auf das Zeichen, das nie geschlossen wurde.

Prüft der Converter mein YAML?

Ja. Wenn das Dokument nicht geparst werden kann, bekommst du eine verständliche Beschreibung des Problems, die exakte Zeile und Spalte, einen Lösungsvorschlag und eine Markierung in der betroffenen Zeile des Editors. Die eigene Seite YAML-Validator ist dieselbe Engine mit Fokus auf die Diagnose.

Funktioniert die Seite offline?

Sobald sie geladen ist, ja. Alles, was zum Konvertieren nötig ist, befindet sich bereits in deinem Browser, deshalb funktioniert das Tool weiter, wenn die Verbindung abbricht.

YAML in JSON umwandeln

Wie wandle ich YAML in JSON um?

Füge dein YAML in den linken Bereich des Converters oben auf dieser Seite ein — die Umwandlung passiert online im Browser, während du tippst, ohne Button und ohne Upload. Stelle die Einrückung auf 2 Leerzeichen, 4 Leerzeichen, Tabs oder minifiziert, sortiere optional die Schlüssel und kopiere das JSON oder lade es als .json-Datei herunter. Wenn das Dokument nicht geparst werden kann, bekommst du Zeile und Spalte, eine verständliche Erklärung und einen Lösungsvorschlag statt einer leeren Ausgabe. Für wiederholte Umwandlungen erledigt yq -o=json input.yaml dieselbe Aufgabe im Terminal.

Wie wandle ich eine YAML-Datei in eine JSON-Datei um?

Klicke auf Hochladen, um eine .yaml- oder .yml-Datei zu wählen, oder ziehe sie irgendwo auf diese Seite; dann klicke auf Herunterladen, um das Ergebnis als .json-Datei zu speichern. Die Datei wird von deinem Browser gelesen und nirgendwohin gesendet — wichtig bei Konfiguration mit Hostnamen, Registries oder Zugangsdaten. In der Shell: yq -o=json input.yaml > output.json, oder für ein ganzes Verzeichnis: for f in *.yaml; do yq -o=json "$f" > "${f%.yaml}.json"; done

Lässt sich YAML überhaupt in JSON umwandeln?

Ja, in fast allen Fällen. YAML 1.2 ist als Obermenge von JSON definiert, und jedes YAML-Dokument aus gewöhnlichen Mappings, Sequenzen, Strings, Zahlen, Booleans und Nulls hat eine exakte JSON-Entsprechung. Vier Dinge überleben den Weg nicht: Kommentare, weil JSON keine Syntax dafür hat; Anchors und Aliases, die zu ihren vollständigen Werten aufgelöst werden, weil JSON keine Referenzen kennt; Mapping-Schlüssel, die keine Strings sind, etwa Datumsangaben; und eigene Tags wie !Ref oder !GetAtt, die außerhalb ihres Werkzeugs keine Bedeutung haben. Dieser Converter meldet jeden dieser Fälle, statt ihn stillschweigend fallen zu lassen.

Ist YAML gültiges JSON?

Umgekehrt: JSON ist gültiges YAML, aber YAML ist im Allgemeinen kein gültiges JSON. Die YAML-1.2-Spezifikation definiert die Sprache als Obermenge von JSON, sodass jedes JSON-Dokument unverändert an einen YAML-1.2-Parser übergeben werden kann — du kannst JSON oben in den YAML-Bereich einfügen, und es wird geparst. Ein YAML-Dokument ist nur dann zufällig gültiges JSON, wenn es im Flow-Stil von JSON geschrieben ist, mit zitierten Schlüsseln und Strings und ohne Kommentare; gewöhnliches, auf Einrückung basierendes YAML wird von jedem JSON-Parser abgelehnt. Die Garantie gilt für YAML 1.2 — YAML 1.1, das PyYAML und ältere Werkzeuge implementieren, ist keine strikte Obermenge von JSON.

YAML vs. JSON

Was ist der Unterschied zwischen YAML und JSON?

JSON ist ein striktes Austauschformat für Maschinen; YAML ist ein Konfigurationsformat für Menschen, das dieselben Daten ausdrücken kann. Konkret: YAML gewinnt seine Struktur aus Einrückung, JSON aus geschweiften und eckigen Klammern; YAML unterstützt Kommentare mit #, JSON gar keine; YAML kann Blöcke über Anchors, Aliases und Merge Keys wiederverwenden, JSON wiederholt jeden Wert vollständig; YAML kann mehrere Dokumente in einer Datei halten, getrennt durch ---, JSON genau einen Wert; und YAML lässt Strings meist unzitiert, was praktisch ist, bis country: NO als false gelesen wird. Weil YAML 1.2 eine Obermenge von JSON ist, kann YAML alles ausdrücken, was JSON kann.

Wann sollte ich YAML und wann JSON verwenden?

Nutze YAML, wenn ein Mensch die Datei schreibt und pflegt, und JSON, wenn eine Maschine sie schreibt oder liest. YAML zahlt sich bei Konfiguration aus, die im Code-Review gelesen wird — Kubernetes-Manifeste, Docker Compose, GitHub-Actions-Workflows, Ansible-Playbooks, OpenAPI-Spezifikationen —, weil Kommentare Werte erklären und Anchors Wiederholung vermeiden. JSON zahlt sich bei API-Anfragen und -Antworten, Log-Zeilen, Test-Fixtures und allem aus, was in großer Menge erzeugt oder gespeichert wird: Es wird schneller geparst, jede Sprache bringt einen Parser mit, es gibt keine bedeutungstragenden Leerzeichen und keine Versionsdiskussion. Wenn beides zutrifft, lautet die übliche Antwort: in YAML schreiben und beim Build in JSON umwandeln — genau dafür ist der Converter oben auf dieser Seite gedacht.

Wie schneiden YAML und JSON bei Lesbarkeit und Handhabung ab?

YAML ist leichter zu lesen und schwerer richtig zu schreiben; JSON ist geschwätziger und deutlich vorhersehbarer. Bei der Lesbarkeit gewinnt YAML bei verschachtelter Konfiguration klar: keine schließenden Klammern, keine Anführungszeichen um jeden Schlüssel, keine Kommas zum Verlegen, und Kommentare für nicht offensichtliche Werte — dasselbe Kubernetes-Manifest ist in YAML rund 40 % kürzer als in JSON. Bei der Handhabung dreht sich das Bild: Einrückung ist bedeutungstragend, ein verirrter Tabulator oder ein falsch ausgerichteter Schlüssel zerstört das Dokument; unzitierte Werte können stillschweigend den Typ wechseln (yes, no, on, off, 022, 12:30); doppelte Schlüssel und die Spaltung zwischen YAML 1.1 und 1.2 erzeugen Dateien, die sauber parsen und trotzdem falsch sind; und YAML-Parserfehler sind berüchtigt vage. JSON hat keinen dieser Fehlermodi — deshalb ist die praktische Empfehlung, YAML zu schreiben und es vor dem Ausliefern zu validieren oder umzuwandeln.