TOML (Tom's Obvious Minimal Language)
TOML is a configuration file format designed for clarity and simplicity. It maps unambiguously to a hash table and is easy for humans to read and write. TOML is the standard format for Rust's Cargo.toml and Python's pyproject.toml.
MIME Type
application/toml
Type
Text
Compression
Lossless
Advantages
- + Unambiguous — no implicit type coercion unlike YAML
- + Native datetime support without quoting
- + Simple, flat structure that maps directly to hash tables
- + Standard in Rust and Python ecosystems
Disadvantages
- − Deeply nested data structures become verbose
- − Less widespread tool support compared to JSON and YAML
- − No standard way to represent null values
When to Use .TOML
Use TOML for configuration files — especially in Rust (Cargo.toml) and Python (pyproject.toml) ecosystems. Ideal where unambiguous parsing matters.
Technical Details
TOML uses key-value pairs, tables (sections in brackets), arrays of tables (double brackets), and natively typed values including datetime, integers, floats, booleans, and strings. Indentation is not significant.
History
Tom Preston-Werner (co-founder of GitHub) created TOML in 2013 as a minimal alternative to YAML and JSON for configuration files. TOML 1.0 was released in January 2021 after extensive community input.