Conversor JSON ↔ YAML

Converta JSON para YAML ou YAML para JSON no navegador. Mantém números grandes exatos, coloca aspas em valores como yes e 1.0 e aceita âncoras, chaves de mesclagem e vários documentos.

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

  1. Escolha o sentido: JSON → YAML ou YAML → JSON.
  2. 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.
  3. 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.