Convertidor de TOML a JSON
Pega TOML a la izquierda y obtén JSON a la derecha. Tablas a objetos, arrays de tablas a arrays. Sin subida.
- Pega tu TOML en el área de texto izquierda.
- Haz clic en "Convertir a JSON". La salida es un objeto JSON que preserva el anidado de tablas.
- Copia el resultado o descárgalo como data.json.
- Los valores de fecha-hora se convierten a cadenas ISO 8601; los guiones bajos en números se eliminan.
¿Qué hace?
Parsea un documento TOML 1.0 a un objeto JSON. Las tablas `[section]` se vuelven objetos anidados; los arrays de tablas `[[items]]` se vuelven arrays JSON. Cadenas, enteros (incluyendo literales hex/octal/binario y guiones bajos de agrupación), flotantes, booleanos, fechas, fechas-hora y horas mapean a representaciones equivalentes en JSON. Las tablas y arrays inline se aplanan de la misma manera.
Ejemplo
Entrada TOML:
name = "Ada"
active = true
[address]
city = "London" Salida JSON:
{
"name": "Ada",
"active": true,
"address": {
"city": "London"
}
} Errores comunes de TOML y cómo arreglarlos
TOML tiene reglas más estrictas que YAML o JSON en algunos lugares. Los patrones a continuación cubren la mayoría de fallos del parser.
- Cadenas sin comillas. `name = Ada` es inválido — los valores desnudos se interpretan como claves/booleanos/números, no cadenas. Usa comillas dobles: `name = "Ada"`.
- Arrays de tipo mixto (TOML 0.x). TOML 0.5 prohibió tipos mixtos en arrays; TOML 1.0 los permite. @iarna/toml sigue 1.0, así que `[1, "two"]` es válido aquí. Si tu TOML debe round-trip a través de herramientas 0.5, mantén los arrays homogéneos.
- Re-definir una tabla. Definir `[a]` dos veces es un error. Cada cabecera de tabla debe aparecer como mucho una vez. Fusiona las claves en un único bloque `[a]`.
- Fecha-hora sin zona horaria. `d = 2026-04-26T12:00:00` (sin Z ni desplazamiento) es una "fecha-hora local" — parsea, pero JSON no tiene concepto de localidad. La salida es la misma cadena con la hora del reloj de pared, no un instante UTC. Añade `Z` para UTC: `d = 2026-04-26T12:00:00Z`.
- Confusión de escape con triple comilla. Las cadenas multilínea básicas TOML usan `"""..."""` y procesan escapes; las cadenas multilínea literales usan `\'\'\'...\'\'\'` y no. Mezclar reglas de escape es el error más común en cadenas multilínea.
- Extensión de tabla inline. Una tabla inline `point = {x=1, y=2}` está cerrada y autocontenida — no puedes después escribir `[point.z]` ni `point.z = 3`. Para extender, usa la sintaxis estándar `[point]` en su lugar.
Preguntas frecuentes
¿Cómo se representan las fechas-hora en JSON?
JSON no tiene tipo nativo de fecha-hora, así que los valores se vuelven cadenas ISO 8601. Las fechas-hora con desplazamiento (`2026-04-26T12:00:00Z`) y locales (`2026-04-26T12:00:00`) ambas se stringifican literalmente — pero solo la forma con desplazamiento es inequívoca en JSON.
¿Se preservan los guiones bajos en enteros?
No — TOML permite `1_000_000` como ayuda de legibilidad; el parser elimina los guiones bajos y el valor JSON es `1000000`. La agrupación es puramente una característica del texto fuente TOML.
¿Qué pasa con los comentarios TOML?
Se descartan. Los comentarios TOML empiezan con `#`; JSON no tiene sintaxis de comentarios, así que el parser los descarta. Si necesitas preservarlos, necesitarías un formato intermedio diferente.
¿Se admiten arrays de tablas?
Sí. Los bloques `[[products]]` repetidos varias veces se vuelven un array JSON bajo la clave `products`. Cada cabecera `[[products]]` introduce una nueva entrada de array; las líneas clave-valor subsiguientes pueblan esa entrada.
¿Puedo convertir archivos TOML realmente grandes?
Hasta unos 30 MB antes de que el textarea se ralentice. Los archivos TOML muy grandes son raros — 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 — tus datos se parsean por JavaScript en esta página y nunca se envían a un servidor.