Skip to content

TOML

A minimal configuration file format meant to be easy to read and map to key-value data.

Stars
20.7k
Forks
900
Licence
MIT
Language
—
Last update
6 days ago
Type
Other

What it is

TOML is a specification for a plain-text file format used mainly for configuration settings. It aims to be easy to read because its rules are simple and obvious, and it maps unambiguously to a hash table so programs can load it into data structures. This repository holds the in-development version of the spec; released versions are published at toml.io.

  • Write an application's settings file with sections, nested tables, and comments
  • Read the example document and the spec to learn how the format works
  • Find existing TOML parsers, validators, and editor support via the project wiki

Great for

  • Developers writing configuration files for an application or tool
  • People who want comments and readable settings without YAML's complexity
  • Projects that need a parser in their programming language of choice
  • Anyone comparing config formats such as JSON, YAML, or INI

Not ideal for

  • Serializing arbitrary data: the README says TOML is not meant for that, and it does not allow top-level arrays or floats
  • Streaming use cases that need a standard start or end marker, since the README notes no standard exists for this
  • Readers looking for downloadable software: this repo is the language specification, not an application
Step-by-step guide: how to use TOMLInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    Clone the repository

    git clone https://github.com/toml-lang/toml.git
  2. 2

    Run it

    • Read the example in the README to see the syntax
    • Visit https://toml.io for the released specification
    • Pick a TOML parser for your language from the project wiki
    • Write a small .toml file and load it with that parser
  3. 3

    Get the most out of it

    • Use the language-agnostic test suite from the wiki to check parser behavior
    • Use editor support listed in the wiki for syntax highlighting
    • Compare with JSON or YAML using the comparison section of the README before choosing a format

Downloads

Strengths

  • Simple, readable syntax with comments, as described in the README
  • Designed to map unambiguously to a hash table, which makes parsing predictable
  • Open specification under the MIT license with a wiki cataloging implementations

Trade-offs

  • The README describes the repo as the in-development spec; released versions live at toml.io, so you may need to check which one applies
  • Not designed as a general data serialization format, which limits some uses
  • The README does not itself list parsers or tools; those are in the wiki

How it compares

ProjectStarsTypeLevelUpdatedBest for
toml (this)20.7kOtherbeginner6 days agoDevelopers writing configuration files for an application or tool
json50.8kLibrarybeginner4 days agoC++ developers who need to read or write JSON in an application

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.