Guía rápida de la sintaxis TOML

Todos los tipos de valor de TOML, tablas, arrays de tablas, claves con puntos, cadenas y fechas en una página, con un ejemplo completo analizado con el tomllib de Python 3.12.

Última revisión:

AdSense Placeholder
Slot: header_reference_page
En esta página

TOML (Tom's Obvious Minimal Language) es un formato de configuración pensado para leerse sin ambigüedad y traducirse a una tabla hash. Lo usan pyproject.toml, Cargo.toml y muchas herramientas. Convierta entre formatos con Conversor de TOML a JSON y Conversor de JSON a TOML.

Un ejemplo completo

# A comment
title = "Example"
count = 42
ratio = 3.14
enabled = true
released = 2026-10-28
updated = 2026-10-28T07:32:00Z
tags = ["a", "b", "c"]
products = [
  { name = "Hammer", sku = 738594937 },
  { name = "Nail", sku = 284758393 },
]

[server]
host = "localhost"
port = 8080

[server.tls]
enabled = false

Tipos de valor

Tipo Ejemplos
Cadena "básica" (admite escapes), 'literal' (sin escapes), """varias líneas""", '''literal de varias líneas'''
Entero 42, +17, -5, 1_000, 0xFF, 0o17, 0b101
Decimal 3.14, -0.01, 6.626e-34, +inf, -inf, nan
Booleano true, false (solo en minúsculas)
Fecha y hora con desfase 2026-10-28T07:32:00Z o 2026-10-28T07:32:00+02:00
Fecha y hora local 2026-10-28T07:32:00 (sin zona)
Fecha local 2026-10-28
Hora local 07:32:00
Array [1, 2, 3], puede ocupar varias líneas y tener coma final
Tabla en línea { a = 1, b = 2 } (en una sola línea)

Tablas, claves con puntos y arrays de tablas

  • Un encabezado [tabla] abre una sección; cada clave que sigue pertenece a esa tabla hasta el siguiente encabezado.
  • [a.b] define la tabla b dentro de a. Una misma ruta de claves solo puede definirse una vez.
  • Las claves con puntos, como a.b.c = 1, crean tablas anidadas sin encabezados: el resultado es {"a": {"b": {"c": 1}}}.
  • Un encabezado con el nombre entre corchetes dobles (dos corchetes de apertura, el nombre y dos de cierre, sin espacios) añade una tabla nueva a un array de tablas. Cada encabezado repetido añade un elemento; un array de tablas en línea, como en el ejemplo, hace lo mismo en una sola línea.

Reglas que confunden

  • Las claves distinguen mayúsculas de minúsculas y las claves sin comillas solo pueden usar A-Za-z0-9_-. Ponga comillas a todo lo demás: "mi clave" = 1.
  • Una clave no puede definirse dos veces, y [server] después de server.port = 1 es un error.
  • Los enteros no llevan ceros a la izquierda (007 no es válido) y los decimales necesitan dígitos a ambos lados del punto (.5 y 5. no son válidos).
  • No existe null. Omita la clave, o use una cadena vacía o un valor centinela documentado.
  • En TOML 1.0 los arrays pueden mezclar tipos, pero la mayoría de las herramientas esperan uno solo.
  • Los espacios no importan, a diferencia de YAML, pero un valor debe terminar su línea.

Pruebe estas herramientas

Véase también

  • Hoja de referencia Hoja de referencia de sintaxis YAML
    Referencia rápida de YAML: escalares, cadenas, listas, mapeos, texto multilínea, anclas.
  • Comparativa TOML vs YAML vs JSON
    Tres formatos de configuración comparados: comentarios, legibilidad, tipos de datos, trampas y usos habituales.
  • Glosario TOML
    TOML es un formato pequeño de archivos de configuración con tipos y secciones claros.
  • Glosario YAML
    YAML es un formato de datos legible para personas que usa sangrado en lugar de llaves, muy usado en archivos de configuración.
AdSense Placeholder
Slot: footer_leaderboard