Conversor de JSON ⇄ YAML

Converta JSON em YAML e vice-versa, inteiramente no seu navegador. Cole ou carregue um arquivo, inverta o sentido e copie.

Todas as conversões acontecem localmente no seu navegador. Seus arquivos nunca saem do seu dispositivo.

—

Como funciona

O conversor funciona nos dois sentidos: de JSON para YAML usa o JSON.parse nativo e serializa com js-yaml, e de YAML para JSON faz o inverso. A conversão roda sozinha enquanto você digita (com atraso de um quarto de segundo), e um erro de sintaxe em qualquer direção mostra a mensagem do parser em uma linha vermelha e limpa a saída.

Por que YAML
YAML é a língua dos arquivos de configuração: manifests do Kubernetes, workflows do GitHub Actions, playbooks do Ansible. O estilo de bloco é muito mais legível que o JSON equivalente: sem chaves, sem vírgulas, e chaves e comentários podem ficar no nível superior do documento. Comentários são permitidos em YAML mas não existem em JSON, e por isso nunca sobrevivem a uma conversão.
Opções de exportação
A saída de JSON para YAML usa recuo de 2 espaços, estilo de bloco para sequências e mappings, sem âncoras nem aliases (o padrão do js-yaml), e strings só ganham aspas quando necessário — texto simples como hello fica sem aspas.
Ordem das chaves
A ordem das chaves é preservada ao exportar para YAML: o js-yaml emite as propriedades na ordem em que aparecem no documento de origem, que é também a ordem em que o JSON.parse as guarda no objeto.
O que se perde
Os comentários são descartados nos dois sentidos (o JSON não pode carregá-los e o parser descarta os do YAML). Arquivos YAML com vários documentos separados por --- não são suportados: esta ferramenta lê um único documento, então divida o fluxo e converta cada parte separadamente. Chaves duplicadas em JSON ficam com o último valor, como o formato exige.
Textos parecidos com data
O YAML 1.1 resolvia historicamente valores como 2024-01-01 para objetos de data nativos. O parser daqui segue o schema core moderno: valores com cara de data são carregados como texto simples e exportados entre aspas (‘2024-01-01’), então sobrevivem à ida e volta como string e nunca viram timestamp silenciosamente.

Perguntas frequentes

Os comentários sobrevivem à conversão?

Não. JSON não tem sintaxe de comentário, então de JSON para YAML não dá para adicionar nenhum, e de YAML para JSON todo comentário é descartado durante a análise. Se a sua configuração depende de comentários, copie-os manualmente depois de converter.

Como arrays e objetos são representados?

Objetos JSON viram mappings de YAML (chave: valor) e arrays JSON viram sequências de bloco (- item), com todo o aninhamento preservado nos dois sentidos. Um array de objetos vira aquela lista familiar de registros com traço usada por Kubernetes e arquivos de CI.

Minhas datas ou números de versão mudam de tipo?

Não. Parsers do YAML 1.1 antigos convertiam valores como 2024-01-01 em objetos de data, mas o parser daqui mantém valores com cara de data ou versão como texto e os entreaspas ao gerar YAML, então eles sobrevivem à ida e volta como string.

Posso converter arquivos muito grandes?

Tudo roda na aba do seu navegador, então o tamanho é limitado pela memória disponível. Alguns megabytes convertem na hora; documentos gigantes (dezenas de megabytes) podem travar a aba enquanto são processados.

Meus dados são enviados para um servidor?

Não. Análise, serialização, cópia e download acontecem localmente no seu navegador. Seus documentos nunca são enviados a lugar algum, então configurações confidenciais ficam no seu dispositivo.