Converter YAML em TOML (e TOML em YAML)
Útil para migrar a configuração de um projeto de um formato para o outro — um config.yaml que passa a ser config.toml, ou o contrário. A conversão é feita no navegador, sem enviar o arquivo.
Como usar
- Escolha YAML → TOML ou TOML → YAML.
- Cole o conteúdo, abra um arquivo (
.yaml,.yml,.toml) ou carregue o Exemplo. - Confira os avisos abaixo dos painéis: eles dizem o que mudou na passagem de um formato para o outro.
- Copie ou baixe o resultado.
Dois formatos de configuração, duas filosofias
YAML organiza os dados pela indentação. É o formato dos manifestos do Kubernetes, do Docker Compose, do Ansible e dos pipelines do GitHub Actions e do GitLab CI. É flexível — tem âncoras, vários documentos por arquivo, várias formas de escrever o mesmo texto — e essa flexibilidade é também a origem da maior parte dos seus erros.
TOML organiza os dados em seções com cabeçalho, como um arquivo .ini com tipos bem definidos. É o formato do Cargo.toml e do pyproject.toml. Tem menos recursos de propósito: cada valor tem um tipo evidente pela escrita, e a indentação não significa nada.
banco:
host: db.interno
porta: 5432
filas:
- nome: emails
- nome: relatorios[banco]
host = "db.interno"
porta = 5432
[[filas]]
nome = "emails"
[[filas]]
nome = "relatorios"Em estruturas rasas, o TOML costuma ser mais legível. Em estruturas muito aninhadas — como um Deployment do Kubernetes —, os cabeçalhos ficam longos ([spec.template.spec]) e o YAML leva vantagem.
De YAML para TOML: o que muda
- Âncoras e aliases são expandidos. TOML não tem como reaproveitar um trecho; cada
*aliase cada mesclagem<<vira uma cópia completa. nullnão existe em TOML. Um valor~,nullou vazio gera erro com o caminho da chave. A opção Omitir valores null deixa essas chaves de fora.- A raiz precisa ser um mapa. Um YAML que começa com uma lista (
- item) não pode virar TOML: coloque a lista dentro de uma chave. - Um documento por arquivo. YAML com vários documentos separados por
---precisa ser convertido um de cada vez. - Comentários se perdem. A conversão passa pelos dados, não pelo texto.
- Subtabelas vão para o fim. Em TOML, os valores simples de uma tabela precisam vir antes das subtabelas, então a ordem das chaves de mesmo nível pode mudar.
- Inteiros acima de 64 bits não cabem no TOML e geram erro.
- Chaves numéricas viram texto:
1: avira1 = "a", em que1é uma chave de texto.
De TOML para YAML: o que muda
- Datas viram texto entre aspas. O YAML 1.2 não tem tipo de data no esquema padrão, então
2026-10-07T08:00:00-03:00sai como"2026-10-07T08:00:00-03:00". Na volta para TOML, será uma string, não uma data. - Textos ambíguos ganham aspas. Se o TOML tem
resposta = "no"ouhorario = "12:30", o YAML gerado mantém as aspas para que nenhum programa leiafalseou um número em base 60. infenanviram.infe.nan, que o YAML entende.- Strings de várias linhas viram blocos literais com
|, bem mais legíveis. - Comentários se perdem, pelo mesmo motivo.
yes, no, on e off no YAML de entrada
No YAML 1.1, ativo: no significava false. No YAML 1.2, que este conversor segue, no é o texto "no", e o TOML gerado terá ativo = "no". Se o arquivo foi escrito para um programa que segue a regra antiga, marque Ler como YAML 1.1 e o resultado será ativo = false. A ferramenta avisa sempre que encontra essas palavras sem aspas, com o número da linha, para você decidir. No modo 1.1, datas sem aspas também são reconhecidas e viram datas de verdade no TOML.
Limitações
A conversão não é uma tradução do texto, e sim dos dados: espaçamento, comentários, estilo das aspas e a forma de escrever números (0xFF, 1_000) não são mantidos. Tags personalizadas do YAML (!Ref, !vault) são descartadas com aviso. Em TOML lido com chaves formadas só por dígitos, essas chaves aparecem primeiro. O limite de entrada é de 2 milhões de caracteres.
Perguntas frequentes
Qual formato escolher para a configuração do meu projeto? Se a configuração é rasa e editada à mão, TOML tende a dar menos erros, porque a indentação não importa. Se a ferramenta que você usa exige YAML (Kubernetes, Compose, CI) ou a estrutura é muito aninhada, fique com YAML.
Por que a ordem das chaves mudou no TOML? Porque, em TOML, tudo o que vem depois de um cabeçalho [tabela] pertence a ela. Para não mudar o significado, os valores simples são escritos antes das subtabelas.
Dá para converter um docker-compose.yml em TOML? Dá para converter os dados, mas o Docker Compose só lê YAML. A conversão é útil quando outro programa aceita os dois formatos.
O que acontece com as âncoras do YAML? São resolvidas: o TOML recebe o conteúdo repetido em cada lugar onde havia um alias.
O arquivo é enviado a algum servidor? Não. Tudo acontece no navegador.