CodeKitHub
Ferramentas JSON

Conversor JSON ↔ YAML

Última atualização:

Esta ferramenta converte JSON para YAML e YAML para JSON, nos dois sentidos, inteiramente no seu navegador. Cole seus dados, escolha uma direção e obtenha uma saída limpa e corretamente indentada — útil para editar manifestos do Kubernetes, arquivos do Docker Compose, workflows do GitHub Actions, ou qualquer configuração armazenada em YAML mas mais fácil de gerar ou inspecionar como JSON.

O que é esta ferramenta?

O YAML é o formato preferido para a maioria dos arquivos de configuração modernos — manifestos do Kubernetes, Docker Compose, pipelines do GitHub Actions e GitLab CI, playbooks do Ansible — porque é mais legível do que o JSON para quem edita arquivos manualmente: não exige aspas na maioria das chaves, não tem o risco de vírgulas sobrando no final, e suporta comentários. Já o JSON é o que a maioria das APIs e linguagens de programação produz e consome nativamente.

Esta ferramenta faz a ponte entre os dois usando o js-yaml, uma implementação em JavaScript amplamente usada da especificação YAML, de modo que a análise e a geração seguem as mesmas regras que uma ferramenta com suporte a YAML, como o `kubectl` ou um executor de CI, aplicaria.

Converter JSON para YAML transforma objetos em blocos indentados de chave: valor e arrays em itens de lista com prefixo `-`. Converter YAML para JSON faz o inverso, e também resolve atalhos de tipo específicos do YAML (como `true`, `null` ou números sem aspas) para os tipos JSON corretos.

Por que usar?

  • Bidirecional — converta JSON para YAML ou YAML para JSON na mesma tela.
  • Análise e geração baseadas em padrões via js-yaml, então a saída corresponde ao que ferramentas reais de YAML (Kubernetes, sistemas de CI, Ansible) esperam.
  • Lida com objetos e arrays aninhados em qualquer profundidade, convertendo entre a estrutura baseada em indentação do YAML e as chaves e colchetes do JSON.
  • Interpreta corretamente os atalhos de tipo do YAML — valores true/false, null e numéricos sem aspas se tornam seus tipos JSON corretos em vez de strings.
  • Copie para a área de transferência ou baixe como arquivo .json ou .yaml.
  • 100% no navegador — nada do que você cola é enviado a servidor algum.

Como usar

  1. Escolha uma direção: "JSON → YAML" ou "YAML → JSON".
  2. Cole seus dados na caixa de entrada.
  3. Clique em "Convert".
  4. Revise o resultado, depois copie ou clique em "Download" para salvar um arquivo.

Exemplo

Entrada

{"name":"Alice","roles":["admin","editor"],"active":true}

Resultado

name: Alice
roles:
  - admin
  - editor
active: true

Observe como o array vira uma lista de itens com traço sob "roles", e o valor booleano permanece como true sem aspas, em vez de virar a string "true".

Dicas práticas

  • Ao escrever um manifesto do Kubernetes ou um workflow do GitHub Actions: rascunhe a estrutura como JSON (muitos editores e ferramentas de IA geram JSON de forma mais confiável) e depois converta para YAML no arquivo final.
  • Ao depurar uma configuração YAML com comportamento estranho: converta para JSON para ver exatamente quais valores são strings, números ou booleanos — a sintaxe flexível do YAML pode esconder incompatibilidades de tipo que ficam óbvias em JSON.
  • Se o seu JSON contém chaves com caracteres especiais ou que começam com um número, o js-yaml vai colocá-las automaticamente entre aspas na saída YAML para que sejam interpretadas corretamente ao serem lidas de volta.

Por que a conversão de tipos é a parte mais delicada do YAML

A maior vantagem de usabilidade do YAML em relação ao JSON — não exigir aspas na maioria dos valores — também é sua maior fonte de bugs sutis. O exemplo clássico é o "problema da Noruega": no YAML 1.1 (usado por muitos analisadores mais antigos), um valor sem aspas `no` é interpretado como o booleano `false`, e não como a string "no", o que já quebrou configurações reais que listavam o código de país da Noruega. Esta ferramenta segue a especificação YAML 1.2, que reduziu o conjunto de valores sem aspas tratados como booleanos apenas a `true` e `false` (e suas variantes de maiúsculas/minúsculas), diminuindo — embora não eliminando — esse tipo de surpresa. Na dúvida sobre como um valor será tipado, colocá-lo explicitamente entre aspas no seu YAML é a escolha mais segura.

Perguntas frequentes

Os comentários do YAML são preservados ao converter para JSON e de volta?

Não. O JSON não tem o conceito de comentários, então converter YAML para JSON descarta quaisquer comentários # do arquivo original. Se você converter esse JSON de volta para YAML, os comentários não reaparecerão — essa é uma limitação inerente ao formato, não um bug da ferramenta.

Como a ferramenta lida com âncoras e aliases do YAML (& e *)?

O analisador subjacente (js-yaml) resolve âncoras e aliases antes de gerar o JSON, então um arquivo YAML que usa âncoras & e aliases * para reutilizar um bloco de dados será convertido para JSON com esses dados totalmente expandidos em cada lugar em que são referenciados.

Por que meu número em YAML veio como string no JSON, ou vice-versa?

Se um valor estiver entre aspas na fonte YAML (por exemplo, version: "3.10"), ele é tratado como string de propósito — isso importa porque números YAML sem aspas, como 3.10, podem perder o zero final ao serem interpretados como float. Coloque um valor entre aspas na fonte YAML se você especificamente precisar que ele seja tratado como texto.

Posso converter um arquivo YAML com vários documentos (separados por ---)?

Esta ferramenta converte um único documento YAML de cada vez. Se o seu arquivo tiver vários documentos separados por marcadores ---, converta uma seção por vez, ou remova os separadores e mescle-os em um único documento primeiro, se isso atender ao seu caso de uso.

Meus dados são enviados para algum lugar?

Não. A conversão acontece inteiramente no seu navegador através da biblioteca js-yaml — nada é enviado a um servidor, o que torna seguro usá-la com arquivos de configuração reais, incluindo aqueles com nomes de host internos ou detalhes de infraestrutura.

Ferramentas relacionadas