Cómo se usa
- Pegue un objeto JSON en Objeto JSON. El texto completo debe ser un solo objeto, con llaves al principio.
- Lea Comprobación. En verde, el objeto se convirtió; en rojo indica el nombre donde está el problema y el motivo.
- Copie el TOML en un archivo, o descárguelo como config.toml.
Cómo se organiza el TOML
Los valores de cada tabla se escriben primero, y sus subtablas después. TOML necesita ese orden, porque los valores de una tabla deben ir antes de los encabezados que abren sus subtablas. Los nombres conservan el orden del JSON.
- Un objeto dentro de un objeto pasa a ser una tabla con su propio encabezado, como [owner], y sus valores siguen al encabezado.
- Una lista de objetos pasa a ser un array de tablas: una sección por cada objeto, con su encabezado entre doble corchete.
- Una lista de números o de textos se queda en una línea entre corchetes, lo que TOML admite.
- Un número con punto o exponente se escribe como flotante, así que 1.0 se queda como 1.0. Un número sin ellos se escribe como entero.
Lo que TOML no puede contener
- Un null. TOML no tiene null, así que un nombre con null detiene la conversión y se nombra en el mensaje. Quite el nombre o dele un valor.
- Un entero fuera del rango de 64 bits con signo. JSON admite cualquier tamaño, pero TOML se detiene en 9.223.372.036.854.775.807.
- Un nivel superior que es una lista o un valor simple. Un documento TOML es siempre una tabla, así que el JSON debe ser un objeto.
Nombres que necesitan comillas
Un nombre formado solo por letras, cifras, guiones bajos y guiones se escribe tal cual. Cualquier otro nombre, como uno con un espacio o un punto, se escribe entre comillas dobles, y también un nombre vacío. Las comillas, las barras invertidas y los caracteres de control de los textos se escapan como exige TOML.
Ejemplo resuelto: una lista, un flotante y un objeto
El JSON de abajo da un valor de cada tipo que escribe la herramienta. Cada fila da el valor JSON y la línea TOML en que se convierte.
| Valor JSON | Línea TOML |
|---|---|
| "ports": [8000, 8001] | ports = [8000, 8001] |
| "ratio": 1.0 | ratio = 1.0 |
| "owner": {"name": "Ada"} | [owner], y después name = "Ada" |
Preguntas frecuentes
¿Por qué los valores de una tabla van antes que sus subtablas?
TOML necesita que los valores propios de cada tabla vayan antes de los encabezados de sus subtablas. La herramienta escribe primero los valores, así que el archivo se lee correctamente y parece uno que escribiría una persona a mano.
¿Por qué un número se escribe como 1.0 y otro como 1?
Un número JSON con punto o exponente, como 1.0 o 2e3, es un flotante en TOML, y un número sin ellos es un entero. La herramienta conserva esa diferencia, así que un flotante nunca se escribe como entero.
¿Por qué un null detiene la conversión?
TOML no tiene el valor null, así que la herramienta no puede escribirlo sin cambiar los datos. Quite el nombre que contiene el null, o dele un valor como una cadena vacía, y convierta de nuevo.
¿Una fecha del JSON se convierte en una fecha de TOML?
No. Una fecha en JSON es una cadena, y una cadena sigue siendo cadena, así que el TOML mantiene la fecha entre comillas. Cambie las comillas a mano por una fecha si el archivo TOML necesita un valor de fecha real.
¿Se envía el JSON que pego a algún sitio?
No. La conversión se hace en su navegador, y lo que pega no se guarda ni se envía. Aun así, no pegue una contraseña ni un token en una página en la que no confíe.
Fuentes
- Especificación TOML v1.0.0 (en inglés)
- RFC 8259 (en inglés): The JavaScript Object Notation (JSON) Data Interchange Format
Cifras y texto revisados por última vez el miércoles, 11 de noviembre de 2026.