TOML Configuration Format

TOML Configuration Format

github.com

1

About this website

TOML (Tom's Obvious, Minimal Language) is a configuration file format designed to be easy to read and write for humans, while also being easy to parse for programs. Created by Tom Preston-Werner (co-founder of GitHub) in 2013, TOML has over 21,000 stars as of 2026 and has become one of the most popular configuration formats, used by Rust's Cargo (Cargo.toml), Python's build system (pyproject.toml), Hugo, Pelican, InfluxDB, and thousands of other projects. TOML aims to replace complex formats like YAML and verbose formats like XML with a simpler, more predictable alternative. Key features include: minimal syntax (using simple key = value pairs, tables in square brackets, and arrays of tables with double brackets, with no surprising edge cases like YAML's Norway problem), type system (supporting strings, integers, floats, booleans, datetime values, arrays, and inline tables with clear type semantics), tables (organizing configuration into sections via table headers like [section], with dotted keys for nested tables), arrays of tables (defining collections of tables via [[products]] syntax, enabling list-like data structures), multi-line strings (triple-quoted strings for multi-line text blocks, with line-ending normalization), datetime support (native datetime, date, time, and local datetime types following RFC 3339 format), comments (hash-prefixed comments on any line, ignored by the parser), strongly typed values (each value has a well-defined type, unlike YAML's implicit typing), 1.0.0 specification (the TOML 1.0.0 spec finalized in 2021 provides a stable, well-documented standard), ABNF grammar (formal grammar definition ensuring parser consistency), and broad language support (parsers available for over 50 programming languages including Go, Rust, Python, JavaScript, Java, C#, Ruby, and PHP).

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!