Tom's Obvious, Minimal Language (TOML, originally Tom's Own Markup Language)[2] is a file format for configuration files.[3] It is designed to be easy to read and write by being minimal (unlike the more-complex YAML) and by using human-readable syntax. The project standardizes the implementation of the ubiquitous INI file format (which it has largely supplanted[citation needed]), removing ambiguity from its interpretation. Originally created by Tom Preston-Werner, the TOML specification is open source. TOML is used in a number of software projects[4][5][6] and is implemented by all popular programming languages.[7]

TOML
Filename extension
.toml
Internet media type
application/toml
Developed by
Initial release23 February 2013; 13 years ago (2013-02-23)
Latest release
1.1.0[1]
18 December 2025; 5 months ago (18 December 2025)
Type of formatData interchange
Open format?Yes
Websitetoml.io Edit this at Wikidata

Syntax

edit

Among other constructs, TOML's syntax primarily consists of key-value pairs, section names in square brackets, and comments delimited by a leading #. TOML's syntax is a superset of the INI format. Contrary to the INI format, which comprises multiple competing variants as a result of ad-hoc parsers, TOML has a formally agreed-upon syntax.

TOML supports the following data types: string, integer, float, boolean, datetime, array, and table.

Example

edit
# This is a TOML document.

title = "TOML Example"

[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true

# Line breaks are okay when inside arrays
hosts = [
  "alpha",
  "omega"
]

[servers]

  # Indentation (tabs and/or spaces) is allowed, but not required
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

Notable uses

edit

TOML is used in a variety of settings, such as:

See also

edit

References

edit
  1. "TOML v1.1.0".
  2. Preston-Werner, Tom (24 February 2013). "Initial commit · toml-lang/toml@84db252". GitHub. Archived from the original on 15 June 2024. Retrieved 15 June 2024.
  3. Preston-Werner, Tom; Gedam, Pradyun (11 January 2021). "TOML: English v1.0.0". Archived from the original on 29 January 2024. Retrieved 27 January 2024.
  4. 1 2 "The Manifest Format - The Cargo Book". doc.rust-lang.org. Archived from the original on 26 August 2019. Retrieved 8 July 2023.
  5. DeVault, Drew (28 July 2021). "My wish-list for the next YAML". Archived from the original on 9 March 2024. Retrieved 28 July 2021. YAML is both universally used, and universally reviled. It has a lot of problems, but it also is so useful in solving specific tasks that it's hard to replace. Some new kids on the block (such as TOML) have successfully taken over a portion of its market share, but it remains in force in places where those alternatives show their weaknesses.
  6. "TOML: Tom's Obvious Minimal Language". toml.io. Archived from the original on 8 August 2022. Retrieved 8 August 2022.
  7. "Toml Implementations". GitHub. Retrieved 2 June 2026.
  8. "PEP 518 – Specifying Minimum Build System Requirements for Python Projects | peps.python.org". Python Enhancement Proposals (PEPs). Retrieved 4 February 2025.
  9. "10. Project.toml and Manifest.toml · Pkg.jl". pkgdocs.julialang.org. Archived from the original on 8 July 2023. Retrieved 8 July 2023.
  10. Blender Documentation Team (17 August 2025). "How to Create Extensions ; Manifest". Retrieved 17 August 2025.
  11. Gradle, Inc. (2025). "Version Catalogs". Retrieved 17 August 2025.
  12. Ferenc Tamás (16 June 2022). "Configuration File". Retrieved 17 August 2025.
  13. "Configuration File". Retrieved 17 August 2025.