Conversor de JSON para YAML
Transforme JSON em YAML limpo e fácil de ler para Kubernetes, Docker Compose, GitHub Actions ou Ansible, com controle total sobre indentação, estilo e aspas.
Roda no seu navegadorSem cadastroNada é enviado
Como usar: JSON para YAML
- Cole o JSON na caixa da esquerda ou abra um arquivo
.json. - O YAML aparece à direita enquanto você digita.
- Escolha a indentação (2 ou 4 espaços) e o estilo: block (uma chave por linha) ou flow (
{a: 1}/[x, y]) a partir de um nível de aninhamento. - Escolha um estilo de aspas e marque Ordenar chaves se quiser ordem alfabética.
- Copie ou baixe o YAML. JSON inválido é reportado com a linha, a coluna e a causa provável.
Por que converter JSON para YAML?
JSON é ideal para máquinas e APIs, mas YAML é mais fácil para pessoas lerem e editarem: sem chaves, sem aspas obrigatórias e com suporte a comentários. A maioria das ferramentas de infraestrutura, incluindo Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI e Ansible, é configurada em YAML, enquanto os dados de partida (saída de API, kubectl get -o json, estado do Terraform) costumam estar em JSON.
Estilo block vs. flow
O estilo block coloca cada chave e item de lista em sua própria linha e é a escolha convencional para arquivos de configuração. O estilo flow usa {} e [] inline, como no JSON, e deixa estruturas pequenas nas folhas compactas. “Flow a partir do nível 2” mantém os dois níveis de cima em estilo block e coloca inline tudo o que for mais profundo, o que funciona bem para listas longas de objetos pequenos, como portas ou variáveis de ambiente.
Aspas seguras
Strings que um parser YAML poderia interpretar errado ficam entre aspas automaticamente: valores como 'no', 'on', '1.0', 'null', strings que começam com * ou & e strings que contêm : . Escolha Sempre simples ou Sempre duplas se o seu guia de estilo exigir que toda string fique entre aspas.
Pegadinhas do YAML 1.1 vs 1.2
Este conversor segue o YAML 1.2, a especificação atual. Muitas ferramentas mais antigas (PyYAML, o Psych do Ruby, algumas versões do Kubernetes e do Ansible) ainda leem YAML 1.1, em que as regras são diferentes:
- O problema da Noruega: no YAML 1.1,
country: nosignificafalse, então o código de país da Noruega,NO, desaparece. O mesmo vale parayes,on,off,yen. O YAML 1.2 só tratatrueefalsecomo booleanos. - Números octais:
0755é octal no 1.1, mas um decimal comum no 1.2, que usa0o755. Coloque permissões de arquivo entre aspas por segurança. - Números sexagesimais: no 1.1,
22:30pode ser interpretado como o número 1350. Coloque entre aspas horários e mapeamentos de portas como"8080:80".
A conversão JSON → YAML coloca strings ambíguas ('no', 'on', 'y') entre aspas automaticamente, então o YAML gerado é lido da mesma forma nas duas versões.
Perguntas frequentes
A conversão é sem perdas?
Por que algumas strings ficam entre aspas e outras não?
'yes', '123' ou strings com caracteres especiais. Todo o resto fica sem aspas para facilitar a leitura.Posso adicionar comentários à saída?
# comments ao YAML depois de copiá-lo.