calculate.sh EN

Dieses Werkzeug wird per JavaScript in Ihrem Browser ausgeführt. Falls es nicht erscheint, aktivieren Sie bitte JavaScript oder laden Sie die Seite neu. Die Beschreibung unten erklärt die Funktionsweise.

YAML-Formatierer

YAML formatieren und in JSON umwandeln - direkt im Browser. Fügen Sie YAML in das Eingabefeld ein und das Tool richtet die Einrückung live neu aus, behält dabei jeden Kommentar an seinem Platz, warnt bei doppelten Schlüsseln und zeigt dieselbe Datei außerdem als hübsch eingerücktes JSON darunter an. Alles läuft lokal auf Ihrem Gerät: Es wird nichts gesendet und nichts hochgeladen, sodass Sie gefahrlos Konfigurationsdateien mit Zugangsdaten bearbeiten können.

Was ist YAML?

YAML (kurz für „YAML Ain't Markup Language") ist ein menschenfreundliches Format zur Beschreibung strukturierter Daten. Es steckt überall in Konfigurationsdateien: in Docker-Compose-Projekten, Kubernetes-Manifesten, GitHub-Actions-Workflows, Pre-commit-Hooks, Ansible-Rollen und in den Konfigurationen vieler Dienste. Statt der schwerfälligen Satzzeichen von JSON zeigt YAML die Verschachtelung über die Einrückung:

server:
  host: api.example.com
  port: 443
  tls: true
endpoints:
  - /health
  - /metrics

Ein einfacher Texteditor zeigt die Struktur bereits an; die Einrückung übernimmt die Arbeit, die in JSON geschweifte Klammern und Anführungszeichen tun.

So verwenden Sie das Tool

Fügen Sie YAML in den Bereich Eingabe ein. Das Tool analysiert die Eingabe bei jedem Tastendruck neu und aktualisiert die beiden Ergebnisbereiche darunter:

  • Formatiertes YAML - dasselbe Dokument, einheitlich auf die gewählte Einrückungsbreite ausgerichtet. Über den Auswahlknopf Einrücken in der Symbolleiste wählen Sie zwischen 2 Leerzeichen und 4 Leerzeichen. Eine Tabulator-Option gibt es bewusst nicht: Die YAML-Norm verbietet Tabulatoren für die Einrückung von Blöcken - Mappings und Sequenzen im Blockstil müssen Leerzeichen verwenden.
  • JSON-Konvertierung - der semantisch identische Inhalt als hübsch eingerücktes JSON, mit eigenem Kopieren-Knopf.

Beide Bereiche haben einen Kopieren-Knopf, der das Ergebnis in die Zwischenablage legt; ein Fallback deckt Browser ab, in denen die Clipboard-API nicht verfügbar ist.

Kommentare bleiben erhalten

Der Formatier-Durchgang bewahrt die Kommentare des Dokuments: Kopfkommentare über dem Dokument, Kommentare zwischen Schlüsseln und die # inline-Kommentare hinter einem Wert in derselben Zeile überleben alle. Die zugrunde liegende YAML-Bibliothek hält Kommentare im Syntaxbaum, statt sie beim Parsen zu verwerfen - deshalb erscheinen sie im Ergebnis wieder an der richtigen Stelle. Genau deshalb formatiert das Tool statt zu minifizieren: Ein „Minify"-Modus wäre für YAML unsinnig, weil das Verwerfen der Kommentare den einzigen Grund zerstören würde, aus dem viele Dateien überhaupt in YAML geschrieben werden.

Doppelte Schlüssel

Weil doppelte Schlüssel in zusammengeführter Konfiguration ein echtes Risiko sind, prüft das Tool jedes Mapping und zeigt eine gelbe Doppelter Schlüssel-Warnung unter dem formatierten Ergebnis. Die Meldung nennt den Schlüssel, die Stelle des zweiten Vorkommens und die Stelle des ersten. Genau genommen verlangt die YAML-Spezifikation eindeutige Schlüssel innerhalb eines Mappings – ein Dokument mit doppelten Schlüsseln ist also kein gültiges YAML. Viele Parser sind trotzdem tolerant, und dieses Werkzeug ebenfalls: Als bewusste Entscheidung dieser Implementierung wird weiter geparst, in der JSON-Konvertierung gewinnt der letzte Wert, und die Warnung macht das Problem sichtbar, damit Sie die Quelldatei korrigieren können. Paare in verschiedenen Geschwister-Mappings werden nie miteinander verglichen, sodass ein name-Schlüssel unter server und ein weiterer unter client keinen Fehlalarm auslöst.

Fehler mit Zeile und Spalte

Ein unfertiger Block oder eine beschädigte Flow-Sequenz erzeugt einen Fehler mit exakter Zeilen- und Spaltenangabe, zum Beispiel Flow sequence in block collection must be sufficiently indented and end with a ] (line 2, column 1). Die Meldung erscheint im Bereich „Formatiertes YAML", und der JSON-Bereich wartet, bis die Eingabe wieder korrekt geparst wird.

YAML in JSON umwandeln

Der Bereich JSON-Konvertierung rendert das geparste Dokument als JSON:

  • Anker und Aliase werden aufgelöst - auf a: &v 1 folgendes b: *v ergibt im JSON "a": 1, "b": 1.
  • Block-Skalare (Stile | und >) werden zu mehrzeiligen JSON-Zeichenketten mit echten Zeilenumbrüchen.
  • Zeitstempel wie 2026-10-05 oder 2026-10-05T12:00:00Z bleiben Zeichenketten, genau wie geschrieben – das YAML-1.2-Core-Schema kennt keinen Datumstyp.
  • Booleans und Zahlen werden zu ihren JSON-Entsprechungen; null bleibt null. Ganzzahlen behalten jede Ziffer, auch jenseits des sicheren JavaScript-Bereichs: id: 9007199254740993 bleibt in beiden Bereichen 9007199254740993.
  • Eine Eingabe, die nur Kommentare und keinen Dokumentinhalt enthält, wird zu null konvertiert.

Hinweise

  • Nur ein Dokument - YAML-Streams mit mehreren durch --- getrennten Dokumenten werden mit einer klaren Meldung abgelehnt. Formatieren Sie ein Dokument nach dem anderen.
  • Merge-Keys bleiben wörtlich - die <<:-Merge-Syntax wird als reguläres YAML behandelt, aber nicht in das Objekt aufgelöst, das sie zusammenführt; die JSON-Konvertierung behält den <<-Schlüssel so bei, wie er erscheint.
  • Jenseits der JSON-Grenzen - .inf und .nan lassen sich in JSON nicht darstellen und erzeugen einen verständlichen Fehler statt eines stillen null. Dezimalzahlen mit mehr Stellen, als eine 64-Bit-Gleitkommazahl speichern kann (etwa 1.00000000000000001), werden mit einer gelben Genauigkeits-Warnung markiert, die den tatsächlich verwendeten Wert anzeigt.
  • Windows-Zeilenenden - CRLF-Eingaben werden verarbeitet; die Ausgabe des Werkzeugs verwendet standardmäßig LF-Zeilenenden.
  • Kombinieren Sie es mit dem JSON-Formateur - zum Aufräumen des Ergebnisses oder für den Weg in die andere Richtung: Der JSON-Formatierer validiert, formatiert und minifiziert das von Ihnen konvertierte JSON.