Sintaxis
Reglas Básicas
key = valuePar clave-valor (uno por línea)
#Comentario (hasta el final de la línea)
Distingue mayúsculasLas claves y valores distinguen entre mayúsculas y minúsculas
UTF-8Los archivos deben ser UTF-8 válido
Sin nullTOML no tiene tipo null
Ejemplo Mínimo
title = "My App" debug = true port = 8080
Cadenas
Tipos de Cadena
"basic"Cadena básica (soporta secuencias de escape)
'literal'Cadena literal (sin escapes)
"""multi"""Cadena básica multilínea
'''multi'''Cadena literal multilínea
Ejemplos
basic = "Hello\nWorld" literal = 'C:\Users\path' multi = """ Line one Line two"""
Secuencias de Escape
\n \t \rSalto de línea, tabulación, retorno de carro
\\Barra invertida
\uXXXXUnicode (4 dígitos hexadecimales)
\UXXXXXXXXUnicode (8 dígitos hexadecimales)
Números y Booleanos
Tipos Numéricos
42Entero
1_000_000Entero con guiones bajos
0xff / 0o77 / 0b11Hexadecimal, octal, binario
3.14Flotante
5e+22 / 1e-2Notación científica
inf / nanValores flotantes especiales
true / falseBooleano (solo minúsculas)
Ejemplos
count = 42 price = 19.99 hex_color = 0xFF5733 enabled = true
Fechas
Tipos de Fecha y Hora
2026-03-26T10:30:00ZFecha-hora con offset (UTC)
2026-03-26T10:30:00-05:00Fecha-hora con offset (EST)
2026-03-26T10:30:00Fecha-hora local (sin zona horaria)
2026-03-26Fecha local
10:30:00Hora local
Ejemplos
created = 2026-03-26T10:30:00Z birthday = 1990-05-15 alarm = 07:00:00
Tablas
Sintaxis de Tabla
[server] host = "localhost" port = 8080 [server.ssl] enabled = true cert = "/path/to/cert.pem"
Array de Tablas
[[users]] name = "Alice" role = "admin" [[users]] name = "Bob" role = "user"
Reglas
[name]Encabezado de tabla estándar
[a.b.c]Clave con puntos — tabla anidada
[[name]]Array de tablas
Sin redefinirNo se puede definir la misma tabla dos veces
Arrays
Sintaxis de Array
colors = ["red", "green", "blue"] numbers = [1, 2, 3]
Array Multilínea
hosts = [ "alpha.example.com", "beta.example.com", ]

La coma final está permitida en arrays TOML

Reglas
Mismo tipoTodos los elementos deben ser del mismo tipo
Coma finalPermitida después del último elemento
Saltos de líneaLos arrays pueden abarcar múltiples líneas
Tablas Inline
Sintaxis de Tabla Inline
point = { x = 1, y = 2 } user = { name = "Alice", admin = true }
Reglas
Una líneaDebe aparecer en una sola línea
Sin coma finalLa coma final no está permitida
Sin saltos de líneaNo puede abarcar múltiples líneas
Sin agregar clavesNo se pueden agregar claves a la tabla inline después
Inline vs Estándar
# Inline — compacto, en una línea db = { host = "localhost", port = 5432 } # Estándar — legible, extensible [db] host = "localhost" port = 5432
Patrones Comunes
pyproject.toml
[project] name = "myapp" version = "1.0.0" dependencies = ["flask>=3.0"]
Cargo.toml
[package] name = "myapp" version = "0.1.0" edition = "2021"
Consejos
taploKit de herramientas TOML — formateador y linter
Sin nullOmitir la clave en lugar de establecerla en null
Sin anclasA diferencia de YAML, no hay sistema de referencias/alias
EstrictoSin claves duplicadas, sin arrays de tipos mixtos