Conversor YAML ↔ TOML 🔒 Seus dados nunca saem do seu navegador.
Converta arquivos de configuração entre YAML e TOML.
Ctrl+SBaixar
Sobre esta ferramenta
YAML e TOML descrevem a mesma ideia de configuração estruturada, só que com sintaxes e usos diferentes. YAML domina manifests do Kubernetes, arquivos Docker Compose e pipelines de CI (GitHub Actions, GitLab CI); TOML é o formato preferido do Cargo.toml do Rust e do pyproject.toml do Python. Levar configurações de um serviço Compose para um projeto Cargo — ou o inverso — geralmente significa redigitar tudo à mão. Este conversor de YAML para TOML online (e de TOML para YAML, no sentido inverso) traduz nos dois sentidos instantaneamente, preservando tabelas aninhadas, arrays e tipos de dados.
Movido por js-yaml e smol-toml, ambos carregados só nesta página. Seus arquivos de configuração nunca saem do navegador — seguro até para arquivos que citam hostnames internos, portas ou nomes de ambiente.
Perguntas frequentes
Para que serve o YAML e para que serve o TOML?
YAML é o padrão em manifests do Kubernetes, arquivos Docker Compose e pipelines de CI (GitHub Actions, GitLab CI) — lida bem com aninhamento profundo. TOML é o formato usado pelo Cargo.toml do Rust e pelo pyproject.toml do Python — lê-se mais como um .ini e é popular onde importa uma config plana e editável à mão. Você costuma precisar converter entre os dois ao migrar ajustes de um projeto em containers para um projeto Rust ou Python, ou vice-versa.
Meus comentários sobrevivem ao converter entre YAML e TOML?
Não — e essa é uma pegadinha comum. Tanto o YAML quanto o TOML descartam comentários ao ler o documento; só os dados sobrevivem. Esta ferramenta interpreta sua entrada como um objeto em memória e a serializa de novo do zero, então qualquer comentário `#` em qualquer um dos formatos se perde na saída. Se um comentário documenta algo importante, copie-o à mão depois.
A sintaxe de array de tabelas ([[section]]) faz round-trip corretamente?
Sim. O `[[section]]` do TOML é apenas um array cujos elementos são tabelas (objetos). Ao converter TOML → YAML, ele vira uma sequência YAML comum de mapeamentos; converter essa sequência de volta para TOML reproduz os blocos `[[section]]`, porque o smol-toml reconhece "um array em que todo elemento é um objeto simples" e gera a sintaxe de array de tabelas automaticamente.
Meus dados YAML ou TOML são enviados para algum lugar?
Não. A conversão roda inteiramente no seu navegador usando as bibliotecas JavaScript js-yaml e smol-toml — nada do que você digita ou cola aqui é enviado a um servidor. Isso torna seguro usar até para arquivos de configuração que citam hostnames internos, placeholders de credenciais ou outros detalhes específicos do ambiente.
Como transformo as configurações do meu docker-compose.yml numa config TOML para um projeto Rust ou Python?
Mude para a aba 'YAML → TOML', cole a seção relevante do seu docker-compose.yml (por exemplo, apenas o bloco `environment:` de um serviço ou um bloco de configurações personalizado que você adicionou), e o TOML equivalente aparece instantaneamente à direita — pronto para colar no Cargo.toml, pyproject.toml, ou qualquer arquivo `.toml` personalizado que seu app leia. Note que todo o documento colado precisa resultar em um único objeto no nível superior; se você colar o arquivo compose inteiro começando em `services:`, tudo bem, pois é um mapeamento, mas uma lista simples (como só o array `ports:` sozinho) mostrará um erro, já que o TOML não tem como representar um array como documento raiz.
Posso converter TOML de volta para YAML, não só YAML para TOML?
Sim — este é um conversor bidirecional. Clique na aba 'TOML → YAML' (ou clique em Trocar depois de uma conversão YAML → TOML) para colar TOML e obter o YAML equivalente, com a largura de indentação escolhida aplicada à saída. As duas direções usam a mesma abordagem de analisar e depois serializar novamente, então tabelas aninhadas, arrays e array-of-tables convertem corretamente em qualquer sentido.