Conversor de JSON para YAML

Cole JSON à esquerda, obtenha YAML 1.2 com indentação consistente à direita. Roda no seu navegador — sem upload.

  1. Cole JSON na área de texto à esquerda.
  2. Clique em "Converter para YAML". A saída YAML aparece à direita.
  3. Copie o resultado, ou clique em Baixar para salvar como data.yaml.
  4. Se o JSON for inválido, a mensagem de erro aponta para a posição ofensora.
O que ele faz?

Converte JSON em YAML 1.2 equivalente. Objetos viram mappings, arrays viram sequences, e números/booleanos/null/strings preservam seu tipo. A saída usa indentação de 2 espaços e largura de linha de 100 colunas por padrão. Round-trip JSON → YAML → JSON produz dados semanticamente idênticos, embora comentários e nuances de ordenação sejam limitações do lado JSON a notar.

Exemplo

Entrada JSON:

{"name":"Ada","tags":["math","logic"],"active":true}

Saída YAML:

name: Ada
tags:
  - math
  - logic
active: true

Erros comuns de JSON e como corrigi-los

JSON precisa ser válido antes desta ferramenta poder convertê-lo para YAML. O parser aponta a linha e coluna de qualquer falha — esses são os padrões que respondem por quase todo erro de "JSON inválido".

  • Vírgula final. `{"a": 1, "b": 2,}` é inválido. JSON não permite vírgula após o último elemento de um objeto ou array.
  • Aspas simples. `{'a': 1}` é inválido. Strings e chaves JSON devem usar aspas duplas.
  • Chaves sem aspas. `{a: 1}` é inválido — literais de objeto JavaScript permitem isso, mas JSON não. Envolva a chave com aspas duplas.
  • Comentários. Comentários // ou /* */ não são permitidos em JSON estrito. Remova antes de converter, ou use a saída YAML (que suporta comentários #) e cole de volta semi-manualmente.
  • Aspas tipográficas. Copiar-colar de processador de texto às vezes substitui " por aspas curvas — JSON rejeita. Redigite ou cole por um editor de texto puro.
  • NaN / Infinity. JSON não tem representação para NaN, Infinity ou -Infinity. Se seus dados contêm, escolha: serializar como null (perde informação) ou como string "NaN" (preserva intenção mas muda o tipo).
Perguntas frequentes

Por que minha saída YAML não tem comentários?

JSON não tem sintaxe de comentários, então não há comentários para transferir. Para YAML comentado, edite a saída à mão após conversão. Algumas equipes codificam comentários como campo `_comment` em JSON, mas viram chaves comuns em YAML — não comentários reais.

A ordem das minhas chaves será preservada?

Sim. A ordem de chaves de objeto JSON é preservada como ordem de mapping YAML — igual JSON.parse + JSON.stringify em navegadores modernos, que mantêm ordem de inserção. Para ordem alfabética, ordene o JSON primeiro.

Como estruturas profundamente aninhadas são formatadas?

A saída YAML usa indentação de 2 espaços por nível, com sequências em estilo bloco (um item por linha, prefixado com `-`). Objetos e arrays vazios são renderizados como `{}` e `[]` respectivamente — estilo flow, já que bloco seria ambíguo para vazio.

Suporta dados binários?

JSON não tem tipo binário nativo, então binários geralmente já estão codificados como string base64 na entrada. A saída YAML preserva essa string. Se você realmente precisa do formato binário YAML (`!!binary`), a conversão não o produz — mantenha a abordagem de string base64.

Isso é seguro para JSON sensível como chaves de API?

Sim. Tudo roda no seu navegador. Sua entrada é parseada e convertida por JavaScript nesta página; nenhum servidor é contatado. Verifique nas ferramentas de desenvolvedor — zero requisições de rede ao clicar em Converter.

Posso fazer round-trip JSON → YAML → JSON?

Para dados, sim — a semântica é preservada. Para texto exatamente byte-equivalente, não — espaços e aspas normalizam. Para forma canônica estável, rode JSON.stringify com chaves ordenadas antes de colar.