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. |
Formatear TOML y comprobar su sintaxis
TOML es un formato pensado para archivos de configuración, y su atractivo reside en la llaneza de limitarse a enumerar pares `key = value`. Esta herramienta ordena el TOML que usted pega y, al mismo tiempo, dictamina si la sintaxis se sostiene; cuando algo está roto, señala la línea culpable.
**Lo primero con lo que se tropieza en TOML es que la estructura procede de líneas de encabezado escritas `[tabla]` y no del sangrado.** Quien viene de YAML tiende a recurrir a la sangría para expresar la jerarquía, pero en TOML la sangría no significa absolutamente nada: **las claves escritas entre un encabezado de tabla y el siguiente pertenecen a esa tabla.** Es, por tanto, la posición de la línea lo que determina la estructura. El otro rasgo distintivo es que las fechas y las horas son tipos de primera clase, de modo que un valor como `2026-09-20T10:00:00Z` puede escribirse sin comillas, tal cual.
Cómo se usa
- Pegue el TOML El contenido de un `Cargo.toml` o de un `pyproject.toml` entra tal como está.
- Compruebe el dictamen **Una entrada sana se marca como TOML válido; cuando la sintaxis falla, se indica la línea en cuestión.**
- Lea el resultado formateado Claves y valores quedan alineados y las fronteras entre tablas se vuelven fáciles de ver.
- Cópielo de vuelta El contenido ordenado puede devolverse al archivo sin más cambios.
Consejos para aprovecharla mejor
- 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.
Cuándo resulta útil
Al buscar un error en un archivo de configuración
**Colocar mal un encabezado de tabla cambia en silencio a qué tabla pertenece una clave, y esa es una clase de error que la vista rara vez atrapa.**
Al leer la configuración de un proyecto en Rust o Python
Formatear un `Cargo.toml` o un `pyproject.toml` hace mucho más fácil seguir las divisiones entre dependencias.
Al revisar algo convertido desde otro formato
Unos ajustes reescritos desde JSON o YAML pueden probarse en el acto para ver si la sintaxis se sostiene.
Al uniformar el estilo de un equipo
Formatear antes de confirmar los cambios mantiene los espacios sueltos fuera del diff y deja solo lo que importa.
Términos de TOML
- Tabla
- Un encabezado escrito entre corchetes, como `[package]`, que **reúne en un grupo las claves que van desde ahí hasta el siguiente encabezado.**
- Arreglo de tablas
- La notación escrita con corchetes dobles, `[[dependencies]]`. Repetir el mismo encabezado añade otro elemento al arreglo.
- Tabla en línea
- Una tabla escrita en una sola línea como `{ a = 1, b = 2 }`. **Sirve para ajustes breves, pero no puede partirse entre varias líneas.**
- Cadena básica
- Una cadena entre comillas dobles, dentro de la cual surten efecto escapes como `\n`.
- Cadena literal
- Una cadena entre comillas simples. **Ningún escape tiene efecto dentro de ella, lo que la convierte en la elección acertada para rutas de Windows y expresiones regulares.**
- Fecha y hora
- Un tipo que TOML ofrece de forma nativa. Una fecha u hora como `1979-05-27T07:32:00Z` puede escribirse sin comillas.
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.