acento.io
Ferramenta dev

Conversor JSON ↔ YAML

Conversão bidirecional entre JSON e YAML diretamente no navegador — seus dados nunca saem do seu computador.

Por Carlos Suárez , Engenheiro de sistemas
Última atualização:

O que este conversor JSON ↔ YAML faz

Esta versão em português usa a biblioteca js-yaml para fazer a conversão bidirecional entre JSON e YAML preservando tipos nativos: números continuam números, booleanos continuam booleanos, arrays e objetos mantêm sua estrutura exata. Diferente de conversores que serializam tudo como string, aqui true em YAML vira true em JSON — não "true". Um detalhe importante para quem trabalha com arquivos de configuração: a RFC 4648 e outras especificações técnicas são escritas em UTF-8, e vale lembrar que caracteres como 'ã' e 'õ' ocupam dois bytes nessa codificação — o que pode causar bugs silenciosos em parsers antigos se o arquivo não for salvo corretamente. 100% no navegador — seus dados nunca saem do seu computador. Sem uploads, sem rastreamento, sem logs em servidor.

Recursos

  • Conversão bidirecional com um clique. Converta de JSON para YAML ou de YAML para JSON. O botão Inverter troca os painéis instantaneamente sem precisar copiar e colar manualmente.
  • Preservação de tipos. Números, booleanos e nulos são mapeados corretamente em ambas as direções. Você não precisa corrigir "false" para false depois da conversão.
  • Avisos sobre perda de informação. Comentários YAML não têm equivalente em JSON e são descartados na conversão. A ferramenta avisa quando detecta comentários no YAML de entrada, evitando surpresas.
  • Expansão de âncoras e aliases. Âncoras (&) e aliases (*) do YAML são expandidos no JSON resultante. O conteúdo é preservado, mas a referência é perdida — comportamento esperado pela especificação.
  • Detecção de erros de sintaxe. JSON inválido ou YAML malformado gera uma mensagem de erro imediata com a linha do problema, funcionando como um validador rápido. Para inspecionar estruturas JSON complexas, o [formatador JSON](/pt/json-formatter/) é um complemento útil.
  • Privacidade total, sem servidor. Toda a conversão acontece no seu navegador via JavaScript. Nenhum dado é enviado a qualquer servidor — adequado para configs com credenciais ou segredos.

Como usar o conversor JSON ↔ YAML

Cole seu JSON ou YAML no painel esquerdo, escolha a direção e o resultado aparece imediatamente à direita.

  1. Cole o conteúdo. Cole seu JSON ou YAML no painel de entrada. Por exemplo, um manifesto Kubernetes em YAML ou uma resposta de API em JSON.
  2. Escolha a direção. Clique em **JSON → YAML** ou **YAML → JSON** conforme necessário. Para inverter rapidamente, use o botão **↻ Inverter**.
  3. Verifique o resultado. O painel direito mostra o conteúdo convertido. Se houver erros de sintaxe — como uma chave duplicada ou indentação com tabs (proibida pela especificação YAML) — uma mensagem de erro indica a linha exata.
  4. Copie o output. Clique em **Copiar** para levar o resultado para o clipboard. Se precisar também tipar a estrutura, o [Json To Typescript](/pt/json-to-typescript/) gera interfaces a partir do JSON resultante.

Casos de uso comuns

  • Manifests do Kubernetes. Equipes de plataforma em Belo Horizonte e Porto escrevem manifests em YAML para leitura humana, mas as APIs do Kubernetes aceitam JSON. Converter para inspecionar ou enviar via kubectl com --output json é um fluxo cotidiano.
  • Configs de CI/CD. Arquivos como .github/workflows/deploy.yml ou .gitlab-ci.yml são YAML por padrão. Convertê-los para JSON permite usar ferramentas de lint e diff que só entendem JSON, como editores com suporte a JSON Schema.
  • Integração entre sistemas. Quando um sistema exporta configuração em JSON e outro a importa como YAML — ou vice-versa — esta ferramenta elimina a etapa manual de reescrita, reduzindo erros de digitação em campos críticos como zonas de tempo (America/Manaus).
  • Validação rápida de sintaxe. Antes de fazer deploy de um arquivo de configuração, colar o conteúdo aqui confirma se o YAML é válido. Um erro de indentação ou um alias quebrado aparece imediatamente, sem precisar rodar o pipeline inteiro.

Perguntas frequentes

Meus dados são enviados para algum servidor?

Não. Todo o processamento acontece localmente no seu navegador usando JavaScript puro. Nenhum dado é transmitido — nem o conteúdo do input, nem os metadados da sessão. Você pode usar a ferramenta com arquivos que contenham segredos, tokens ou credenciais sem risco de exposição.

Por que meus comentários YAML somem depois da conversão?

JSON não tem sintaxe para comentários — é uma limitação da especificação, não da ferramenta. Quando o YAML é convertido para JSON e depois de volta para YAML, qualquer comentário presente no arquivo original é perdido de forma irreversível. A ferramenta avisa quando detecta comentários no YAML de entrada exatamente para evitar essa surpresa.

O que acontece com âncoras e aliases YAML?

Âncoras (&nome) e aliases (*nome) são recursos de reutilização do YAML sem equivalente direto em JSON. Ao converter, cada alias é substituído pelo valor completo da âncora referenciada — o conteúdo é preservado, mas a referência é expandida. O YAML resultante de uma conversão de volta não terá mais âncoras.

'no' e 'off' são booleanos ou strings em YAML?

Depende da versão. No YAML 1.1 (usado por muitas ferramentas antigas), no, off, yes e on são interpretados como booleanos. No YAML 1.2 — a versão atual — eles são strings. Esta ferramenta usa js-yaml no modo YAML 1.2 por padrão. Se seu sistema usa YAML 1.1, revise os valores após a conversão.

Tabs são permitidos na indentação YAML?

Não. A especificação YAML proíbe explicitamente o uso de tabs para indentação — apenas espaços são válidos. Arquivos que usam tabs falham no parser com um erro pouco descritivo. Se você receber um erro inesperado, verifique se o editor não substituiu espaços por tabs.

Caracteres acentuados como 'ã' são suportados?

Sim. A RFC 4648 e as especificações modernas de serialização adotam UTF-8 como codificação padrão, e tanto JSON quanto YAML suportam Unicode completo. O único cuidado é garantir que o arquivo seja salvo em UTF-8 — caracteres como 'ã' e 'õ' ocupam dois bytes nessa codificação, o que pode causar problemas em parsers legados que assumem ASCII ou Latin-1.