ToolDeck

Formatador TOML

Formate e valide arquivos de configuração TOML

Experimente um exemplo

Entrada TOML

TOML Formatado

Roda localmente · Seguro para colar segredos
O TOML formatado aparecerá aqui…

Última atualização: abril de 2026

O Que É a Formatação de TOML?

TOML (Tom's Obvious Minimal Language) é um formato de arquivo de configuração criado por Tom Preston-Werner em 2013. Ele mapeia diretamente para uma tabela hash e utiliza tipagem explícita para todos os valores. Um formatador TOML recebe um TOML bruto ou com estilo inconsistente e o re-serializa com espaçamento uniforme, indentação adequada e ordenação canônica de chaves. O resultado é um arquivo que segue as mesmas convenções em todo o projeto, tornando as alterações de configuração mais fáceis de revisar em diffs.

A especificação TOML v1.0.0, finalizada em janeiro de 2021, define a gramática com rigor suficiente para que qualquer parser compatível produza uma estrutura de dados idêntica a partir da mesma entrada. A formatação não altera o conteúdo semântico de um arquivo TOML. Ela ajusta apenas o espaço em branco, o agrupamento de chaves e o estilo de aspas. Isso significa que você pode formatar arquivos TOML livremente sem se preocupar em quebrar o comportamento da sua aplicação.

Ao contrário do JSON, o TOML suporta comentários, tipos nativos de data e hora e múltiplas formas de string (básica, literal e multilinha). Um bom formatador preserva os comentários e respeita a distinção entre tabelas inline e cabeçalhos de tabela padrão. Ele também trata corretamente arrays de tabelas, mantendo o agrupamento de seções intacto para que o arquivo permaneça legível tanto para humanos quanto para os parsers que o consomem.

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

Por Que Usar um Formatador TOML?

Arquivos de configuração acumulam desvios de estilo à medida que diferentes membros da equipe os editam ao longo do tempo. Tabs se misturam com espaços, algumas chaves são desnecessariamente colocadas entre aspas e as seções de tabela perdem seu agrupamento visual. Um formatador TOML normaliza tudo isso em uma única passagem.

Formatação Instantânea
Cole um TOML não formatado e obtenha uma saída limpa e consistente imediatamente. Sem instalação de CLI, sem configuração de projeto, sem aguardar uma etapa de build.
🔒
Processamento com Privacidade
Todo o parsing e a formatação são executados no seu navegador. Os dados de configuração, incluindo credenciais ou nomes de host internos, nunca saem da sua máquina.
Validação Incluída
O formatador analisa o seu TOML antes de re-serializá-lo. Se a entrada contiver erros de sintaxe, você recebe uma mensagem de erro clara com a linha problemática — a formatação funciona também como validação.
📋
Sem Cadastro Necessário
Abra a página e comece a formatar. Sem cadastro, sem limite de uso e sem rastreamento. A ferramenta funciona da mesma forma em todas as visitas.

Casos de Uso do Formatador TOML

Desenvolvimento Frontend
Formate arquivos wrangler.toml para projetos Cloudflare Workers ou deno.toml para frontends baseados em Deno. A formatação limpa ajuda na revisão de configurações de deploy em pull requests.
Engenharia Backend
Padronize arquivos Cargo.toml em vários microsserviços Rust. A formatação consistente facilita a verificação de versões de dependências e feature flags entre repositórios.
DevOps e CI/CD
Formate arquivos de configuração como .goreleaser.toml, netlify.toml ou configs do Starship antes de fazer o commit. Adicione uma verificação de formatação aos pipelines de CI para garantir consistência de estilo.
QA e Testes
Formate rapidamente fixtures de teste para que sejam legíveis e passíveis de diff. Quando um teste falha por diferenças de configuração, arquivos formatados tornam óbvia a comparação entre o valor real e o esperado.
Engenharia de Dados
Formate configurações do Telegraf ou InfluxDB que definem pipelines de coleta de dados. Esses arquivos costumam crescer para centenas de linhas, e a formatação consistente os mantém gerenciáveis.
Aprendizado da Sintaxe TOML
Cole exemplos de documentações ou tutoriais e veja como um formatador os normaliza. É uma maneira rápida de aprender quais estilos de colchetes, regras de aspas e agrupamentos de tabelas são canônicos.

Referência de Sintaxe TOML

O TOML possui um conjunto reduzido de construções. A tabela abaixo lista todos os elementos estruturais definidos na especificação TOML v1.0.0. Um formatador aplica espaçamento e agrupamento consistentes a todos eles.

SintaxeNomeNotas
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML vs JSON vs YAML

TOML, JSON e YAML resolvem problemas semelhantes, mas fazem escolhas diferentes.

RecursoTOMLJSONYAML
Comentários# comentários de linhaNão suportado# comentários de linha
Valores tipadosString, int, float, bool, datetimeString, number, bool, nullInferido (propenso a erros)
AninhamentoCabeçalhos [tabela]Chaves {}Baseado em indentação
Rigor da especificaçãoEstrito (um resultado de parsing)Estrito (RFC 8259)Flexível (múltiplos parsings válidos)
Suporte a data/hora4 tipos nativosNenhum (usar strings)Implícito (frágil)
Vírgulas finaisNão permitidoNão permitidoN/A (sem vírgulas)

Exemplos de Código

Os exemplos abaixo formatam TOML de forma programática em diferentes linguagens e ferramentas. Cada um lê um arquivo, faz o parsing e grava uma versão formatada.

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

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

Perguntas Frequentes

O que faz um formatador TOML?
Um formatador TOML analisa o arquivo para uma estrutura de dados e o re-serializa com espaçamento, ordenação de chaves e uso de aspas consistentes. O conteúdo semântico permanece o mesmo. Apenas a apresentação visual muda: espaçamento em torno dos sinais de igual, linhas em branco entre seções de tabela e indentação de valores aninhados.
A formatação TOML é segura para arquivos de configuração em produção?
Sim. A formatação altera apenas espaços em branco e detalhes cosméticos. A estrutura de dados resultante do parsing antes e depois da formatação é idêntica. Se o formatador encontrar uma entrada inválida, ele reporta um erro em vez de produzir uma saída quebrada. Você pode verificar isso fazendo o parsing de ambas as versões e comparando os objetos resultantes.
Como o TOML difere do JSON?
O TOML suporta comentários, tipos nativos de data e hora, strings multilinha e cabeçalhos de tabela para organizar dados aninhados. O JSON não possui nenhum desses recursos. O formato foi projetado para arquivos de configuração que humanos leem e editam. O JSON foi projetado para intercâmbio de dados entre programas. Não é possível usar comentários em JSON, o que dificulta documentar decisões de configuração inline.
Posso formatar TOML pela linha de comando?
Sim. O Taplo é o formatador de CLI TOML mais utilizado. Instale-o com cargo install taplo-cli ou npm install -g @taplo/cli e execute taplo fmt para formatar todos os arquivos .toml do seu projeto. Ele suporta configuração via um arquivo taplo.toml ou .taplo.toml para regras personalizadas.
A formatação preserva os comentários em arquivos TOML?
Este formatador no navegador analisa a entrada para uma estrutura de dados e a re-serializa, o que remove os comentários. Se precisar preservar os comentários, use uma ferramenta que trabalhe com a árvore de sintaxe concreta (CST), como o Taplo (CLI) ou o toml-edit (biblioteca Rust), que operam na árvore de sintaxe concreta em vez dos dados interpretados.
Qual é a diferença entre formatação e validação de TOML?
A validação verifica se o arquivo está em conformidade com a especificação e reporta erros caso contrário. A formatação vai um passo além: ela valida a entrada e a reescreve com estilo normalizado. Toda operação de formatação inclui a validação como primeiro passo, portanto um arquivo que é formatado com sucesso tem garantia de ser válido.
Quais projetos usam TOML como formato de configuração?
O Cargo do Rust (Cargo.toml), o ecossistema de empacotamento Python (pyproject.toml), sites estáticos Hugo, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf e o Starship prompt usam TOML. O formato ganhou popularidade depois que o Rust o adotou como padrão para manifests de pacotes em 2015.