Formatador TOML
Cole TOML e o espaçamento é normalizado — chaves, strings e valores permanecem intactos.
TOML formatado
Como usar
- Cole seu TOML na caixa — ele é formatado enquanto você digita, sem botão para clicar.
- Escolha 2 ou 4 espaços para arrays de várias linhas e ative Alinhar = se quiser os sinais de igual alinhados; o resultado é atualizado imediatamente.
- Se algo estiver errado, a mensagem indica a linha, a coluna e o motivo. Copie o resultado ou baixe-o como arquivo .toml.
Exemplo
Entrada
[package] name="ykit" version = "0.1.0" edition="2021" authors = ["Ana Clara <ana@exemplo.com.br>", "Grace Hopper <grace@example.com>"] keywords=["ferramentas", "toml"] [dependencies] serde={version="1.0",features=["derive"]}
Formatado
[package] name = "ykit" version = "0.1.0" edition = "2021" authors = ["Ana Clara <ana@exemplo.com.br>", "Grace Hopper <grace@example.com>"] keywords = ["ferramentas", "toml"] [dependencies] serde = { version = "1.0", features = ["derive"] }
Apenas as regras padrão: dois espaços e sem alinhamento. Ordem de chaves, conteúdo das strings e ordem dos arrays ficam intactos; a tabela inline só tem o espaçamento normalizado e nunca uma vírgula final.
Regras, limites e problemas conhecidos
- Apenas sintaxe e conflitos de chave/tabela: chaves repetidas, tabelas definidas duas vezes, choques entre chave e tabela, strings e escapes, números, datas, arrays e tabelas inline. Sem schema, sem semântica de negócio, sem correções automáticas.
- Apenas espaços fora de strings e comentários são reescritos. Ordem de chaves, ordem de tabelas, chaves simples versus entre aspas, delimitadores e escapes de string, grafia de números/datas/booleanos e texto de comentários são copiados caractere por caractere.
- Arrays de uma linha ficam em uma linha; arrays de várias linhas mantêm um item por linha, com seus comentários e vírgula final. Tabelas inline são impressas em uma linha, então arrays dentro delas são dobrados em uma linha; quebras de linha dentro de uma string multilinha são conteúdo e ficam como digitadas, o que pode fazer uma tabela inline ocupar várias linhas.
- Uma quebra de linha ou um comentário dentro de uma tabela inline é erro de sintaxe (o próprio TOML proíbe os dois). Um comentário final fica um espaço após o código, e espaços no fim de um comentário são removidos.
- Sequências de linhas vazias são reduzidas a uma, linhas vazias no início e no fim são descartadas, e nenhuma linha vazia é acrescentada entre tabelas.
- Um array, tabela inline ou string multilinha não fechado bem no fim, um cabeçalho de tabela truncado, um `key =` sem valor ou um caminho de chave cortado logo após um ponto é aviso, não erro: você ainda recebe um resultado. Erros reais (vírgula faltando, valor sem aspas, data inválida) são erros com linha e coluna. Apenas o primeiro erro é reportado.
- Números de linha e coluna contam pontos de código Unicode, então um emoji é uma coluna; CRLF conta como uma quebra. Apenas espaço e tabulação são espaços TOML: U+3000 e U+00A0 fora de uma string são erros, enquanto dentro de uma string são conteúdo.
- Chaves simples são apenas ASCII — chaves em chinês ou árabe precisam de aspas, o que é do próprio TOML, não uma preferência desta ferramenta. Números e datas nunca são reescritos nem convertidos para outro sistema de dígitos.
- Sem minificação, sem ordenação de chaves, sem normalização de valores, sem upload de arquivo, sem parâmetros de URL, sem histórico. Tudo roda no seu navegador: nada é enviado ou armazenado.
- Acima de 200.000 caracteres o resultado é atualizado cerca de 0,6 s depois de você parar de digitar; o texto nunca é truncado. A saída usa LF sem quebra de linha final, e a formatação é idempotente com os mesmos ajustes de alinhamento e indentação.
Ferramentas relacionadas
O que as pessoas costumam precisar depois que a configuração está legível.