TOML-Formatierer & Validator

Fügen Sie TOML ein, formatieren mit kanonischem TOML 1.0-Layout oder validieren Sie die Syntax. Kein Upload.

  1. Fügen Sie Ihr TOML in den linken Textbereich ein.
  2. Klicken Sie auf Formatieren, um durch @iarna/toml Round-Trip zu machen und kanonisches Layout zu erzeugen.
  3. Klicken Sie auf Validieren, um die Syntax zu prüfen, ohne die Eingabe zu ändern.
  4. Fehler weisen auf die fehlerhafte Zeile und Spalte hin.
Was macht es?

Parst Ihr TOML mit @iarna/toml im TOML-1.0-Modus und gibt es mit kanonischem Layout erneut aus — Schlüssel vor Untertabellen, konsistente Anführung, Ganzzahl-Unterstriche entfernt. Die Validieren-Schaltfläche prüft die Syntax gegen die Spezifikation, ohne die Eingabe zu ändern. Kommentare werden während des Round-Trips entfernt (TOML-Formatierer können sie im Allgemeinen nicht über einen Parse-and-Dump-Zyklus erhalten).

Beispiel

Unordentliche TOML-Eingabe:

[server]
host="localhost"
port=8080

name="myapp"

Formatierte Ausgabe:

name = "myapp"

[server]
host = "localhost"
port = 8080

Häufige TOML-Fehler und wie man sie behebt

TOML 1.0 hat strengere Regeln als YAML oder JSON. Die folgenden Muster decken die meisten Parser-Fehler ab.

  • Strings ohne Anführungszeichen. `name = Ada` ist ungültig. Verwenden Sie doppelte Anführungszeichen: `name = "Ada"`.
  • Eine Tabelle erneut definieren. `[a]` zweimal zu definieren ist ein Fehler. Jede Tabellenüberschrift darf höchstens einmal erscheinen. Führen Sie Schlüssel in einem einzelnen `[a]`-Block zusammen.
  • Top-Level-Schlüssel nach einer Tabelle. Sobald Sie `[section]` schreiben, gehören alle nachfolgenden Schlüssel zu dieser Sektion. Schlüssel müssen vor ihrer ersten Tabellenüberschrift kommen. Der Formatierer ordnet das für Sie um, aber die rohe Eingabe muss bereits gültig sein.
  • Datetime ohne Zeitzone. `d = 2026-04-26T12:00:00` (kein Z oder Offset) ist eine „lokale Datetime". Sie parst, aber JSON-Stil-Konsumenten haben möglicherweise keine Möglichkeit, Lokalität darzustellen. Verwenden Sie `2026-04-26T12:00:00Z` für UTC.
  • Inline-Tabellen-Erweiterung. Inline-Tabellen `point = {x=1, y=2}` sind geschlossen und in sich abgeschlossen. Sie können später nicht `point.z = 3` schreiben. Verwenden Sie die Standard-`[point]`-Blocksyntax zum Erweitern.
  • Verwirrung beim Triple-Quote-Escape. `"""..."""` (basic Multi-Line) verarbeitet Escapes; `\'\'\'...\'\'\'` (literal Multi-Line) nicht. Die beiden zu mischen ist der häufigste Multi-Line-String-Fehler.
Häufig gestellte Fragen

Ändert Formatieren meine Daten?

Nur das Layout — Schlüssel werden umgeordnet, um Primitive vor Untertabellen zu setzen (eine TOML-Regel), Abstände werden normalisiert, Ganzzahl-Unterstriche werden entfernt (TOML-Semantik). Die Werte selbst bleiben unverändert.

Werden TOML-Kommentare erhalten?

Nein. @iarna/toml verwirft Kommentare während des Parse-and-Dump-Round-Trips. Wenn Sie kommentarerhaltende Formatierung brauchen, bräuchten Sie eine andere Bibliothek, die Quellpositionsinformationen behält.

Validiert das gegen TOML 1.0?

Ja. @iarna/toml folgt TOML 1.0 — einschließlich der Zulassung von Arrays mit gemischten Typen, Punktschlüsseln und überarbeiteten String-Regeln. Eingaben, die von TOML-0.5-exklusivem Verhalten abhängen (homogene Arrays erforderlich), parsen hier auch noch, können aber bei strengeren 0.5-Parsern brechen.

Wie groß darf die TOML-Datei sein?

Bis zu etwa 30 MB, bevor das Textfeld langsam wird. Die meisten Konfigurationsdateien liegen weit unter 1 MB.

Wird mein TOML hochgeladen?

Nein. Alles läuft in Ihrem Browser — Ihre Eingabe wird durch JavaScript auf dieser Seite geparst und neu serialisiert und nie an einen Server gesendet.

Warum ordnet der Formatierer meine Schlüssel um?

TOML 1.0 erfordert, dass Top-Level-Schlüssel (Primitive) vor jeder Tabellenüberschrift im selben Geltungsbereich erscheinen. Der Formatierer setzt das durch, indem er Primitive vor Untertabellen sortiert. Wenn Ihre ursprüngliche Eingabe eine andere Reihenfolge hatte, normalisiert der Formatierungsschritt sie.