O que é YAML?
YAML é um formato de configuração que usa indentação no lugar de chaves. Docker Compose, Kubernetes, GitHub Actions e o application.yml do Spring Boot usam esse formato. O YAML 1.2 é um superconjunto do JSON, então os dois se convertem sem perdas nos dois sentidos; a diferença está principalmente na legibilidade.
Como usar
- Escolha o sentido: JSON → YAML ou YAML → JSON.
- Cole o conteúdo. Com a conversão automática ligada, o resultado aparece enquanto você digita, e os erros de sintaxe mostram a linha e a coluna exatas.
- Escolha indentação de 2 ou 4 espaços e copie ou baixe o resultado. "Usar resultado como entrada" converte de volta no outro sentido.
Exemplo
Este JSON:
{"name":"web","replicas":3,"ports":[80,443],"env":{"DEBUG":"yes","VERSION":"1.10"}}
vira:
name: web replicas: 3 ports: - 80 - 443 env: DEBUG: "yes" VERSION: "1.10"
Repare nas aspas em "yes" e "1.10". Sem elas, muitas ferramentas YAML leriam yes como o booleano true e 1.10 como o número 1.1, mudando a sua configuração sem avisar.
Perguntas frequentes
Por que alguns valores ficam entre aspas?
Textos que o YAML poderia interpretar errado sempre recebem aspas: palavras como yes, no, on e null, qualquer coisa que pareça número ou data, e textos com : ou #. Um exemplo famoso é o código de país NO (Noruega), que analisadores YAML antigos transformam em false.
Números grandes continuam exatos?
Sim, nos dois sentidos. Um valor como 9007199254740993 ou 1280.50 é escrito exatamente como no original. Muitos conversores online passam os números pelo JavaScript e arredondam IDs grandes para 9007199254740992.
O que acontece com comentários, âncoras e vários documentos?
O JSON não tem comentários, então os comentários do YAML são removidos. Âncoras e aliases (&base, *base) e chaves de mesclagem (<<: *base) são expandidos em seus valores. Um arquivo com vários documentos separados por --- vira um array JSON.
Como as datas são tratadas?
Datas como 2024-01-01 continuam com o mesmo texto no JSON. Elas não são convertidas para outro formato nem fuso horário.