Formateador de TOML

Formatea y valida TOML (Tom's Obvious, Minimal Language). Alinea claramente pares key = value, tablas y arreglos, y muestra los errores de sintaxis con el número de línea.

Principales tipos de datos de TOML

Tipo Ejemplo Descripción
Cadena (básica) "hello" Se escribe entre comillas dobles. Admite secuencias de escape como \n y \t.
Cadena (literal) 'C:\path' Se escribe entre comillas simples. No aplica ningún tipo de escape, útil para rutas con barras invertidas.
Entero 42 Decimal por defecto; también admite 0x (hex), 0o (octal), 0b (binario) y separadores con guion bajo como 1_000.
Flotante 3.14 La notación exponencial (1e10) y los valores especiales inf/nan también son válidos.
Booleano true true o false únicamente. Formas con mayúscula inicial (True) no son válidas.
Arreglo [1, 2, 3] Valores separados por comas dentro de corchetes. Se permite una coma final.
Tabla [server] Todo par key = value que sigue a un encabezado de sección pasa a formar parte de esa tabla.
Arreglo de tablas [[fruits-basket]] Repetir el mismo nombre de tabla expresa un arreglo (por ejemplo, varias definiciones de dependencias).
Fecha/Hora 1979-05-27T07:32:00Z Formato RFC 3339: el único valor compuesto que puede escribirse sin comillas.

Consejos

  • Solo se admiten arreglos y tablas en línea escritos en una sola línea. Si tu arreglo abarca varias líneas, únelo en una sola antes de pegarlo.
  • El formateador siempre normaliza exactamente un espacio a cada lado de "=" y estandariza los separadores de arreglos/tablas en línea a ", ", eliminando las inconsistencias entre distintos autores.
  • Los comentarios (todo lo que sigue a #) se conservan; el único cambio aplicado es insertar un espacio justo después de "#" cuando falta, manteniendo la edición mínima.
  • Las líneas en blanco consecutivas se reducen a una sola, facilitando ver los límites entre tablas.
  • Todo el procesamiento ocurre por completo en tu navegador: nada de lo que pegues aquí se envía jamás a un servidor.

Preguntas frecuentes

TOML suele funcionar bien para archivos con estructura plana y muchos pares clave-valor editados por varias personas (como manifiestos de dependencias), ya que los errores de indentación rara vez rompen algo. YAML suele ser mejor cuando necesitas estructuras profundamente anidadas o varios documentos en un solo archivo.

Formatea correctamente cada encabezado [[section]], pero no combina las secciones repetidas con el mismo nombre en un solo objeto tipo arreglo (como haría un conversor completo de TOML a JSON). Para estructuras complejas de arreglos de tablas, revisa visualmente el resultado formateado línea por línea.

La herramienta reconoce la sintaxis RFC 3339 y muestra el valor sin cambios, pero no valida su corrección en el calendario (por ejemplo, no detecta un "30 de febrero"). Si necesitas una validación estricta de fechas, verifícalo por separado.

Actualmente """...""" y '''...''' no son compatibles, y esa línea se reportará como error. Convierte el texto largo en una cadena de una sola línea con escapes antes de formatear.

No. Todo el formateo se ejecuta enteramente en tu navegador mediante JavaScript; nada se envía ni se almacena en un servidor, por lo que es seguro usarlo incluso con archivos de configuración que contienen credenciales.
ツールくん

A propósito — Por qué TOML se convirtió en el idioma común de los archivos de configuración

TOML fue creado en 2013 por Tom Preston-Werner, cofundador de GitHub, y su nombre completo, "Tom's Obvious, Minimal Language", refleja directamente el objetivo de diseño: un formato tan fácil de analizar para las máquinas como JSON, pero que se lee y escribe de forma natural para los humanos, sin ambigüedades.

El momento decisivo llegó cuando Cargo, el gestor de paquetes de Rust, adoptó Cargo.toml como su formato de manifiesto. Más tarde, el PEP 518 introdujo pyproject.toml como estándar de empaquetado de Python, unificando lo que antes era una mezcla de setup.py, setup.cfg y requirements.txt.

La mayor diferencia con YAML es que TOML no le da ningún significado a la indentación. En YAML, un pequeño error de indentación puede cambiar silenciosamente la estructura de datos o provocar un error de sintaxis; TOML, en cambio, expresa la jerarquía solo mediante encabezados [section] y pares key = value, lo que hace mucho menos probables los errores por copiar y pegar.

Sin embargo, TOML sacrifica algo de la expresividad de YAML: carece de anclas/alias para reutilizar valores y resulta más extenso para estructuras profundamente anidadas, por lo que muchos equipos eligen entre TOML, YAML y JSON según la forma de los datos.

→ Ver todas las curiosidades