ToolDeck

Conversor TOML para JSON

Converta TOML para o formato JSON

Experimente um exemplo

Entrada TOML

Saída JSON

Roda localmente · Seguro para colar segredos
A saída JSON aparecerá aqui…
Veja também:Formatador TOML

O Que É a Conversão de TOML para JSON?

TOML (Tom's Obvious Minimal Language) é um formato de arquivo de configuração projetado para ser lido por humanos. Ele mapeia de forma não ambígua para uma tabela hash, suporta tabelas aninhadas, valores tipados e comentários inline. Muitas ferramentas e frameworks usam TOML como formato de configuração principal: projetos Rust utilizam o Cargo.toml, o empacotamento Python usa o pyproject.toml, e sites estáticos Hugo são configurados via config.toml. Converter TOML para JSON online permite transformar esses arquivos de configuração em um formato que praticamente toda linguagem de programação, API e pipeline de dados consegue consumir nativamente.

JSON (JavaScript Object Notation), definido pela RFC 8259, é o formato de intercâmbio de dados mais amplamente suportado. Enquanto o TOML prioriza a legibilidade humana com sua sintaxe mínima e suporte a comentários, o JSON prioriza a interoperabilidade entre sistemas. Um conversor de TOML para JSON preenche essa lacuna analisando a entrada TOML conforme a especificação TOML v1.0.0 e emitindo um documento JSON estruturalmente equivalente. A conversão preserva todos os dados: strings, inteiros, floats, booleanos, arrays e tabelas mapeiam diretamente para seus equivalentes em JSON.

O TOML possui quatro tipos nativos de data/hora que o JSON não consegue representar diretamente: datetime com fuso horário, datetime local, data local e hora local. O JSON não possui tipo de data, portanto esses valores são serializados como strings ISO 8601 durante a conversão.

Por Que Usar um Conversor de TOML para JSON?

Arquivos de configuração escritos em TOML frequentemente precisam alimentar sistemas que só aceitam JSON. Em vez de reescrever o arquivo manualmente ou instalar uma biblioteca de parser localmente, um conversor no navegador realiza a transformação em segundos.

🔒
Processamento com Privacidade
Seus dados TOML são analisados e convertidos inteiramente no navegador. Nada é enviado a um servidor, tornando seguro converter arquivos de configuração que contenham chaves de API, credenciais de banco de dados ou nomes de host internos.
Conversão Instantânea
Cole seu TOML e obtenha a saída JSON formatada imediatamente. Sem necessidade de instalar pacotes Node.js, bibliotecas Python ou ferramentas de CLI apenas para realizar uma conversão pontual de formato.
🔀
Suporte Completo ao TOML v1.0.0
O conversor suporta todos os tipos de dados TOML, incluindo chaves pontilhadas, tabelas inline, arrays de tabelas, strings multilinha e valores de data/hora. Casos extremos que costumam falhar na conversão manual são tratados corretamente.
📋
Sem Cadastro Necessário
Abra a página, cole seu TOML e copie o resultado JSON. Sem cadastro, sem limite de uso e sem rastreamento. A ferramenta funciona da mesma forma toda vez que você a visita.

Casos de Uso do Conversor TOML para JSON

Desenvolvimento Frontend
Converta os metadados do Cargo.toml de um projeto Rust com WASM para JSON, para uso por um script de build em JavaScript ou uma etapa de geração do package.json.
Engenharia Backend
Transforme configurações de aplicação escritas em TOML em JSON para injeção em ambientes que exigem configuração em JSON, como variáveis de ambiente do AWS Lambda ou labels de contêineres Docker.
DevOps e CI/CD
Ferramentas de pipeline como GitHub Actions e GitLab CI frequentemente trabalham com entradas em JSON. Converta configurações de ferramentas baseadas em TOML (rustfmt.toml, taplo.toml) para JSON em etapas de linting ou validação.
QA e Testes
Gere fixtures de teste em JSON a partir de arquivos-fonte TOML. O TOML é mais fácil de manter como fonte de dados de teste por seu suporte a comentários e sintaxe legível, mas os frameworks de teste geralmente esperam entrada em JSON.
Engenharia de Dados
Ao migrar configurações entre sistemas, arquivos TOML de uma plataforma (por exemplo, InfluxDB, Telegraf) podem precisar se tornar documentos JSON para a API ou ferramenta de importação de outra plataforma.
Aprendizado e Educação
Estudantes aprendendo formatos de dados podem colar exemplos TOML e ver exatamente como tabelas se tornam objetos aninhados, como arrays de tabelas se tornam arrays JSON e como os tipos de data do TOML mapeiam para strings.

Referência de Mapeamento de Tipos TOML para JSON

Cada tipo TOML possui um equivalente direto em JSON, com uma exceção: valores de data e hora. A tabela abaixo mostra como cada tipo TOML é convertido para JSON. Esse mapeamento segue a especificação TOML v1.0.0 e corresponde ao comportamento de parsers padrão como tomllib (Python), toml-rs (Rust) e @iarna/toml (Node.js).

TipoSintaxe TOMLSaída JSON
String"value""value"
Integer4242
Float3.143.14
Booleantrue / falsetrue / false
Offset Date-Time1979-05-27T07:32:00Z"1979-05-27T07:32:00Z"
Local Date-Time1979-05-27T07:32:00"1979-05-27T07:32:00"
Local Date1979-05-27"1979-05-27"
Local Time07:32:00"07:32:00"
Array[1, 2, 3][1, 2, 3]
Table[section]{ "section": {} }
Inline Table{ key = "val" }{ "key": "val" }
Array of Tables[[items]]"items": [{}]

Inteiros TOML suportam underscores para legibilidade (por exemplo, 1_000_000) e literais hexadecimais (0xDEADBEEF), octais (0o755) e binários (0b11010110). Todos eles são convertidos para números decimais simples em JSON. O TOML também suporta valores float infinity e NaN, mas estes não possuem representação em JSON e causarão um erro de conversão no modo estrito.

Exemplos de Código

Exemplos práticos de conversão de TOML para JSON em quatro linguagens. Cada um lê um arquivo TOML, faz o parsing e gera JSON formatado.

JavaScript (Node.js)
import { parse } from '@iarna/toml'
import fs from 'fs'

const toml = fs.readFileSync('config.toml', 'utf8')
const json = parse(toml)
console.log(JSON.stringify(json, null, 2))
// Input:  [server]
//         host = "localhost"
//         port = 8080
// Output: { "server": { "host": "localhost", "port": 8080 } }
Python
import tomllib   # Python 3.11+ (standard library)
import json

with open('config.toml', 'rb') as f:
    data = tomllib.load(f)

print(json.dumps(data, indent=2, default=str))
# Dates become strings: "1979-05-27"
# Arrays of tables become JSON arrays of objects
Go
package main

import (
    "encoding/json"
    "fmt"
    "os"

    "github.com/BurntSushi/toml"
)

func main() {
    var data map[string]any
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        panic(err)
    }
    out, _ := json.MarshalIndent(data, "", "  ")
    fmt.Println(string(out))
}
CLI (yj / dasel)
# Using yj (YAML/JSON/TOML converter)
cat config.toml | yj -tj

# Using dasel
dasel -f config.toml -r toml -w json

# Using Python one-liner (3.11+)
python3 -c "import tomllib, json, sys; print(json.dumps(tomllib.load(sys.stdin.buffer), indent=2, default=str))" < config.toml

Perguntas Frequentes

O que acontece com os comentários do TOML durante a conversão?
Comentários TOML (linhas iniciadas com #) são descartados durante a conversão. O JSON não suporta comentários, portanto não há como preservá-los na saída. Se precisar manter os comentários, considere usar JSONC (JSON with Comments) como formato de destino.
A conversão de TOML para JSON pode perder dados?
Para documentos TOML padrão, nenhum dado é perdido. Strings, números, booleanos, arrays e tabelas possuem equivalentes diretos em JSON. A única transformação ocorre com valores de data e hora, que se tornam strings ISO 8601 em JSON. Dois casos extremos podem causar problemas: o TOML suporta floats infinity e NaN, que não possuem representação em JSON, e inteiros muito grandes podem ultrapassar os limites de precisão do parser JSON (2^53 - 1 em JavaScript).
Como os arrays de tabelas do TOML são representados em JSON?
A sintaxe [[colchetes duplos]] do TOML define um array de tabelas. Cada bloco [[seção]] acrescenta um novo objeto a um array JSON. Por exemplo, dois blocos [[fruits]] tornam-se um array JSON com dois objetos: "fruits": [{...}, {...}]. A sintaxe de colchetes duplos é uma das partes mais difíceis de ler no TOML sem contexto; a saída JSON torna a estrutura evidente.
A conversão é reversível? Posso voltar de JSON para TOML?
Estruturalmente, sim. Qualquer objeto JSON pode ser representado como uma tabela TOML, e arrays JSON mapeiam para arrays TOML. No entanto, recursos específicos do TOML como comentários, agrupamento por chaves pontilhadas e formatação de tabelas inline são perdidos durante a conversão inicial de TOML para JSON e não podem ser recuperados. A conversão de volta produzirá TOML válido, mas possivelmente menos legível.
Qual é a diferença entre TOML e JSON para arquivos de configuração?
O TOML foi projetado para configuração: suporta comentários, possui sintaxe mais legível para estruturas aninhadas, distingue inteiros de floats e inclui tipos nativos de data/hora. O JSON foi projetado para intercâmbio de dados entre programas. O JSON é mais amplamente suportado por ferramentas e APIs, mas o TOML é mais fácil de ler e editar para humanos. Muitos projetos usam TOML para configuração-fonte e convertem para JSON na implantação.
Como esta ferramenta lida com chaves pontilhadas como server.host?
Chaves pontilhadas no TOML (por exemplo, server.host = "localhost") criam objetos aninhados em JSON: {"server": {"host": "localhost"}}. Isso é equivalente a definir uma tabela [server] com uma chave host. O conversor resolve as chaves pontilhadas para sua estrutura aninhada completa automaticamente.
Por que meu arquivo TOML falha na conversão?
Causas comuns incluem: aspas ausentes em torno de valores de string (o TOML as exige), uso de tabulações para indentação dentro de strings básicas multilinha, definições de chave duplicadas e mistura de chaves pontilhadas com cabeçalhos de tabela explícitos para o mesmo caminho. O conversor exibe a mensagem de erro do parser com o número da linha para ajudá-lo a localizar o problema.