JSON ↔ YAML

JSON ↔ YAML Converter

Bidirektionale Konvertierung gebaut für k8s, GitHub Actions, Docker Compose, helm. Live-Vorschau, idiomatische YAML-Ausgabe, alles in deinem Browser.

js-yaml ist großartig, fügt aber jeder Seite ~30 KB minified hinzu. Reale Konfig-YAML nutzt nur einen kleinen Ausschnitt der Spezifikation — Block-Mappings, Block-Sequenzen, Flow-Style, Skalartypen, mehrzeilige Literals. Wir haben genau dieses Subset (~5 KB) selbst geschrieben, damit der Kaltstart schnell bleibt. Falls dein YAML Anker, Aliase oder Custom-Tags nutzt, lass es lieber durch eine CI-Pipeline mit js-yaml laufen.

Drei in Konfig-Dateien seltene Funktionen: (1) Anker und Aliase (&name / *name) — zur Deduplizierung innerhalb eines Dokuments; (2) Custom-Tags (!!str / !!float / !!omap) — zur Überschreibung impliziter Typinferenz; (3) Multi-Doc-Dateien mit ----Trennern. Keines davon kommt in Standard-k8s, GitHub Actions, Docker Compose, helm oder ansible vor. Wenn du sie brauchst, greif zu einem vollständigen YAML-Parser.

Eingabe JSON
Ausgabe YAML

Gebaut für DevOps-YAML aus der Praxis

k8s, GitHub Actions, Docker Compose, helm, ansible — und ein paar kleine Details, die das Tool wirklich angenehm machen.

Bidirektional, live

Eines der beiden Formate einfügen, das andere sofort erhalten. Die Ausgabe aktualisiert sich bei jedem Tastendruck — kein Konvertieren-Button. Mit einem Klick die Richtung umschalten und dasselbe Tool läuft umgekehrt.

YAML-1.2-Subset für Konfigurationsdateien

Block- + Flow-Mappings, Block- + Flow-Sequenzen, Skalare (String, Zahl, Boolean, null), mehrzeilige Literal- (|) und Folded- (>) Block-Skalare. Deckt 99% aller k8s-Manifeste, GitHub Actions, Docker Compose, GitLab CI, helm values und ansible playbooks ab.

Idiomatische YAML-Ausgabe

JSON → YAML erzeugt das YAML, das du auch von Hand schreiben würdest: Plain-Style-Schlüssel (ohne Anführungszeichen), Strings nur dann gequotet, wenn sie mit reservierten Wörtern (true/false/null/yes/no) oder Zahlen kollidieren würden, mehrzeilige Strings als |-Block-Skalare, konfigurierbare Einrückung mit 2 oder 4 Leerzeichen.

Round-Trip-sicher

JSON → YAML → JSON liefert ein byteidentisches Dokument. Egal in welche Richtung konvertiert wird — die andere Richtung kehrt sie sauber um. Keine still verlorenen Typen oder umgewandelten Werte.

Datenschutz by Design

Deine Konfiguration verlässt nie dein Gerät. Selbstgeschriebener Parser + Serializer laufen lokal als JavaScript. DevTools → Netzwerk öffnen und null ausgehende Requests verifizieren.

Klein + schnell

Reines JavaScript, keine js-yaml-Abhängigkeit. Kaltstart unter 25 KB gzippt. Ein 100 KB großes k8s-Manifest wird auf einem normalen Laptop in unter 30 ms konvertiert.

So konvertierst du JSON ↔ YAML

Drei Schritte von der Rohkonfiguration zum gewünschten Format.

  1. 1

    JSON oder YAML einfügen

    Lege deine Konfiguration in das Eingabe-Feld. Das Tool erkennt anhand des Richtung-Dropdowns, welches Format du eingefügt hast — bei Bedarf umschalten. Die Konvertierung läuft live bei jedem Tastendruck.

  2. 2

    Einrückung anpassen und prüfen

    Standard-Einrückung sind 2 Leerzeichen (k8s- / GitHub-Actions-Konvention). Wechsle auf 4, falls dein Team das so nutzt. Klicke Tauschen, um die Ausgabe zurück in die Eingabe zu schieben — nützlich für Round-Trip-Verifizierung (JSON einfügen, in YAML konvertieren, tauschen, zurück konvertieren, mit Original vergleichen).

  3. 3

    Kopieren oder herunterladen

    Drück das Kopier-Symbol, um die Ausgabe in die Zwischenablage zu schieben, oder das Download-Symbol, um sie als output.yaml bzw. output.json zu speichern. Die Byte-Größendifferenz wird im Footer angezeigt, damit du siehst, wie kompakt die YAML-Darstellung ist.

Gebaut für DevOps- + Backend-Teams

Vier häufige Szenarien, in denen ein datenschutzfreundliches Browser-Tool besser ist als ein einmaliges Python-Skript.

Round-Trip von Kubernetes-Manifesten

kubectl get deployment my-app -o json → hier einfügen → YAML → bearbeiten → anwenden. Oder: ein YAML-Manifest aus den Doku-Seiten eines Anbieters einfügen, in JSON konvertieren, mit jq filtern, zurück in YAML konvertieren, committen.

GitHub-Actions- / GitLab-CI-Snippets aus Blog-Artikeln

Ein Blog-Artikel zeigt ein CI-Snippet als JSON in seinem Doku-Theme. Reinwerfen, YAML rausholen, in .github/workflows/ci.yml einfügen. Oder: einen mehrere Jobs umfassenden YAML-Workflow in JSON konvertieren, programmatisch bearbeiten, zurück konvertieren.

Helm values + Docker Compose

Helm-values-Dateien sind YAML; manche Templating-Tools wollen JSON. Füge dein values.yaml ein, hol JSON, lass es durch dein Tool laufen, füge es zurück ein, konvertiere zu YAML für den Commit. Gleicher Workflow für Docker Composes compose.yaml.

Sensible Konfigurationen, die nicht zu einem Drittanbieter dürfen

Konfigurationen mit API-Keys, Secrets, internen Hostnamen, Kundendaten — alles, was du nicht in einen Cloud-Converter einfügen kannst. Das reine Browser-Tool hält jedes Byte auf deinem Laptop. Öffne DevTools → Netzwerk und verifiziere, dass nichts hinausgeht.

100% privat — läuft in deinem Browser

Deine Konfigurationen verlassen nie dein Gerät. Öffne DevTools → Netzwerk und du siehst während der Konvertierung null ausgehende Requests.

  • Selbstgeschriebener YAML-Parser, YAML-Serializer, natives JSON.parse sowie Zwischenablage / Download laufen alle als JavaScript auf deinem Rechner — kein js-yaml-CDN, keine Drittanbieter-API.
  • Kein Login, keine Telemetrie zu Konfigurationsinhalten. Wir verwenden nur ein Cookie für den Cookie-Einwilligungsstatus und eines für die Spracheinstellung.
  • Wenn du sensible Infrastruktur-Konfigurationen verarbeitest (kubeconfig-Snippets, Secret-Manifeste, signierte Zertifikate), zählt die Datenschutz-Story — füge sie ohne Sorge ein. In den DevTools überprüfbar.

Verwandte Anleitungen

Handverlesene Lektüre zu YAML-Konfigurationsmustern, JSON-Tooling und DevOps-Dateiformaten.

Häufig gestellte Fragen

Warum eine eigene YAML-Unterstützung bauen, wenn es <code>js-yaml</code> gibt?

js-yaml ist großartig, fügt aber jeder Seite ~30 KB minified hinzu. Reale Konfig-YAML nutzt nur einen kleinen Ausschnitt der Spezifikation — Block-Mappings, Block-Sequenzen, Flow-Style, Skalartypen, mehrzeilige Literals. Wir haben genau dieses Subset (~5 KB) selbst geschrieben, damit der Kaltstart schnell bleibt. Falls dein YAML Anker, Aliase oder Custom-Tags nutzt, lass es lieber durch eine CI-Pipeline mit js-yaml laufen.

Welche YAML-Funktionen werden NICHT unterstützt?

Drei in Konfig-Dateien seltene Funktionen: (1) Anker und Aliase (&name / *name) — zur Deduplizierung innerhalb eines Dokuments; (2) Custom-Tags (!!str / !!float / !!omap) — zur Überschreibung impliziter Typinferenz; (3) Multi-Doc-Dateien mit ----Trennern. Keines davon kommt in Standard-k8s, GitHub Actions, Docker Compose, helm oder ansible vor. Wenn du sie brauchst, greif zu einem vollständigen YAML-Parser.

Werden Kommentare erhalten?

Nein — Kommentare werden beim Parsen entfernt. YAML unterstützt Kommentare (#...), JSON aber nicht. Ein Roundtrip von YAML durch JSON verliert Kommentar-Informationen per Definition. Wir entfernen Kommentare beim Parsen, statt sie mit Tricks zu erhalten. Wenn du kommentar-erhaltendes YAML-Editing brauchst, bearbeite das YAML direkt.

Warum wird meine Zahl in einen String konvertiert?

Die impliziten Typregeln in YAML sind lockerer als in JSON: 1.2.3 ist in YAML ein String (keine Zahl, da zwei Punkte), und Versionsstrings wie v1.2 sind Strings, sofern nicht gequotet. Wir folgen den impliziten Typregeln von YAML 1.2: Nur Ziffern, die ^-?\d+(\.\d+)?([eE][-+]?\d+)?$ matchen, werden Zahlen; alles andere bleibt String. Wenn du exakte numerische Behandlung brauchst, quote den Wert in YAML oder verwende JSON direkt.

Wird irgendetwas an euren Server gesendet?

Nein. Der YAML-Parser, Serializer, JSON-Parser und das Kopieren in die Zwischenablage laufen alle als JavaScript auf deinem Gerät. Öffne DevTools → Netzwerk und du siehst während der Konvertierung null ausgehende Requests. Füge produktive k8s-Manifeste, interne CI-Konfigurationen, geheimnisbeladene helm values ein — nichts verlässt deinen Laptop.