Convertidor de JSON a TOML

Pega un objeto JSON a la izquierda y obtén TOML a la derecha. Cumplimiento estricto vía @iarna/toml. Sin subida.

  1. Pega un objeto JSON en el área de texto izquierda.
  2. Haz clic en "Convertir a TOML". El nivel superior debe ser un objeto JSON — no un array.
  3. Copia o descarga la salida TOML.
  4. Para listas de registros, usa un array de tablas TOML — envuelve con `{ items: [...] }` primero.
¿Qué hace?

Convierte un objeto JSON a un documento conforme a TOML 1.0 vía @iarna/toml. Los objetos anidados se vuelven cabeceras `[section]`; los arrays de objetos se vuelven bloques de array-de-tablas `[[items]]`; cadenas, números, booleanos y cadenas de fecha-hora ISO 8601 mapean a primitivos TOML. La salida se ordena de forma canónica — las claves aparecen antes de las sub-tablas para compatibilidad con parsers TOML estrictos.

Ejemplo

Entrada JSON:

{
  "name": "Ada",
  "active": true,
  "address": {
    "city": "London"
  }
}

Salida TOML:

name = "Ada"
active = true

[address]
city = "London"

Trampas comunes de JSON a TOML

TOML tiene reglas de nivel superior más estrictas que JSON. Los patrones siguientes explican por qué un valor JSON que "debería funcionar" puede fallar.

  • Array de nivel superior. TOML no puede representar un array JSON de nivel superior. Envuélvelo: `{"items": [...]}`. El resultado se vuelve un array-de-tablas TOML bajo `[[items]]`.
  • Escalar de nivel superior. Un documento JSON desnudo `42` o `"hello"` no tiene clave a la cual unirse en TOML. Envuélvelo en un objeto: `{"value": 42}`.
  • Valores null. TOML no tiene tipo null. El serializador omite por completo las claves cuyo valor JSON es null. Si necesitas representar "explícitamente nada", usa una cadena vacía `""` o un valor centinela, según tu código aguas abajo.
  • Arrays de tipos mixtos. TOML 1.0 permite `[1, "two"]`, pero los parsers legados 0.5 no. Si tu TOML debe round-trip a través de tooling 0.5, mantén los arrays homogéneos en el JSON antes de convertir.
  • Claves con puntos en la salida TOML. Una clave JSON como `"my.key"` se vuelve una ruta de "clave con puntos" TOML, que los parsers TOML interpretarán como anidada. Para preservar un punto literal en el nombre de la clave, el serializador la entrecomilla: `"my.key" = ...` — pero los consumidores aún pueden parsearla como ruta.
  • NaN / Infinity. TOML 1.0 admite literales `nan`, `inf`, `-inf`. JSON no representa estos — típicamente llegan como las cadenas `"NaN"`, `"Infinity"`, etc. Convierte manualmente si necesitas verdaderos especiales de float TOML.
Preguntas frecuentes

¿Cómo se representan las fechas?

Las fechas JSON son cadenas ISO 8601, p. ej. `"2026-04-26T12:00:00Z"`. El serializador las mantiene como cadenas en TOML — no como tipos de fecha-hora nativos. Para obtener un fecha-hora TOML nativo, tendrías que pre-procesar y emitir el valor con el marcador de tipo correcto del lado JavaScript.

¿Se aplanan los objetos profundamente anidados?

No — se vuelven cabeceras anidadas `[a.b.c]`. Cada nivel de anidamiento se vuelve una ruta de cabecera unida con puntos. Para estructuras muy profundas, la salida puede tener líneas de cabecera largas; así es como TOML expresa la profundidad.

¿Se preservará el orden de las claves?

Mayormente. El serializador canonicaliza el orden para que los primitivos vengan antes de las sub-tablas (una regla de TOML). Dentro de cada nivel, se preserva el orden de inserción JSON.

¿Cómo obtengo una tabla inline TOML en la salida?

No puedes — el serializador siempre usa cabeceras de bloque `[section]`, nunca tablas inline. Si necesitas salida inline, post-procesa el resultado. Las tablas inline son una característica de legibilidad TOML, no una forma diferente de datos.

¿Mi JSON se sube?

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

¿Puedo round-trip JSON → TOML → JSON?

Para tipos soportados (cadena, número, booleano, objeto anidado, array de objetos), sí. Los round-trips pierden valores null (TOML no tiene null) y pueden normalizar el orden de claves.