Sintaxe
Regras Básicas
key = valuePar chave-valor (um por linha)
#Comentário (até o final da linha)
Sensível a maiúsculasChaves e valores diferenciam maiúsculas e minúsculas
UTF-8Arquivos devem ser UTF-8 válido
Sem nullTOML não tem tipo null
Exemplo Mínimo
title = "My App" debug = true port = 8080
Strings
Tipos de String
"basic"String básica (suporta escapes)
'literal'String literal (sem escapes)
"""multi"""String básica multi-linha
'''multi'''String literal multi-linha
Exemplos
basic = "Hello\nWorld" literal = 'C:\Users\path' multi = """ Line one Line two"""
Sequências de Escape
\n \t \rNova linha, tab, retorno de carro
\\Barra invertida
\uXXXXUnicode (hex de 4 dígitos)
\UXXXXXXXXUnicode (hex de 8 dígitos)
Números e Booleanos
Tipos Numéricos
42Inteiro
1_000_000Inteiro com sublinhados
0xff / 0o77 / 0b11Hexadecimal, octal, binário
3.14Decimal
5e+22 / 1e-2Notação científica
inf / nanValores decimais especiais
true / falseBooleano (apenas minúsculas)
Exemplos
count = 42 price = 19.99 hex_color = 0xFF5733 enabled = true
Datas
Tipos de Data e Hora
2026-03-26T10:30:00ZData-hora com fuso horário (UTC)
2026-03-26T10:30:00-05:00Data-hora com fuso horário (EST)
2026-03-26T10:30:00Data-hora local (sem fuso horário)
2026-03-26Data local
10:30:00Hora local
Exemplos
created = 2026-03-26T10:30:00Z birthday = 1990-05-15 alarm = 07:00:00
Tabelas
Sintaxe de Tabela
[server] host = "localhost" port = 8080 [server.ssl] enabled = true cert = "/path/to/cert.pem"
Array de Tabelas
[[users]] name = "Alice" role = "admin" [[users]] name = "Bob" role = "user"
Regras
[name]Cabeçalho de tabela padrão
[a.b.c]Chave com pontos — tabela aninhada
[[name]]Array de tabelas
Sem redefiniçãoNão é possível definir a mesma tabela duas vezes
Arrays
Sintaxe de Array
colors = ["red", "green", "blue"] numbers = [1, 2, 3]
Array Multi-linha
hosts = [ "alpha.example.com", "beta.example.com", ]

Vírgula final é permitida em arrays TOML

Regras
Mesmo tipoTodos os elementos devem ser do mesmo tipo
Vírgula finalPermitida após o último elemento
Novas linhasArrays podem abranger múltiplas linhas
Tabelas Em Linha
Sintaxe de Tabela Em Linha
point = { x = 1, y = 2 } user = { name = "Alice", admin = true }
Regras
Linha únicaDeve aparecer em uma única linha
Sem vírgula finalVírgula final não é permitida
Sem novas linhasNão pode abranger múltiplas linhas
Sem adicionar chavesNão é possível adicionar chaves à tabela em linha depois
Em Linha vs Padrão
# Em linha — compacto, uma linha db = { host = "localhost", port = 5432 } # Padrão — legível, extensível [db] host = "localhost" port = 5432
Padrões Comuns
pyproject.toml
[project] name = "myapp" version = "1.0.0" dependencies = ["flask>=3.0"]
Cargo.toml
[package] name = "myapp" version = "0.1.0" edition = "2021"
Dicas
taploKit TOML — formatador e linter
Sem nullOmitir a chave em vez de definir null
Sem âncorasDiferente do YAML, sem sistema de referência/alias
EstritoSem chaves duplicadas, sem arrays de tipos mistos