ToolDeck

TOML Formatter

Formatteer en valideer TOML-configuratiebestanden

Probeer een voorbeeld

TOML-invoer

Geformatteerde TOML

Draait lokaal · Veilig om secrets te plakken
Geformatteerde TOML verschijnt hier…
Probeer ook:TOML to JSON

Laatst bijgewerkt: april 2026

Wat is TOML-opmaak?

TOML (Tom's Obvious Minimal Language) is een configuratiebestandsformaat dat in 2013 is gemaakt door Tom Preston-Werner. Het wordt direct vertaald naar een hashtabel en gebruikt expliciete typen voor alle waarden. Een TOML-formatter neemt ruwe of inconsistent opgemaakte TOML en herserialiseert deze met uniforme spatiëring, correcte inspringing en canonieke sleutelordening. Het resultaat is een bestand dat in het hele project dezelfde conventies volgt, waardoor configuratiewijzigingen makkelijker te beoordelen zijn in diffs.

De TOML v1.0.0-specificatie, definitief vastgesteld in januari 2021, definieert de grammatica strikt genoeg dat elke conforme parser een identieke gegevensstructuur produceert uit dezelfde invoer. Opmaak verandert de semantische inhoud van een TOML-bestand niet. Alleen witruimte, sleutelgroepering en aanhalingstekenstijl worden aangepast. Dit betekent dat u TOML-bestanden vrijelijk kunt formatteren zonder te hoeven zorgen dat het gedrag van uw applicatie verstoord wordt.

In tegenstelling tot JSON ondersteunt TOML opmerkingen, native datum-tijdtypes en meerdere tekenreeksvormen (basis, letterlijk en meerregelig). Een goede formatter bewaart opmerkingen en respecteert het onderscheid tussen inline-tabellen en standaard tabelkoppen. Het verwerkt ook arrays van tabellen correct en houdt de sectiegroepering intact, zodat het bestand leesbaar blijft voor zowel mensen als de parsers die het verwerken.

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

Waarom een TOML Formatter gebruiken?

Configuratiebestanden raken stilistisch versnipperd naarmate verschillende teamleden ze in de loop van de tijd bewerken. Tabs worden gemengd met spaties, sommige sleutels worden onnodig geciteerd en tabelsecties verliezen hun visuele groepering. Een TOML-formatter normaliseert dit alles in één keer.

Directe opmaak
Plak ongeformatteerde TOML en ontvang meteen schone, consistent opgemaakte uitvoer. Geen CLI-installatie, geen projectinstellingen, geen wachten op een bouwstap.
🔒
Privacy-eerste verwerking
Alle parsing en opmaak wordt uitgevoerd in uw browser. Uw configuratiegegevens, inclusief eventuele inloggegevens of interne hostnamen, verlaten uw apparaat nooit.
Validatie inbegrepen
De formatter parseert uw TOML voordat deze wordt geherserializeerd. Als de invoer syntaxfouten bevat, krijgt u een duidelijke foutmelding met de problematische regel, zodat opmaak tegelijkertijd als validatie fungeert.
📋
Geen account vereist
Open de pagina en begin met formatteren. Er is geen aanmelding, geen limiet en geen gebruiksregistratie. Het hulpmiddel werkt identiek bij elk bezoek.

Toepassingen van de TOML Formatter

Front-endontwikkeling
Formatteer Wrangler.toml-bestanden voor Cloudflare Workers-projecten of deno.toml-configuraties voor op Deno gebaseerde frontends. Nette opmaak helpt bij het beoordelen van implementatieconfiguraties in pull requests.
Back-endontwikkeling
Standaardiseer Cargo.toml-bestanden over meerdere Rust-microservices. Consistente opmaak maakt het eenvoudig om afhankelijkheidsversies en feature flags door meerdere repositories te scannen.
DevOps en CI/CD
Formatteer configuratiebestanden zoals .goreleaser.toml, netlify.toml of Starship-promptconfiguraties vóór het committen. Voeg een opmaakcontrole toe aan CI-pipelines om stijlconsistentie af te dwingen.
QA en testen
Formatteer testfixtures snel zodat ze leesbaar en vergelijkbaar zijn. Wanneer een test mislukt door configuratieverschillen, maken geformatteerde bestanden de vergelijking tussen verwacht en werkelijk resultaat direct duidelijk.
Data-engineering
Formatteer Telegraf- of InfluxDB-configuraties die dataverzamelingspipelines definiëren. Deze bestanden groeien vaak uit tot honderden regels, en consistente opmaak houdt ze onderhoudbaar.
TOML-syntaxis leren
Plak voorbeelden uit documentatie of tutorials en bekijk hoe een formatter deze normaliseert. Dit is een snelle manier om te leren welke haakjesstijlen, aanhalingsregels en tabelgroeperingen canoniek zijn.

TOML-syntaxisreferentie

TOML heeft een kleine verzameling constructies. De onderstaande tabel toont elk structureel element dat is gedefinieerd in de TOML v1.0.0-specificatie. Een formatter past consistente spatiëring en groepering toe op al deze elementen.

SyntaxisNaamOpmerkingen
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML vs JSON vs YAML

TOML, JSON en YAML lossen overlappende problemen op, maar maken verschillende afwegingen.

FunctieTOMLJSONYAML
Opmerkingen# regelopmerkingenNiet ondersteund# regelopmerkingen
Getypeerde waardenString, int, float, bool, datetimeString, number, bool, nullAfgeleid (foutgevoelig)
Nesting[table]-koppenAccoladesOp inspringing gebaseerd
SpecificatiestrengheidStrikt (één parseresultaat)Strikt (RFC 8259)Losjes (meerdere geldige parses)
Datum/tijd-ondersteuning4 native typenGeen (gebruik tekenreeksen)Impliciet (fragiel)
Afsluitende komma'sNiet toegestaanNiet toegestaanN.v.t. (geen komma's)

Codevoorbeelden

De onderstaande voorbeelden formatteren TOML programmatisch in verschillende talen en hulpmiddelen. Elk leest een bestand, parseert het en schrijft een geformatteerde versie.

JavaScript (Node.js)
import { parse, stringify } from '@iarna/toml'
import fs from 'fs'

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

Veelgestelde vragen

Wat doet een TOML-formatter?
Een TOML-formatter parseert het bestand naar een gegevensstructuur en herserialiseert het vervolgens met consistente witruimte, sleutelordening en aanhalingstekenstijl. De semantische inhoud blijft hetzelfde. Alleen de visuele weergave verandert: spatiëring rond gelijktekens, lege regels tussen tabelsecties en inspringing van geneste waarden.
Is TOML-opmaak veilig voor productieconfiguraties?
Ja. Opmaak wijzigt alleen witruimte en cosmetische details. De geparseerde gegevensstructuur voor en na het formatteren is identiek. Als de formatter ongeldige invoer tegenkomt, rapporteert deze een fout in plaats van gebroken uitvoer te produceren. U kunt dit verifiëren door beide versies te parseren en de resulterende objecten te vergelijken.
Hoe verschilt TOML van JSON?
TOML ondersteunt opmerkingen, native datum-tijdtypes, meerregelige tekenreeksen en tabelkoppen voor het organiseren van geneste gegevens. JSON heeft geen van deze mogelijkheden. Het formaat is ontworpen voor configuratiebestanden die mensen lezen en bewerken. JSON is ontworpen voor gegevensuitwisseling tussen programma's. U kunt geen opmerkingen gebruiken in JSON, waardoor het moeilijker is om configuratiebeslissingen inline te documenteren.
Kan ik TOML via de opdrachtregel formatteren?
Ja. Taplo is de meest gebruikte TOML-formatter voor de CLI. Installeer het met cargo install taplo-cli of npm install -g @taplo/cli en voer vervolgens taplo fmt uit om alle .toml-bestanden in uw project te formatteren. Het ondersteunt configuratie via een taplo.toml- of .taplo.toml-bestand voor aangepaste regels.
Bewaart opmaak opmerkingen in TOML-bestanden?
Deze browsergebaseerde formatter parseert de invoer naar een gegevensstructuur en herserialiseert deze, waardoor opmerkingen worden verwijderd. Als u opmerkingen wilt bewaren, gebruik dan een CST-bewust hulpmiddel zoals Taplo (CLI) of toml-edit (Rust-bibliotheek), die werken op de concrete syntaxisboom in plaats van de geparseerde gegevens.
Wat is het verschil tussen TOML-opmaak en TOML-validatie?
Validatie controleert of het bestand voldoet aan de specificatie en rapporteert fouten als dat niet het geval is. Opmaak gaat een stap verder: het valideert de invoer en herschrijft deze vervolgens met genormaliseerde stijl. Elke opmaakaanroep omvat validatie als eerste stap, dus een bestand dat succesvol is geformatteerd is gegarandeerd geldig.
Welke projecten gebruiken TOML als configuratieformaat?
Rust's Cargo (Cargo.toml), het Python-verpakkingsecosysteem (pyproject.toml), Hugo statische sites, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf en Starship prompt gebruiken allemaal TOML. Het formaat won aan populariteit nadat Rust het in 2015 adopteerde als standaard voor pakketmanifesten.