Conversor e Formatador YAML ↔ JSON
Converta entre os formatos YAML e JSON, ou formate e valide o seu YAML. Detecta automaticamente o formato de entrada. Gratuito e funciona inteiramente no seu navegador.
Como Usar
- Cole o seu YAML ou JSON na área de entrada — a ferramenta detecta o formato automaticamente
- Clique em 'Para JSON' para converter para JSON, ou em 'Para YAML' para converter para YAML
- Use 'Formatar YAML' para embelezar um documento YAML sem convertê-lo
- Use 'Minificar' para produzir uma saída JSON compacta em uma única linha
- Ajuste o seletor de indentação para controlar a indentação da saída
- Clique em Copiar para copiar o resultado, ou em Limpar para reiniciar
Perguntas Frequentes
-
O que é YAML?
YAML (YAML Ain't Markup Language) é um formato de serialização de dados legível por humanos, comumente usado para arquivos de configuração, pipelines de CI/CD e manifestos do Kubernetes. Ele usa indentação para representar a estrutura em vez de chaves.
-
Quando devo usar YAML em vez de JSON?
Use YAML para arquivos de configuração e arquivos que humanos lerão ou editarão diretamente, pois ele suporta comentários e é menos verboso. Use JSON para respostas de API e intercâmbio de dados, pois é mais universalmente suportado e estritamente definido.
-
YAML pode representar tudo que JSON pode?
Sim. JSON é um subconjunto de YAML — qualquer JSON válido também é YAML válido. O YAML também suporta comentários, strings multilinhas, âncoras e aliases.
-
Meus dados são enviados para um servidor?
Não. Toda a conversão ocorre inteiramente no seu navegador usando a biblioteca js-yaml. Seus dados nunca saem do seu dispositivo.
-
O que acontece se minha entrada for inválida?
Uma mensagem de erro aparecerá abaixo dos botões descrevendo exatamente onde a análise falhou, para que você possa localizar e corrigir o problema rapidamente.
YAML e JSON: Dois Formatos, Propósitos Diferentes
Embora YAML e JSON representem estruturas de dados equivalentes, eles foram projetados para contextos distintos e têm características que os tornam mais adequados para usos específicos.
JSON (JavaScript Object Notation) é estrito, minimalista e universalmente suportado. Qualquer linguagem de programação moderna tem um parser JSON nativo ou em sua biblioteca padrão. É o idioma das APIs REST.
YAML (YAML Ain't Markup Language) é orientado para humanos. Suporta comentários, strings multilinhas com formatação preservada, e uma sintaxe mais limpa sem chaves e aspas obrigatórias. É o idioma dos arquivos de configuração.
Por Que Converter Entre os Dois?
Existem vários cenários práticos para converter entre YAML e JSON:
- De YAML para JSON: enviar dados de configuração para uma API que só aceita JSON; integrar com ferramentas que não leem YAML; depurar um arquivo de configuração convertendo-o para JSON e validando a estrutura
- De JSON para YAML: transformar respostas de API em arquivos de configuração mais legíveis; criar templates de Kubernetes ou Helm charts a partir de definições JSON existentes; adicionar comentários a dados que chegaram como JSON
Ressalvas da Conversão
Comentários São Perdidos
YAML suporta comentários (# isso é um comentário); JSON não. Ao converter de YAML para JSON, todos os comentários são descartados silenciosamente. Ao converter de JSON para YAML, o resultado não terá comentários. Se os comentários forem importantes para documentar a configuração, eles precisam ser adicionados manualmente após a conversão.
Tipos de Dados Ambíguos
YAML infere tipos automaticamente, o que pode causar surpresas:
versao: 1.0 # Float em YAML, mas pode ser string desejada
ativo: yes # Boolean true em YAML
porta: "8080" # String explícita com aspas
Ao converter para JSON:
{"versao": 1.0, "ativo": true, "porta": "8080"}
Valores como yes, no, on, off, true, false são interpretados como booleanos em YAML. Se você quiser a string literal "yes", use aspas: valor: "yes".
Chaves Numéricas
JSON exige que todas as chaves de objetos sejam strings. Em YAML, chaves podem ser de qualquer tipo. Ao converter YAML com chaves numéricas para JSON, elas são automaticamente convertidas para strings — o que pode quebrar código que espera chaves numéricas.
Ordem das Chaves
JSON e YAML não garantem ordem de chaves (é uma característica opcional). Durante a conversão, a ordem pode ser alterada. Se a sua aplicação depende de ordem específica de chaves, revise o resultado após a conversão.
Fluxo de Trabalho Recomendado
Kubernetes e Helm
Manifestos Kubernetes são escritos em YAML. Ferramentas de geração (como kubectl create --dry-run -o json) frequentemente produzem JSON. Converter o JSON gerado automaticamente para YAML, adicionar comentários e ajustar a formatação é um fluxo de trabalho comum.
CI/CD Pipelines
Pipelines de GitHub Actions, GitLab CI e CircleCI são definidos em YAML. Ao debugar um pipeline complexo, converter para JSON pode ajudar a validar a estrutura com ferramentas que processam apenas JSON, como jq.
APIs para Configuração
Ao criar um arquivo de configuração baseado na documentação JSON de uma API, converter o exemplo JSON para YAML resulta em um arquivo mais legível e fácil de manter, onde você pode adicionar comentários explicando cada opção.