Formateador y validador de TOML

Pega TOML, formatea con disposición canónica TOML 1.0 o valida la sintaxis. Sin subida.

  1. Pega tu TOML en el área de texto izquierda.
  2. Haz clic en Formatear para hacer round-trip por @iarna/toml y producir disposición canónica.
  3. Haz clic en Validar para comprobar la sintaxis sin modificar la entrada.
  4. Los errores apuntan a la línea y columna ofensoras.
¿Qué hace?

Parsea tu TOML con @iarna/toml en modo TOML 1.0 y lo re-emite con disposición canónica — claves antes de sub-tablas, entrecomillado consistente, guiones bajos de enteros eliminados. El botón Validar comprueba la sintaxis contra la spec sin cambiar la entrada. Los comentarios se eliminan durante el round-trip (los formateadores TOML generalmente no pueden preservarlos a través de un ciclo parse-and-dump).

Ejemplo

Entrada TOML desordenada:

[server]
host="localhost"
port=8080

name="myapp"

Salida formateada:

name = "myapp"

[server]
host = "localhost"
port = 8080

Errores comunes de TOML y cómo arreglarlos

TOML 1.0 tiene reglas más estrictas que YAML o JSON. Los patrones a continuación cubren la mayoría de fallos del parser.

  • Cadenas sin comillas. `name = Ada` es inválido. Usa comillas dobles: `name = "Ada"`.
  • Re-definir una tabla. Definir `[a]` dos veces es un error. Cada cabecera de tabla puede aparecer como mucho una vez. Fusiona las claves en un único bloque `[a]`.
  • Claves de nivel superior tras una tabla. Una vez escribes `[section]`, todas las claves siguientes pertenecen a esa sección. Las claves deben venir antes de su primera cabecera de tabla. El formateador las reordena por ti, pero la entrada cruda debe ser ya válida.
  • Fecha-hora sin zona horaria. `d = 2026-04-26T12:00:00` (sin Z ni desplazamiento) es una "fecha-hora local". Parsea, pero los consumidores estilo JSON pueden no tener forma de representar la localidad. Usa `2026-04-26T12:00:00Z` para UTC.
  • Extensión de tabla inline. Las tablas inline `point = {x=1, y=2}` están cerradas y son autocontenidas. No puedes después escribir `point.z = 3`. Usa la sintaxis de bloque estándar `[point]` para extender.
  • Confusión de escape con triple comilla. `"""..."""` (multi-línea básica) procesa escapes; `\'\'\'...\'\'\'` (multi-línea literal) no. Mezclar las dos es el error más común en cadenas multi-línea.
Preguntas frecuentes

¿Formatear cambia mis datos?

Solo la disposición — las claves se reordenan para poner primitivos antes de sub-tablas (una regla de TOML), el espaciado se normaliza, los guiones bajos de enteros se eliminan (semántica de TOML). Los valores en sí no cambian.

¿Se preservan los comentarios TOML?

No. @iarna/toml descarta los comentarios durante el round-trip parse-and-dump. Si necesitas formateo que preserve comentarios, necesitarías una biblioteca diferente que retenga información de posición en la fuente.

¿Esto valida contra TOML 1.0?

Sí. @iarna/toml sigue TOML 1.0 — incluyendo permitir arrays de tipos mixtos, claves con puntos, y reglas de cadenas revisadas. Las entradas que dependen del comportamiento exclusivo de TOML 0.5 (arrays homogéneos requeridos) seguirán parseando aquí, pero pueden romperse en parsers 0.5 más estrictos.

¿Qué tan grande puede ser el archivo TOML?

Hasta unos 30 MB antes de que el textarea se ralentice. La mayoría de archivos de configuración están bien por debajo de 1 MB.

¿Mi TOML se sube?

No. Todo se ejecuta en tu navegador — tu entrada se parsea y re-serializa por JavaScript en esta página y nunca se envía a un servidor.

¿Por qué el formateador reordena mis claves?

TOML 1.0 requiere que las claves de nivel superior (primitivos) aparezcan antes que cualquier cabecera de tabla dentro del mismo ámbito. El formateador hace cumplir esto ordenando los primitivos delante de las sub-tablas. Si tu entrada original tenía un orden diferente, el paso de formato lo normaliza.