TOML

Configuration file format From Wikipedia, the free encyclopedia

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]

Filename extension
.toml
Internet mediatype
application/toml
Developedby
Initial release23 February 2013; 13 years ago (2013-02-23)
Quick facts Filename extension, Internet media type ...
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; 2 months ago (18 December 2025)
Type of formatData interchange
Open format?Yes
Websitetoml.io Edit this at Wikidata
Close

Syntax

TOML's syntax primarily consists of, among other constructs, key = value pairs, [section names], and # (for comments). TOML's syntax is a superset of the .INI format but has one agreed-upon formal specification, whereas the .INI format suffers from many competing variants (most implicitly specified through project-specific parsers).

Exceeding stringly-typed semantics, TOML supports the data types string, integer, float, boolean, datetime, array and table.

Example

# 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

TOML is used in a variety of settings such as:

See also

References

Related Articles

Wikiwand AI