Conversor de JSON para YAML
Cole JSON à esquerda, obtenha YAML 1.2 com indentação consistente à direita. Roda no seu navegador — sem upload.
- Cole JSON na área de texto à esquerda.
- Clique em "Converter para YAML". A saída YAML aparece à direita.
- Copie o resultado, ou clique em Baixar para salvar como data.yaml.
- 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.