100 % local — seus dados nunca saem do seu navegador

JSON para TOML — uma configuração legível

Converta JSON em TOML. Tabelas, chaves pontuadas e arrays de tabelas saem como uma configuração que dá para ler e editar à mão.

Instantâneo Privado Zero cookies

Entrada JSON

Saída TOML

O que esta ferramenta faz

Objetos aninhados viram tabelas; arrays de objetos viram arrays de tabelas.

{
  "db": { "host": "localhost", "pool": { "size": 10 } },
  "servers": [{ "name": "a" }, { "name": "b" }]
}
[db]
host = "localhost"

[db.pool]
size = 10

[[servers]]
name = "a"

[[servers]]
name = "b"

A raiz precisa ser um objeto: um arquivo TOML é uma tabela, então um array JSON no topo não tem onde pendurar as chaves.

O null é o que interrompe

O TOML não tem valor nulo, e as duas formas de fingir o contrário são falsas:

  • tirar a chave muda o que o arquivo diz — uma configuração ausente não é uma configuração posta em nada;
  • escrever "" inventa um valor que não estava lá.

Então a conversão para e diz qual. É o único ponto em que ela recusa um documento JSON válido, e recusa porque terminar seria mentir.

Inteiros além de 64 bits são escritos como estão

{ "id": 12345678901234567890 }

sai com os vinte dígitos. Os inteiros do TOML são de 64 bits com sinal: esse valor fica fora da faixa, e um leitor estrito vai recusar o arquivo.

É deliberado. A alternativa — arredondá-lo para 12345678901234567000, que é o que faz um conversor passando por um double — entrega um arquivo que analisa limpo e contém outro número. Uma falha ruidosa vale mais que uma mentira discreta.

As datas continuam strings

O JSON não tem tipo data: "2026-01-01" chega como texto e sai como "2026-01-01", entre aspas.

O TOML tem datas nativas, e usar uma seria decidir que o autor pensava numa data. Às vezes pensava; às vezes essa string é uma referência de produto, um nome de pasta, uma versão. O JSON já nos disse que era texto, e não há razão para contradizê-lo.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que um null interrompe a conversão?
Porque o TOML não tem null, e as duas formas de fingir são falsas. Tirar a chave muda o que o arquivo diz: uma configuração ausente não é uma configuração posta em nada. Escrever string vazia inventa um valor. A conversão para e nomeia a chave: a decisão continua sendo sua.
Meu identificador passa de 64 bits. O que acontece?
Ele é escrito como está. Os inteiros do TOML são de 64 bits com sinal, então um valor de vinte dígitos fica fora da faixa e um leitor estrito vai recusar o arquivo — ruidosamente. Essa é a boa falha: a alternativa é arredondá-lo para outro número e lhe entregar um arquivo que analisa e mente.
Por que minha data é uma string entre aspas?
Porque era uma string no JSON. O TOML tem datas nativas, mas escrever uma seria decidir que `"2026-01-01"` é uma data e não uma referência de produto ou um nome de pasta. O JSON nos disse que era texto: texto continua.

Conversores relacionados