In dit artikel
Wat is TOML?
TOML (Tom's Obvious, Minimal Language) is een configuratiebestandsformaat dat is ontworpen om gemakkelijk te lezen en schrijven te zijn. Gemaakt door Tom Preston-Werner (medeoprichter van GitHub), wordt TOML duidelijk toegewezen aan een hashtabel en is het bedoeld om ondubbelzinnig te zijn.
TOML is het configuratieformaat bij uitstek voor Rust (Cargo.toml), Python (pyproject.toml) en veel statische site-generatoren. Het ondersteunt commentaren, datum-tijd literals en geneste tabellen terwijl het eenvoudiger blijft dan YAML.
TOML-syntaxregels
TOML-syntaxis is ontworpen om minimaal en ondubbelzinnig te zijn.
- Sleutel/waarde-paren — het basisbouwblok, geschreven als sleutel = waarde op elke regel. Sleutels kunnen kaal, tussen aanhalingstekens of met punten zijn.
- Tabellen — secties gedefinieerd met [tabelnaam] headers die gerelateerde sleutel/waarde-paren groeperen. Tabellen kunnen genest worden.
- Arrays — geordende lijsten gedefinieerd met vierkante haken [1, 2, 3]. Alle elementen moeten van hetzelfde type zijn.
- Datum-tijd literals — TOML ondersteunt natively RFC 3339 datums zoals 2026-03-15T14:30:00Z, lokale datums en tijden.
- Meerregelige strings — strings tussen triple aanhalingstekens ("""tekst""") behouden regeleindes.
Veelvoorkomende TOML-patronen
TOML wordt veel gebruikt in projectconfiguratiebestanden in verschillende ecosystemen.
- Cargo.toml — Rust's pakketbeheerder gebruikt TOML voor projectmetadata, afhankelijkheden en build-profielen
- pyproject.toml — Python's moderne buildsysteemconfiguratie, gedefinieerd door PEP 517/518
- Hugo config — de Hugo statische site-generator gebruikt TOML voor siteconfiguratie
- Netlify config — netlify.toml configureert build-commando's, redirect-regels en omgevingsvariabelen
Probeer gratis — geen aanmelding vereist
TOML online valideren →Veelvoorkomende validatiefouten
TOML is strikt door ontwerp — veel fouten die YAML stilzwijgend zou accepteren, falen in TOML.
- Dubbele sleutels — TOML verbiedt het tweemaal definiëren van dezelfde sleutel in dezelfde tabel.
- Ongeldig datumformaat — TOML vereist RFC 3339 datums. Veelvoorkomende fouten zijn het ontbreken van de T-scheider.
- Gemengde arraytypen — alle elementen in een TOML-array moeten van hetzelfde type zijn.
- Niet-gesloten strings — het vergeten om een string te sluiten veroorzaakt parsefouten.
TOML vs YAML vs JSON
Elk formaat heeft sterke punten die het beter geschikt maken voor bepaalde toepassingen.
- Leesbaarheid — TOML en YAML zijn beide goed leesbaar. TOML gebruikt expliciete syntaxis, YAML vertrouwt op inspringing. JSON is minder leesbaar voor configuratie.
- Striktheid — TOML is het striktst van de drie. Het verwerpt dubbelzinnige constructies.
- Commentaren — TOML en YAML ondersteunen beide commentaren (met #). JSON heeft geen commentaarondersteuning.
Veelgestelde vragen
Hoe werken geneste tabellen in TOML?
TOML ondersteunt geneste tabellen via puntsleutels (a.b.c = waarde) en tabelheaders ([ouder.kind]). Voor arrays van tabellen gebruik [[arraynaam]].
Wat zijn de verschillen tussen TOML v1.0 en eerdere versies?
TOML v1.0 (januari 2021) is de eerste stabiele release. Belangrijke wijzigingen zijn verduidelijkte datetime-verwerking en geformaliseerde inline-tabelsemantiek.
Hoe converteer ik YAML naar TOML?
YAML en TOML hebben verschillende datamodellen. Eenvoudige sleutel-waarde structuren converteren direct. YAML-features zoals ankers en aliassen hebben geen TOML-equivalent.