What is TOML?

TOML is a configuration format with explicit types and a table syntax, designed to be unambiguous where YAML is clever.

Who uses it

Rust and Python projects, and anything with a pyproject.toml or Cargo.toml.

Writing TOML

Each row becomes an entry in an array of tables. Keys are sanitised to bare keys where possible and quoted where not.

What it can hold

TOML is a data interchange format. TOML has no null, so a missing value has to become an empty string or an absent key. A machine can read the table back out of it without guessing, which is what makes it safe to convert into and out of.

It keeps

It cannot express

What it looks like

Example TOML
[[staff]]
id = "007"
name = "Halima Yusuf"
role = "Analyst, data"
started = "2024-03-15"
hours = "38.5"

[[staff]]
id = "012"
name = "Jonah \"Jo\" Pryce"
role = "Engineer"
started = "2025-11-02"
hours = ""

[[staff]]
id = "104"
name = "Wei Chen"
role = "Manager"
started = "2023-06-30"
hours = "40"

Questions

How do I open TOML files?

TOML is written by Tablizer rather than read by it. Open the file in whichever tool the format belongs to.

Is TOML a good format for sharing data?

It depends who is receiving it. Rust and Python projects, and anything with a pyproject.toml or Cargo.toml. If the recipient is outside that group, a plain CSV travels further than anything else.

Convert something else to TOML