araç köşesi

Convertir TOML a JSON

Convierta Cargo.toml, pyproject.toml o cualquier archivo TOML a JSON; los errores se indican por línea y columna

Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.

Cómo funciona

Para pasar una configuración TOML a JavaScript, a jq, a una API o a una herramienta que no lee TOML, primero necesita convertirla a JSON. Pegue el contenido del archivo en el panel izquierdo y el JSON aparece a la derecha. En el ejemplo, el encabezado [base_de_datos] se vuelve el objeto "base_de_datos" y el encabezado [[almacen]], escrito dos veces, un array "almacen" con dos registros. Los números con guion bajo como 1_200 quedan como 1200, y las líneas de comentario que empiezan con # desaparecen, porque JSON no admite comentarios. JSON tampoco tiene tipo fecha: actualizado = 2026-09-27T09:00:00-06:00 pasa a un texto ISO escrito igual; las fechas locales (2026-09-27) y las horas locales (09:00:00) también pasan a texto. La página es además un validador de TOML: si el texto no es válido, no se convierte nada y se indican la línea y la columna del problema, con la causa probable cuando se puede (por ejemplo "La misma clave o [tabla] está definida dos veces"). Con la dirección "JSON → TOML", la misma página trabaja al revés.

Esta herramienta también se busca como convertir toml a json, validar archivo toml, toml to json, toml validator, toml a json.

¿Qué es Archivo TOML?

Un archivo TOML es un archivo de ajustes con extensión .toml, formado por líneas clave = valor y encabezados [sección]. Los proyectos de Rust guardan sus dependencias en Cargo.toml y los de Python los datos del paquete y los ajustes de herramientas en pyproject.toml. El formato está pensado para que lo lean personas y admite comentarios, pero su sintaxis es estricta: una sola línea mal escrita impide cargar todo el archivo.

¿Qué es Formato de fecha ISO 8601?

ISO 8601 es la norma internacional que escribe fecha y hora de la unidad mayor a la menor: 2026-09-27 es una fecha, 09:00:00 una hora y 2026-09-27T09:00:00-06:00 un instante en la hora del centro de México. El -06:00 final es el desfase respecto a UTC, y Z indica UTC. TOML escribe las fechas así y llegan al JSON como texto en el mismo formato, de modo que cualquier lenguaje puede volver a convertirlas en fechas sin pérdida.

¿Qué diferencia hay entre validar TOML y convertirlo a JSON?

La validación solo responde si el texto cumple las reglas de TOML; la conversión reescribe un texto válido en otro formato. Esta página hace las dos cosas en un paso: si el texto no es válido, la conversión se detiene y se indica dónde está el error; si es válido, aparece el JSON. Aun así, un archivo TOML válido puede no ser lo que espera el programa que lo lee: que falte el campo name en la tabla [package] de Cargo.toml es un error de Cargo, no de TOML, y solo esa herramienta puede revisarlo.

Trampas: fechas, números grandes e inf/nan

TOML tiene cuatro tipos de fecha y hora (fecha-hora con desfase, fecha-hora local, fecha local y hora local); JSON no tiene ninguno. La herramienta los convierte todos en texto ISO 8601 y dice en la nota cuántos convirtió; el programa que lee el JSON tiene que volver a convertir esos campos en fechas. Las fechas de JavaScript tienen precisión de milisegundos, así que una hora con microsegundos como 00:32:00.999999 se escribe 00:32:00.999.

Los enteros de TOML son de 64 bits, mientras que JavaScript redondea los enteros mayores que 2^53. La herramienta lee esos números aparte y los escribe en el JSON dígito por dígito (9223372036854775807 queda intacto). inf y nan de TOML no existen en JSON: pasan a null y la nota lo advierte. Los decimales con valor entero como 72.0 se escriben 72 en JSON; el valor numérico es el mismo.

Usarlo como validador y errores comunes

Cuando Cargo o pip solo dicen "invalid TOML" sobre un archivo, pegue aquí el texto para ver la línea y la columna. Las causas más comunes son una clave o [tabla] escrita dos veces, texto sin comillas (nombre = "Lucía", no nombre = Lucía), dos pares clave = valor en una misma línea y booleanos escritos True/False en lugar de true/false en minúsculas. Una fecha que no existe en el calendario (2021-02-29) también cuenta como error: algunos lectores de TOML la pasan sin avisar al 1 de marzo, mientras que esta página se detiene y muestra la línea.

Si el texto es válido, el JSON aparece a la derecha y la nota muestra el número de claves, señal de que el archivo cumple las reglas de TOML (versión 1.1; los archivos 1.0 también pasan). El lector detrás de la página es la biblioteca de código abierto smol-toml, que pasa la batería oficial de pruebas toml-test y funciona dentro de la página.

Preguntas frecuentes

¿Cómo convertir un archivo TOML a JSON?

Pegue el texto TOML en el panel izquierdo de esta página; el JSON aparece a la derecha. Los encabezados [tabla] se vuelven objetos y los encabezados [[tabla]] arrays de objetos. Copie el resultado o descárguelo como archivo .json.

¿Cómo saber si mi archivo TOML es válido?

Pegue su contenido aquí. Si es válido, aparece JSON a la derecha; si no, se indican la línea, la columna y la causa probable del error. La revisión sigue las reglas de TOML 1.1 (los archivos 1.0 también pasan); las reglas propias de cada herramienta, como el campo name obligatorio en Cargo o Poetry, no se revisan.

¿Por qué las fechas quedaron como texto en el JSON?

JSON no tiene tipo fecha; por eso las fechas y horas de TOML se escriben como texto en formato ISO 8601 (por ejemplo "2026-09-27T09:00:00-06:00"). El programa que lee el JSON debe convertir ese texto en fecha; todos los lenguajes comunes leen el formato ISO directamente.

¿Mi archivo se envía a un servidor?

No. El TOML se lee por completo en su navegador con un lector de código abierto incluido en la página; ni siquiera un archivo de configuración con contraseñas o claves de acceso sale de esta página. Una vez cargada, la página también funciona sin conexión.