Conversor de YAML para JSON
Converta dados YAML para JSON. Transforme instantaneamente no navegador estruturas escritas em YAML — manifestos do Kubernetes, docker-compose.yml, arquivos de configuração de CI — em um formato que ferramentas exclusivas de JSON, como o jq, conseguem processar.
O que é a conversão de YAML para JSON
A conversão de YAML para JSON pega uma configuração escrita no formato YAML, pensado para ser lido e editado por pessoas com facilidade — manifestos do Kubernetes, arquivos docker-compose.yml, definições de workflows do GitHub Actions — e a transforma, diretamente no seu navegador, em JSON, um formato que os programas conseguem processar de forma mecânica. Esta ferramenta entende mapeamentos (`chave: valor`), sequências de bloco (`- item`), sequências de fluxo (`[a, b, c]`), mapeamentos de fluxo (`{a: 1, b: 2}`), escalares básicos como strings, inteiros, decimais, booleanos e nulos, além de comentários com `#`. Enquanto o seu YAML se limitar às construções comuns em arquivos de configuração do dia a dia, você pode colá-lo e obter imediatamente uma representação JSON funcional.
Dito isso, este conversor não implementa toda a especificação YAML 1.2. Ele deixa de fora, deliberadamente, âncoras (`&`) e aliases (`*`) usados para reutilizar valores, streams multi-documento (uma segunda marca `---` ou posterior gera um erro), escalares de bloco (`|` e `>`) para strings de múltiplas linhas, e sequências aninhadas na mesma linha, como `- - item`. Se a sua entrada depender de algum desses recursos avançados, a conversão falhará com um erro, por isso vale reescrever essa parte em uma forma equivalente mais simples antes de colar. Todo o processamento roda localmente no seu navegador — nada do que você cola é enviado a um servidor externo, o que importa quando o YAML analisado contém credenciais ou detalhes de infraestrutura interna.
Como usar o conversor de YAML para JSON
- Cole seu YAML Cole o YAML que deseja converter na caixa de entrada à esquerda. Se não tiver um arquivo à mão, clique em "Carregar exemplo" para testar primeiro com um exemplo funcional.
- Confira o JSON convertido O resultado em JSON aparece à direita assim que você digita ou cola o texto. Se a entrada tiver um problema de sintaxe, uma mensagem de erro explicando a causa provável é exibida no lugar.
- Ative ou desative a formatação legível Ative "Formatação legível" para obter um layout com recuo, fácil de ler, ou desative para reduzir tudo a uma única linha sem quebras de linha, conforme o destino onde você vai colar o resultado.
- Copie ou baixe o resultado Use o botão de copiar para enviar o JSON direto para a área de transferência, ou o botão de baixar para salvá-lo como um arquivo .json independente para uso posterior.
Dicas para aproveitar melhor
- Cole diretamente um manifesto do Kubernetes ou um docker-compose.yml para visualizar sua estrutura como JSON, permitindo que ferramentas de linha de comando como o jq, que só entendem JSON, façam consultas.
- Valores sem aspas que começam com zero à esquerda, como CEPs ou números de telefone, são interpretados como números e perdem esse zero inicial; sempre coloque aspas nos valores que devem permanecer como texto.
- YAML complexo que usa âncoras (`&`), aliases (`*`) ou escalares de bloco (`|`/`>`) não é suportado. Reescreva-o em uma forma mais simples antes de colar.
- Desmarque "Formatação legível" para obter um JSON em uma única linha sem quebras de linha, útil ao colar no corpo de uma requisição de API onde quebras de linha não são desejadas.
Onde a conversão de YAML para JSON ajuda
Consultar um manifesto do Kubernetes com o jq
Manifestos podem facilmente chegar a várias centenas de linhas. Converta para JSON e envie ao jq, e um caminho como `.spec.containers[].image` extrai instantaneamente exatamente o valor de que você precisa.
Alimentar um script com o docker-compose.yml
Se um script ou automação que você está escrevendo ainda não inclui um analisador de YAML, converter o arquivo compose para JSON primeiro permite lê-lo usando apenas um analisador JSON padrão.
Visualizar a estrutura de uma configuração de CI
Cole um arquivo de workflow do GitHub Actions ou GitLab CI para ver sua estrutura representada em JSON — relações aninhadas que são fáceis de perder de vista apenas com a indentação tornam-se caminhos de chave explícitos.
Preparar-se para trabalhar com uma ferramenta ou API que só aceita YAML
Mesmo que sua fonte de dados seja JSON, converter primeiro um arquivo YAML existente pode ajudar a confirmar exatamente como sua estrutura está organizada antes de escrever código contra ele.
Encadear com outras ferramentas de JSON
Cole o JSON convertido diretamente em JSON para definições de tipos TypeScript ou no formatador de JSON para continuar trabalhando com ele.
Glossário de YAML
- YAML
- Um acrônimo recursivo para "YAML Ain't Markup Language". O YAML representa estruturas aninhadas por meio de indentação em vez de colchetes, e permite comentários e aspas majoritariamente opcionais, o que o torna o formato preferido para arquivos de configuração editados manualmente por pessoas.
- Mapeamento (mapping)
- Uma estrutura do YAML que associa chaves a valores usando a sintaxe `chave: valor`. Corresponde a um objeto JSON, e linhas que compartilham o mesmo nível de indentação são tratadas como chaves pertencentes ao mesmo nível da estrutura.
- Sequência de bloco
- Um array do YAML escrito como uma série de linhas que começam cada uma com um hífen e um espaço, como `- item`. Corresponde a um array JSON; esta ferramenta lê uma sequência de linhas `-` no mesmo nível de indentação como um único array.
- Estilo de fluxo
- Uma forma de escrever uma sequência ou mapeamento em uma única linha sem usar o estilo de bloco baseado em indentação, como `[a, b, c]` ou `{a: 1, b: 2}`. Fica bem mais parecido com a forma como arrays e objetos JSON são escritos.
- Âncoras e aliases
- Um recurso do YAML em que `&nome` rotula um valor para que ele possa ser referenciado em outro lugar com `*nome`, permitindo reutilizar o mesmo bloco de configuração sem repeti-lo. Esta ferramenta não suporta esse recurso.
- Escalar de bloco
- Uma forma de escrever uma string de múltiplas linhas começando com `|` (que preserva quebras de linha) ou `>` (que converte quebras de linha em espaços). É comum para incorporar scripts de shell ou descrições longas, mas esta ferramenta não suporta esse recurso.
- Stream de documentos
- Um mecanismo para agrupar vários documentos YAML em um único arquivo, separados por marcas `---`. Configurações do Kubernetes costumam agrupar vários recursos dessa forma, mas esta ferramenta converte apenas um documento de cada vez.
Perguntas frequentes
Curiosidade — Por que os arquivos de configuração são escritos em YAML, mas as ferramentas pedem JSON
O YAML é amplamente usado em arquivos de configuração editados diretamente por pessoas — Kubernetes, docker-compose, workflows do GitHub Actions, playbooks do Ansible — graças à sua legibilidade: permite comentários e as aspas são, em sua maioria, opcionais. Já o JSON tem uma especificação pequena e sem ambiguidades, fácil de ser processada mecanicamente por programas, o que o tornou o formato padrão para troca de dados de APIs e ferramentas de linha de comando como o jq.
A conversão de YAML para JSON preenche essa lacuna entre "pessoas escrevem YAML, ferramentas pedem JSON". Manifestos do Kubernetes em particular podem ter centenas de linhas, e o `grep` sozinho logo encontra seus limites ao procurar um valor específico. Ao converter primeiro para JSON e consultar com o jq, você consegue extrair exatamente o valor necessário com um caminho como `.spec.containers[].image`.
Dito isso, a especificação completa do YAML (YAML 1.2) é enorme, cobrindo recursos avançados como reutilização de valores via âncoras e aliases, streams multi-documento e escalares de bloco para strings de múltiplas linhas. Esta ferramenta deliberadamente ignora toda essa superfície e se concentra no "subconjunto comum" de mapeamentos, sequências e escalares básicos que aparece na prática, mantendo uma implementação simples sem dependências externas.