Qué hace esta herramienta
Los objetos anidados pasan a tablas; los arrays de objetos, a arrays de tablas.
{
"db": { "host": "localhost", "pool": { "size": 10 } },
"servers": [{ "name": "a" }, { "name": "b" }]
}
[db]
host = "localhost"
[db.pool]
size = 10
[[servers]]
name = "a"
[[servers]]
name = "b"
La raíz debe ser un objeto: un archivo TOML es una tabla, así que un array JSON arriba no tiene dónde colgar sus claves.
Null es lo que lo detiene
TOML no tiene valor nulo, y las dos formas de pretender lo contrario son falsas:
- quitar la clave cambia lo que dice el archivo: un ajuste ausente no es un ajuste puesto a nada;
- escribir
""inventa un valor que no estaba.
Así que la conversión se detiene y te dice cuál. Es el único punto en que rechaza un documento JSON válido, y lo rechaza porque terminar sería mentir.
Los enteros de más de 64 bits se escriben tal cual
{ "id": 12345678901234567890 }
sale con sus veinte cifras. Los enteros de TOML son de 64 bits con signo: ese valor queda fuera de rango y un lector estricto rechazará el archivo.
Es deliberado. La alternativa —redondearlo a 12345678901234567000, que es lo que hace un conversor que pasa por un doble— te entrega un archivo que se analiza limpiamente y contiene otro número. Un fallo ruidoso vale más que una mentira discreta.
Las fechas siguen siendo cadenas
JSON no tiene tipo fecha: "2026-01-01" llega como texto y sale como "2026-01-01", entrecomillado.
TOML sí tiene fechas nativas, y usar una sería decidir que el autor pensaba en una fecha. A veces sí; a veces esa cadena es una referencia de producto, un nombre de carpeta, una versión. JSON ya nos dijo que era texto, y no hay razón para contradecirlo.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.