Conversor de TOML para YAML

Kubernetes quer YAML, GitHub Actions quer YAML, enquanto Rust e o empacotamento do Python vivem em TOML. Este conversor transforma um documento TOML em YAML estruturalmente equivalente direto no seu navegador, com um parser completo de TOML 1.0: tabelas viram mapeamentos, arrays de tabelas viram sequências, e tabelas inline, chaves com ponto, strings de várias linhas e todas as formas numéricas são entendidas. Valores tipados, como números, booleanos e datas, continuam tipados. A única coisa que não passa são os comentários; esse limite está explicado com honestidade abaixo.

Como o TOML se mapeia em YAML

  1. 1

    Cole o TOML

    O YAML aparece automaticamente enquanto você digita; não existe botão de converter para apertar.

  2. 2

    Parsing completo de TOML 1.0

    Tabelas, arrays de tabelas, tabelas inline, chaves com ponto, strings de várias linhas, números com underscore, hexadecimais e expoentes, e datas: tudo é analisado conforme a especificação.

  3. 3

    Tabelas viram mapeamentos

    Uma `[section]` vira uma chave YAML com um bloco indentado; `[[items]]` vira uma sequência de mapeamentos com entradas `-`.

  4. 4

    Strings de risco ganham aspas

    Strings que o YAML poderia interpretar errado, como "no", "on" ou "1.10", recebem aspas simples automaticamente e continuam sendo strings.

  5. 5

    Copie o YAML

    Saída em estilo de bloco com indentação uniforme de 2 espaços, pronta para manifests e pipelines de CI.

Mapeamento estrutural

TOML:

[database]
host = "localhost"
port = 5432

[[users]]
name = "alice"
admin = true

[[users]]
name = "bob"
admin = false

Saída YAML:

database:
  host: localhost
  port: 5432
users:
  - name: alice
    admin: true
  - name: bob
    admin: false

A ordem das chaves é preservada. Linhas em branco e comentários da fonte TOML não são levados adiante: a saída é YAML compacto em estilo de bloco.

Suporte completo à entrada TOML 1.0

  • Tabelas inline e chaves com ponto viram mapeamentos aninhados: point = { lat = 1, lon = 2 } aninha exatamente como uma seção [point] aninharia.
  • Strings de várias linhas saem como escalares de bloco YAML (|-) com as quebras de linha intactas.
  • Toda forma numérica do TOML é avaliada: 1_000_000 → 1000000, 0xFF → 255, 5e2 → 500.
  • Datas viram timestamps YAML nativos, não strings entre aspas. Os fusos são preservados e as frações de segundo ficam explícitas: 2026-04-18T10:00:00+02:00 → 2026-04-18T10:00:00.000+02:00; uma data simples continua 2026-04-18.
  • TOML inválido falha com clareza: chaves duplicadas ou sintaxe malformada produzem uma mensagem de erro clara em vez de um resultado adivinhado.

Aspas seguras automáticas na saída

  • country = "no" → country: 'no'. O clássico problema da Noruega, em que parsers YAML 1.1 leem um no sem aspas como false, é resolvido para você.
  • version = "1.10" → version: '1.10'. Strings que parecem números continuam strings.
  • Booleanos e números de verdade ficam sem aspas: active = true → active: true, port = 5432 → port: 5432.

Limites honestos

  • Comentários se perdem. O parser lê dados, não o layout do arquivo, então comentários # e linhas em branco não chegam ao YAML. YAML aceita comentários: você pode recolocar suas notas à mão depois.
  • Floats de valor inteiro perdem o ponto decimal: o 3.0 do TOML sai como 3, porque os números do JavaScript não distinguem os dois. 3.14 continua 3.14.
  • Inteiros gigantes são rejeitados: valores acima de 2^53 - 1 geram um erro em vez de perder precisão em silêncio.
  • Cola e copia: não há botão de upload nem de download de arquivo.

Escolhendo entre os dois formatos

  • Pontos fortes do YAML: comentários, âncoras e aliases para blocos repetidos, strings de várias linhas limpas e suporte nativo em Kubernetes, GitHub Actions, GitLab CI e Ansible.
  • Pontos fortes do TOML: nenhuma ambiguidade de indentação, tipos inequívocos (3 é sempre inteiro, "3" é sempre string) e um modelo mental simples de cabeçalhos de tabela mais chave = valor.

Perguntas frequentes

O caso mais comum é levar uma configuração para uma ferramenta que só aceita YAML: Kubernetes, Ansible, GitHub Actions ou GitLab CI. YAML também oferece recursos que o TOML não tem, como âncoras para blocos repetidos e comentários junto de dados profundamente aninhados.

Não. O conversor analisa seu TOML como dados e imprime esses dados como YAML, então comentários # e linhas em branco somem da saída. YAML aceita comentários, então você pode recolocar as notas à mão depois, algo que o JSON nem permitiria.

Literais de data do TOML saem como timestamps YAML nativos, não como strings entre aspas. Os fusos são preservados e as frações de segundo ficam explícitas: 2026-04-18T10:00:00+02:00 vira 2026-04-18T10:00:00.000+02:00, e uma data simples como 2026-04-18 continua sendo uma data simples.

Não. O parser TOML e o gerador YAML rodam os dois dentro do seu navegador; o texto nunca sai da página e nada é enviado aos nossos servidores. Valores de configuração privados ficam na sua máquina.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas