A minimal, human-readable configuration file format that maps unambiguously to a hash table.
TOML is a minimal configuration file format designed to be easy to read due to obvious semantics. It maps unambiguously to a hash table and is intended for application configuration, prioritizing human readability and straightforward parsing over arbitrary data serialization.
Developers and system administrators who need a simple, human-readable format for configuration files in applications, tools, or services.
TOML offers a balance between human readability (like YAML) and simplicity (like JSON), with a clear syntax that avoids the complexity and ambiguity found in other configuration formats.
Tom's Obvious, Minimal Language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports comments and uses obvious semantics, making configuration files easy for humans to read and edit, as demonstrated in the example with inline comments and clear key-value pairs.
Designed to map unambiguously to a hash table at the top level, ensuring consistent and error-free parsing across different implementations, which reduces configuration bugs.
Easy to parse into data structures in many programming languages, with numerous implementations and validators listed in the official wiki, facilitating adoption in diverse projects.
Explicitly intended for configuration files, avoiding the complexity of YAML and the verbosity of JSON, which simplifies onboarding and maintenance for straightforward settings.
Cannot directly serialize top-level arrays or floats, and is not intended for arbitrary data structures, restricting its use to configuration-only scenarios as admitted in the README.
Lacks standard markers for the start or end of files, complicating use in streaming applications where delimiters are necessary, requiring additional application-layer negotiation.
Deeply nested structures can become repetitive and less readable due to the requirement for explicit table definitions, compared to more concise formats in some cases.
TOML is an open-source alternative to the following products:
JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write and for machines to parse and generate.
INI is a configuration file format commonly used for storing settings in software applications, consisting of sections, properties, and values.