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. |
TOML einrücken und auf Syntax prüfen
TOML ist ein Format für Konfigurationsdateien, und sein Reiz liegt in der Schlichtheit, einfach `key = value` untereinander zu setzen. Dieses Werkzeug bringt das eingefügte TOML in Form und beurteilt zugleich, ob die Syntax trägt; ist etwas beschädigt, wird die betreffende Zeile benannt.
**Worüber man bei TOML als Erstes stolpert, ist dass die Struktur aus Überschriftenzeilen der Form `[Tabelle]` entsteht und nicht aus der Einrückung.** Wer von YAML kommt, greift zur Einrückung, um Ebenen auszudrücken, doch in TOML bedeutet Einrückung schlicht gar nichts: **Die zwischen einer Tabellenüberschrift und der nächsten geschriebenen Schlüssel gehören zu dieser Tabelle.** Es ist mithin die Position der Zeile, die über die Struktur entscheidet. Das zweite Kennzeichen ist, dass Datum und Uhrzeit vollwertige Typen sind, sodass ein Wert wie `2026-09-20T10:00:00Z` ohne Anführungszeichen genau so geschrieben werden darf.
So gehen Sie vor
- Fügen Sie das TOML ein Der Inhalt einer `Cargo.toml` oder `pyproject.toml` lässt sich unverändert einsetzen.
- Prüfen Sie das Urteil **Einwandfreies wird als gültiges TOML ausgewiesen; scheitert die Syntax, wird die betreffende Zeile genannt.**
- Lesen Sie die formatierte Ausgabe Schlüssel und Werte stehen bündig, und die Grenzen zwischen den Tabellen treten deutlich hervor.
- Kopieren Sie es zurück Der aufgeräumte Inhalt lässt sich unverändert in die Datei zurückschreiben.
Tipps für die Nutzung
- 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.
Wofür Sie es nutzen können
Bei der Suche nach einem Fehler in einer Konfigurationsdatei
**Eine falsch platzierte Tabellenüberschrift verschiebt stillschweigend, zu welcher Tabelle ein Schlüssel gehört — eine Art Fehler, die das Auge selten erwischt.**
Beim Lesen der Projekteinstellungen in Rust oder Python
Eine formatierte `Cargo.toml` oder `pyproject.toml` lässt die Grenzen zwischen den Abhängigkeiten weit leichter verfolgen.
Beim Prüfen einer Umstellung aus einem anderen Format
Aus JSON oder YAML übertragene Einstellungen lassen sich auf der Stelle darauf prüfen, ob die Syntax trägt.
Beim Vereinheitlichen des Stils im Team
Vor dem Übernehmen zu formatieren hält verirrten Leerraum aus dem Diff heraus und lässt nur das Wesentliche stehen.
Begriffe zu TOML
- Tabelle
- Eine in eckigen Klammern geschriebene Überschrift wie `[package]`, die **die Schlüssel von dort bis zur nächsten Überschrift zu einer Gruppe zusammenfasst.**
- Tabellenfeld
- Die mit doppelten Klammern geschriebene Form `[[dependencies]]`. Jede Wiederholung derselben Überschrift fügt dem Feld ein weiteres Element hinzu.
- Inline-Tabelle
- Eine in einer Zeile geschriebene Tabelle wie `{ a = 1, b = 2 }`. **Sie eignet sich für kurze Einstellungen, lässt sich aber nicht über Zeilen umbrechen.**
- Einfache Zeichenkette
- Eine Zeichenkette in doppelten Anführungszeichen, in der Escapes wie `\n` wirken.
- Wörtliche Zeichenkette
- Eine Zeichenkette in einfachen Anführungszeichen. **In ihr wirkt kein einziges Escape, was sie zur richtigen Wahl für Windows-Pfade und reguläre Ausdrücke macht.**
- Datum und Zeit
- Ein Typ, den TOML von Haus aus bietet. Ein Datum oder eine Zeit wie `1979-05-27T07:32:00Z` darf ohne Anführungszeichen stehen.
Häufig gestellte Fragen
[[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."""...""" 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.
Ü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.