Conversor de YAML para TOML e TOML para YAML

Converta YAML em TOML e TOML em YAML online, nos dois sentidos. Expande âncoras, trata null e datas, aponta a linha do erro e não envia seu arquivo.

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.

A conversão é feita no seu navegador: nada é enviado.

Como usar

  1. Escolha YAML → TOML ou TOML → YAML.
  2. Cole o conteúdo, abra um arquivo (.yaml, .yml, .toml) ou carregue o Exemplo.
  3. Confira os avisos abaixo dos painéis: eles dizem o que mudou na passagem de um formato para o outro.
  4. 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 *alias e cada mesclagem << vira uma cópia completa.
  • null não existe em TOML. Um valor ~, null ou 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: a vira 1 = "a", em que 1 é 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:00 sai 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" ou horario = "12:30", o YAML gerado mantém as aspas para que nenhum programa leia false ou um número em base 60.
  • inf e nan viram .inf e .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.

Ferramentas relacionadas