Formatador de TOML

Formate e valide TOML (Tom's Obvious, Minimal Language). Alinha claramente pares key = value, tabelas e arrays, e mostra erros de sintaxe com o número da linha.

Principais tipos de dados do TOML

Tipo Exemplo Descrição
String (básica) "hello" Escrita entre aspas duplas. Suporta sequências de escape como \n e \t.
String (literal) 'C:\path' Escrita entre aspas simples. Nenhum escape é aplicado, o que é útil para caminhos com barras invertidas.
Inteiro 42 Decimal por padrão; também suporta 0x (hex), 0o (octal), 0b (binário) e separadores com underline como 1_000.
Ponto flutuante 3.14 Notação exponencial (1e10) e os valores especiais inf/nan também são válidos.
Booleano true Apenas true ou false. Formas com maiúscula inicial (True) são inválidas.
Array [1, 2, 3] Valores separados por vírgula dentro de colchetes. Uma vírgula final é permitida.
Tabela [server] Todo par key = value que segue um cabeçalho de seção passa a pertencer àquela tabela.
Array de tabelas [[fruits-basket]] Repetir o mesmo nome de tabela expressa um array (por exemplo, várias definições de dependências).
Data/Hora 1979-05-27T07:32:00Z Formato RFC 3339 — o único valor composto que pode ser escrito sem aspas.

Formatar TOML e verificar sua sintaxe

TOML é um formato pensado para arquivos de configuração, e seu atrativo está na simplicidade de apenas enumerar pares `key = value`. Esta ferramenta arruma o TOML que você cola e, ao mesmo tempo, julga se a sintaxe se sustenta; quando algo está quebrado, aponta a linha culpada.

**A primeira coisa em que se tropeça no TOML é que a estrutura vem de linhas de cabeçalho escritas `[tabela]` e não da indentação.** Quem vem do YAML tende a recorrer ao recuo para exprimir a hierarquia, mas no TOML o recuo não significa absolutamente nada: **as chaves escritas entre um cabeçalho de tabela e o seguinte pertencem àquela tabela.** É, portanto, a posição da linha que determina a estrutura. O outro traço distintivo é que datas e horas são tipos de primeira classe, de modo que um valor como `2026-09-20T10:00:00Z` pode ser escrito sem aspas, tal como está.

Como se usa

  1. Cole o TOML O conteúdo de um `Cargo.toml` ou de um `pyproject.toml` entra como está.
  2. Confira o veredicto **Uma entrada sã é marcada como TOML válido; quando a sintaxe falha, a linha em questão é indicada.**
  3. Leia o resultado formatado Chaves e valores ficam alinhados e as fronteiras entre tabelas tornam-se fáceis de ver.
  4. Copie de volta O conteúdo arrumado pode ser devolvido ao arquivo sem mais mudanças.

Dicas para aproveitar melhor

  • Apenas arrays e tabelas em linha escritos em uma única linha são suportados. Se seu array ocupar várias linhas, junte-o em uma só antes de colar.
  • O formatador sempre normaliza exatamente um espaço em cada lado de "=" e padroniza os separadores de arrays/tabelas em linha para ", ", eliminando inconsistências entre diferentes autores.
  • Comentários (tudo após #) são preservados; a única alteração aplicada é inserir um espaço logo após "#" quando estiver faltando, mantendo a edição mínima.
  • Linhas em branco consecutivas são reduzidas a uma única linha, facilitando a visualização dos limites entre tabelas.
  • Todo o processamento acontece inteiramente no seu navegador — nada do que você cola aqui é enviado a um servidor.

Quando é útil

Ao procurar um erro num arquivo de configuração

**Colocar mal um cabeçalho de tabela muda em silêncio a qual tabela uma chave pertence, e essa é uma classe de erro que a vista raramente apanha.**

Ao ler a configuração de um projeto em Rust ou Python

Formatar um `Cargo.toml` ou um `pyproject.toml` deixa bem mais fácil seguir as divisões entre dependências.

Ao revisar algo convertido de outro formato

Ajustes reescritos a partir de JSON ou YAML podem ser testados na hora para ver se a sintaxe se sustenta.

Ao uniformizar o estilo de uma equipe

Formatar antes de confirmar as mudanças mantém os espaços soltos fora do diff e deixa só o que importa.

Termos de TOML

Tabela
Um cabeçalho escrito entre colchetes, como `[package]`, que **reúne em um grupo as chaves que vão dali até o próximo cabeçalho.**
Arranjo de tabelas
A notação escrita com colchetes duplos, `[[dependencies]]`. Repetir o mesmo cabeçalho acrescenta outro elemento ao arranjo.
Tabela em linha
Uma tabela escrita em uma só linha como `{ a = 1, b = 2 }`. **Serve para ajustes breves, mas não pode ser partida entre várias linhas.**
Cadeia básica
Uma cadeia entre aspas duplas, dentro da qual escapes como `\n` surtem efeito.
Cadeia literal
Uma cadeia entre aspas simples. **Nenhum escape tem efeito dentro dela, o que a torna a escolha certa para caminhos do Windows e expressões regulares.**
Data e hora
Um tipo que o TOML oferece de forma nativa. Uma data ou hora como `1979-05-27T07:32:00Z` pode ser escrita sem aspas.

Perguntas frequentes

O TOML costuma funcionar bem para arquivos mais planos, com muitos pares chave-valor, editados por várias pessoas (como manifestos de dependências), já que erros de indentação raramente quebram algo. O YAML costuma ser melhor quando você precisa de estruturas profundamente aninhadas ou de vários documentos em um único arquivo.

Ela formata corretamente cada cabeçalho [[section]], mas não combina seções repetidas com o mesmo nome em um único objeto do tipo array (como faria um conversor completo de TOML para JSON). Para estruturas complexas de array de tabelas, revise visualmente o resultado formatado linha por linha.

A ferramenta reconhece a sintaxe RFC 3339 e repassa o valor sem alterações, mas não valida sua correção no calendário (por exemplo, não detecta um "30 de fevereiro"). Se a validação estrita de datas for importante, verifique separadamente.

Atualmente """...""" e '''...''' não são suportadas, e essa linha será reportada como erro. Converta textos longos em uma string de uma única linha com escapes antes de formatar.

Não. Toda a formatação ocorre inteiramente no seu navegador via JavaScript; nada é enviado ou armazenado em um servidor, por isso é seguro usar mesmo com arquivos de configuração que contenham credenciais.
Tool-kun

Curiosidade — Por que o TOML se tornou a língua comum dos arquivos de configuração

O TOML foi criado em 2013 por Tom Preston-Werner, cofundador do GitHub, e seu nome completo, "Tom's Obvious, Minimal Language", reflete diretamente o objetivo do design: um formato tão fácil de analisar para máquinas quanto o JSON, mas que se lê e se escreve naturalmente para humanos, sem ambiguidades.

O momento decisivo veio quando o Cargo, gerenciador de pacotes do Rust, adotou o Cargo.toml como formato de manifesto. Depois, a PEP 518 introduziu o pyproject.toml como padrão de empacotamento do Python, unificando o que antes era uma mistura de setup.py, setup.cfg e requirements.txt.

A maior diferença em relação ao YAML é que o TOML não atribui nenhum significado à indentação. No YAML, um pequeno erro de indentação pode alterar silenciosamente a estrutura dos dados ou causar um erro de sintaxe; o TOML, por outro lado, expressa a hierarquia apenas por meio de cabeçalhos [section] e pares key = value, tornando os erros de copiar e colar muito menos prováveis.

Em contrapartida, o TOML abre mão de parte da expressividade do YAML: não possui âncoras/aliases para reutilizar valores e é mais verboso para estruturas profundamente aninhadas, por isso muitas equipes escolhem entre TOML, YAML e JSON conforme o formato dos dados.