Saltar al contenido

Formateador y validador de TOML

TOML Formatter & Validator

Formatea y valida TOML, normalizando el orden de las tablas y el estilo de las tablas en línea.

Normaliza el espaciado de un archivo TOML —`key = value`, espacios en las cabeceras, ajuste de arreglos— y de paso lo comprueba contra la especificación TOML 1.0. Dos lectores recorren el archivo: uno que conoce las reglas de escritura y conserva los comentarios, y otro que conoce las semánticas y produce la vista JSON.

🔒 Se ejecuta por completo en tu navegadortomlformatvalidateconfig
Salida
Tablas en línea
Ancho de corte para arrays

TOML de entrada

Suelta un archivo .toml

Se lee solo en esta pestaña. No se sube nada.

TOML formateado

Formateado.

Tablas

5

Pares clave/valor

13

Comentarios

1

Comprobación

superada

Qué cambia y qué deja como está

  • · Se normalizan los espacios alrededor de key = value, los blancos de una cabecera como [ a . b ] y los huecos dentro de arrays y tablas en línea, con una línea en blanco antes de cada cabecera.
  • · Un array corto va en una línea; un array que pasa del ancho de corte, o uno que lleva un comentario dentro, se escribe con un elemento por línea y una coma final.
  • · Las cadenas, los números y las fechas se dejan tal como se escribieron. Convertir 1_000 en 1000, o 0xff en 255, es editar y no formatear.
  • · Una clave que no necesita comillas ("name") las pierde; una que sí las necesita ("127.0.0.1") se escribe con comillas literales.
  • · Un cero a la izquierda, un guion bajo fuera de sitio, True, una tabla en línea repartida en varias líneas, una clave duplicada y una tabla definida dos veces se rechazan, según la especificación de TOML 1.0 en toml.io.

Para convertir a JSON o YAML, usa JSON a TOML y de vuelta.

Cómo se usa

  1. Pega el archivo

    Un `Cargo.toml`, un `pyproject.toml`, un `netlify.toml`. El espaciado inconsistente es el objetivo: eso es lo que se está arreglando.

  2. Ajusta el ancho de ajuste de arreglos

    Un arreglo corto se queda en una línea; cualquiera que pase del ancho, o que tenga un comentario dentro, recibe un elemento por línea con una coma final. Esa coma final es lo que mantiene los diffs futuros en una sola línea.

  3. Ordena si ayuda, y solo entonces

    La ordenación de claves mueve solo las líneas clave/valor y deja los comentarios y las líneas en blanco en su sitio. La ordenación de tablas ordena las cabeceras a un nivel y arrastra sus subtablas. El orden de los arreglos de tablas es dato, así que nunca se toca.

Preguntas frecuentes

¿Por qué `1_000` no se reescribe como `1000`?

Porque eso es una edición, no un formateo. Los guiones bajos en los números, los literales hexadecimales y la grafía exacta de una fecha son cosas que eligió el autor. El formateador cambia espacios en blanco y comillas, y deja los valores como están escritos.

Rechazó mi archivo pero otro parser lo aceptó.

Probablemente una de las cosas que TOML 1.0 prohíbe y los lectores permisivos permiten: un cero inicial, un guion bajo mal colocado, `True` con T mayúscula, una tabla en línea repartida en varias líneas, una clave duplicada o una tabla definida dos veces. El error dice cuál, con número de línea.

¿Qué pasa con una fecha cuando cambio a JSON?

Se convierte en una cadena, y una advertencia lo dice. TOML tiene fechas y horas con desplazamiento, fechas locales y horas locales como tipos reales; JSON no tiene ninguno, así que el texto se lleva tal cual y su tipo se pierde.

¿Se conservan los comentarios?

Sí, incluida su posición respecto a la clave a la que pertenecen, que es la razón por la que el formateador tiene su propio escáner en lugar de reutilizar el lector del conversor. El recuento de comentarios se muestra en las estadísticas.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.