TOML-Formatierer

Formatiert und validiert TOML (Tom's Obvious, Minimal Language). Richtet key = value, Tabellen und Arrays sauber aus und zeigt Syntaxfehler mit Zeilennummer an.

Wichtigste TOML-Datentypen

Typ Beispiel Beschreibung
Zeichenkette (Basic) "hello" Wird in doppelte Anführungszeichen gesetzt. Unterstützt Escape-Sequenzen wie \n und \t.
Zeichenkette (Literal) 'C:\path' Wird in einfache Anführungszeichen gesetzt. Es findet keinerlei Escaping statt, praktisch für Pfade mit Backslashes.
Ganzzahl 42 Standardmäßig dezimal; unterstützt auch 0x (hex), 0o (oktal), 0b (binär) sowie Unterstrich-Trenner wie 1_000.
Fließkommazahl 3.14 Exponentialschreibweise (1e10) sowie die Spezialwerte inf/nan sind ebenfalls gültig.
Wahrheitswert true Nur true oder false. Großgeschriebene Formen wie True sind ungültig.
Array [1, 2, 3] Durch Kommas getrennte Werte in eckigen Klammern. Ein abschließendes Komma ist erlaubt.
Tabelle [server] Jedes key = value-Paar nach einer Abschnitts-Überschrift gehört zu dieser Tabelle.
Tabellen-Array [[fruits-basket]] Durch Wiederholung desselben Tabellennamens wird ein Array ausgedrückt (z. B. mehrere Abhängigkeitsdefinitionen).
Datum/Uhrzeit 1979-05-27T07:32:00Z RFC-3339-Format — der einzige zusammengesetzte Wert, der ohne Anführungszeichen geschrieben werden kann.

Tipps

  • Es werden nur einzeilige Inline-Arrays und Inline-Tabellen unterstützt. Erstreckt sich Ihr Array über mehrere Zeilen, fassen Sie es vor dem Einfügen in einer Zeile zusammen.
  • Der Formatierer normalisiert stets genau ein Leerzeichen auf jeder Seite von "=" und vereinheitlicht die Trennzeichen von Arrays/Inline-Tabellen zu ", ", wodurch Unterschiede zwischen verschiedenen Autoren ausgeglichen werden.
  • Kommentare (alles nach #) bleiben erhalten; die einzige Änderung besteht darin, direkt nach "#" ein fehlendes Leerzeichen einzufügen — die Bearbeitung bleibt also minimal.
  • Aufeinanderfolgende Leerzeilen werden zu einer einzigen zusammengefasst, wodurch die Grenzen zwischen Tabellen leichter erkennbar werden.
  • Die gesamte Verarbeitung erfolgt vollständig in Ihrem Browser — nichts, was Sie hier einfügen, wird jemals an einen Server gesendet.

Häufig gestellte Fragen

TOML eignet sich gut für eher flache Dateien mit vielen Schlüssel-Wert-Paaren, die von mehreren Personen bearbeitet werden (z. B. Abhängigkeits-Manifeste), da Einrückungsfehler selten etwas kaputt machen. YAML ist meist besser geeignet, wenn tief verschachtelte Strukturen oder mehrere Dokumente in einer Datei benötigt werden.

Jede [[section]]-Überschrift wird korrekt formatiert, jedoch werden wiederholte gleichnamige Abschnitte nicht wie bei einem vollständigen TOML-zu-JSON-Konverter zu einem einzigen array-artigen Objekt zusammengeführt. Prüfen Sie bei komplexen Tabellen-Array-Strukturen das zeilenweise formatierte Ergebnis visuell.

Das Tool erkennt die RFC-3339-Syntax und gibt den Wert unverändert aus, prüft jedoch nicht die kalendarische Richtigkeit (z. B. wird ein „30. Februar" nicht erkannt). Wenn eine strikte Datumsprüfung wichtig ist, prüfen Sie dies separat.

"""...""" und '''...''' werden derzeit nicht unterstützt, und die betreffende Zeile wird als Fehler gemeldet. Wandeln Sie längeren Text vor der Formatierung in eine einzeilige, escapte Zeichenkette um.

Nein. Die gesamte Formatierung läuft vollständig in Ihrem Browser über JavaScript ab — nichts wird an einen Server gesendet oder dort gespeichert, sodass das Tool auch bei Konfigurationsdateien mit Zugangsdaten bedenkenlos genutzt werden kann.
ツールくん

Übrigens – Warum TOML zur gemeinsamen Sprache der Konfigurationsdateien wurde

TOML wurde 2013 von GitHub-Mitbegründer Tom Preston-Werner entwickelt, und der ausgeschriebene Name „Tom's Obvious, Minimal Language" bringt das Designziel direkt auf den Punkt: ein Format, das für Maschinen so leicht zu parsen ist wie JSON, sich für Menschen aber völlig eindeutig lesen und schreiben lässt.

Der entscheidende Durchbruch kam, als Cargo, der Paketmanager von Rust, Cargo.toml als Manifestformat übernahm. Später führte PEP 518 pyproject.toml als Python-Packaging-Standard ein und vereinheitlichte damit das zuvor uneinheitliche Nebeneinander von setup.py, setup.cfg und requirements.txt.

Der größte Unterschied zu YAML besteht darin, dass TOML der Einrückung keinerlei Bedeutung beimisst. Bei YAML kann ein kleiner Einrückungsfehler die Datenstruktur unbemerkt verändern oder einen Syntaxfehler auslösen; TOML drückt Hierarchien dagegen ausschließlich über [section]-Überschriften und key = value-Paare aus, wodurch Copy-Paste-Fehler deutlich unwahrscheinlicher werden.

Dafür büßt TOML einen Teil der Ausdruckskraft von YAML ein: Es fehlen Anker/Aliase zur Wiederverwendung von Werten, und tief verschachtelte Strukturen werden umständlicher — viele Teams entscheiden sich daher je nach Datenform zwischen TOML, YAML und JSON.

→ Alle Wissenstexte ansehen