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
[[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."""...""" 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.
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.