TOML (Tom's Obvious Minimal Language) es un formato de archivo de configuración diseñado para ser legible por humanos. Se mapea inequívocamente a una tabla hash, admite tablas anidadas, valores tipados y comentarios en línea. Muchas herramientas y frameworks utilizan TOML como formato de configuración principal: los proyectos de Rust dependen de Cargo.toml, el empaquetado de Python usa pyproject.toml, y los sitios estáticos de Hugo se configuran mediante config.toml. Convertir TOML a JSON online permite transformar estos archivos de configuración a un formato que prácticamente cualquier lenguaje de programación, API o pipeline de datos puede consumir de forma nativa.
JSON (JavaScript Object Notation), definido por RFC 8259, es el formato de intercambio de datos más ampliamente compatible. Mientras que TOML prioriza la legibilidad humana con su sintaxis mínima y soporte de comentarios, JSON prioriza la interoperabilidad entre máquinas. Un convertidor de TOML a JSON tiende este puente analizando la entrada TOML según la especificación TOML v1.0.0 y generando un documento JSON estructuralmente equivalente. La conversión preserva todos los datos: cadenas, enteros, flotantes, booleanos, arrays y tablas se asignan directamente a sus equivalentes en JSON.
TOML tiene cuatro tipos nativos de fecha y hora que JSON no puede representar directamente: fecha-hora con zona horaria, fecha-hora local, fecha local y hora local. JSON no tiene tipo de fecha, por lo que estos valores se serializan como cadenas ISO 8601 durante la conversión.
¿Por qué usar un convertidor de TOML a JSON?
Los archivos de configuración escritos en TOML a menudo necesitan alimentar sistemas que solo aceptan JSON. En lugar de reescribir el archivo manualmente o instalar una librería de análisis localmente, un convertidor basado en navegador realiza la transformación en segundos.
🔒
Procesamiento con privacidad primero
Tus datos TOML se analizan y convierten completamente en el navegador. No se sube nada a un servidor, lo que lo hace seguro para convertir archivos de configuración que contienen claves API, credenciales de base de datos o nombres de host internos.
⚡
Conversión instantánea
Pega tu TOML y obtén el resultado JSON formateado de inmediato. No es necesario instalar paquetes de Node.js, librerías de Python ni herramientas CLI solo para realizar una conversión de formato puntual.
🔀
Soporte completo de TOML v1.0.0
El convertidor maneja todos los tipos de datos TOML, incluidas claves con puntos, tablas inline, arrays de tablas, cadenas multilínea y valores de fecha y hora. Los casos extremos que complican la conversión manual se tratan correctamente.
📋
Sin registro requerido
Abre la página, pega tu TOML y copia el resultado JSON. No hay registro, no hay límite de uso y no hay seguimiento de actividad. La herramienta funciona igual cada vez que la visitas.
Casos de uso de TOML a JSON
Desarrollo frontend
Convierte los metadatos de Cargo.toml de un proyecto Rust WASM a JSON para que los consuma un script de compilación de JavaScript o un paso de generación de package.json.
Ingeniería backend
Transforma la configuración de una aplicación escrita en TOML a JSON para inyectarla en entornos que requieren configuración JSON, como variables de entorno de AWS Lambda o etiquetas de contenedores Docker.
DevOps y CI/CD
Herramientas de pipeline como GitHub Actions y GitLab CI suelen trabajar con entradas JSON. Convierte configuraciones de herramientas en TOML (rustfmt.toml, taplo.toml) a JSON para pasos de linting o validación.
QA y pruebas
Genera fixtures JSON de prueba a partir de archivos fuente TOML. TOML es más fácil de mantener como fuente de datos de prueba gracias al soporte de comentarios y su sintaxis legible, pero los marcos de prueba suelen esperar entrada JSON.
Ingeniería de datos
Al migrar configuraciones entre sistemas, los archivos TOML de una plataforma (por ejemplo, InfluxDB, Telegraf) pueden necesitar convertirse en documentos JSON para la API o herramienta de importación de otra plataforma.
Aprendizaje y educación
Los estudiantes que aprenden formatos de datos pueden pegar ejemplos TOML y ver exactamente cómo las tablas se convierten en objetos anidados, cómo los arrays de tablas se convierten en arrays JSON y cómo los tipos de fecha de TOML se mapean a cadenas.
Referencia de mapeo de tipos TOML a JSON
Cada tipo de TOML tiene un equivalente directo en JSON, con una excepción: los valores de fecha y hora. La tabla siguiente muestra cómo se convierte cada tipo TOML a JSON. Este mapeo sigue la especificación TOML v1.0.0 y coincide con el comportamiento de los parsers estándar como tomllib (Python), toml-rs (Rust) y @iarna/toml (Node.js).
Tipo
Sintaxis TOML
Salida JSON
String
"value"
"value"
Integer
42
42
Float
3.14
3.14
Boolean
true / false
true / false
Offset Date-Time
1979-05-27T07:32:00Z
"1979-05-27T07:32:00Z"
Local Date-Time
1979-05-27T07:32:00
"1979-05-27T07:32:00"
Local Date
1979-05-27
"1979-05-27"
Local Time
07:32:00
"07:32:00"
Array
[1, 2, 3]
[1, 2, 3]
Table
[section]
{ "section": {} }
Inline Table
{ key = "val" }
{ "key": "val" }
Array of Tables
[[items]]
"items": [{}]
Los enteros TOML admiten guiones bajos para mayor legibilidad (p. ej., 1_000_000) y literales hexadecimales (0xDEADBEEF), octales (0o755) y binarios (0b11010110). Todos ellos se convierten a números decimales simples en JSON. TOML también admite valores flotantes infinito y NaN, pero no tienen representación en JSON y provocarán un error de conversión en modo estricto.
Ejemplos de código
Ejemplos funcionales de conversión de TOML a JSON en cuatro lenguajes. Cada uno lee un archivo TOML, lo analiza y genera JSON formateado.
import tomllib # Python 3.11+ (standard library)
import json
with open('config.toml', 'rb') as f:
data = tomllib.load(f)
print(json.dumps(data, indent=2, default=str))
# Dates become strings: "1979-05-27"
# Arrays of tables become JSON arrays of objects
Go
package main
import (
"encoding/json"
"fmt"
"os"
"github.com/BurntSushi/toml"
)
func main() {
var data map[string]any
_, err := toml.DecodeFile("config.toml", &data)
if err != nil {
panic(err)
}
out, _ := json.MarshalIndent(data, "", " ")
fmt.Println(string(out))
}
¿Qué ocurre con los comentarios TOML durante la conversión?
Los comentarios TOML (líneas que comienzan con #) se descartan durante la conversión. JSON no admite comentarios, por lo que no hay forma de preservarlos en la salida. Si necesitas conservar los comentarios, considera usar JSONC (JSON con comentarios) como formato de destino.
¿Puede la conversión de TOML a JSON perder datos?
Para documentos TOML estándar, no se pierde ningún dato. Todas las cadenas, números, booleanos, arrays y tablas tienen equivalentes directos en JSON. La única transformación son los valores de fecha y hora, que se convierten en cadenas ISO 8601 en JSON. Dos casos extremos pueden causar problemas: TOML admite flotantes infinito y NaN, que no tienen representación en JSON, y los enteros muy grandes pueden superar los límites de precisión del parser JSON (2^53 - 1 en JavaScript).
¿Cómo se representan los arrays de tablas TOML en JSON?
La sintaxis [[doble-corchete]] de TOML define un array de tablas. Cada bloque [[sección]] añade un nuevo objeto a un array JSON. Por ejemplo, dos bloques [[fruits]] se convierten en un array JSON con dos objetos: "fruits": [{...}, {...}]. La sintaxis de doble corchete es una de las partes más difíciles de leer en TOML en frío; la salida JSON hace que la estructura sea obvia.
¿Es reversible la conversión? ¿Puedo pasar de JSON a TOML?
Estructuralmente, sí. Cualquier objeto JSON puede representarse como una tabla TOML, y los arrays JSON se mapean a arrays TOML. Sin embargo, las características específicas de TOML como los comentarios, la agrupación de claves con puntos y el formato de tablas inline se pierden durante la conversión inicial de TOML a JSON y no pueden recuperarse. La conversión de ida y vuelta producirá TOML válido pero posiblemente menos legible.
¿Cuál es la diferencia entre TOML y JSON para archivos de configuración?
TOML fue diseñado para la configuración: admite comentarios, tiene una sintaxis más legible para estructuras anidadas, distingue entre enteros y flotantes, e incluye tipos nativos de fecha y hora. JSON fue diseñado para el intercambio de datos entre programas. JSON cuenta con mayor compatibilidad en herramientas y APIs, pero TOML es más fácil de leer y editar para los humanos. Muchos proyectos usan TOML como configuración fuente y lo convierten a JSON para el despliegue.
¿Cómo maneja esta herramienta las claves con punto como server.host?
Las claves con punto en TOML (p. ej., server.host = "localhost") crean objetos anidados en JSON: {"server": {"host": "localhost"}}. Esto es equivalente a definir una tabla [server] con una clave host. El convertidor resuelve automáticamente las claves con punto en su estructura anidada completa.
¿Por qué falla la conversión de mi archivo TOML?
Las causas más comunes son: comillas faltantes alrededor de los valores de cadena (TOML las requiere), uso de tabulaciones para la indentación dentro de cadenas básicas multilínea, definiciones de claves duplicadas, y mezcla de claves con punto con encabezados de tabla explícitos para la misma ruta. El convertidor muestra el mensaje de error del parser con el número de línea para ayudarte a localizar el problema.