JSON to YAML
Converta JSON para YAML e vice-versa, com inferência de tipos e formatação limpa.
Entrada JSON
Saída YAML
Digite JSON à esquerda para convertê-lo.
O que é JSON to YAML?
Um conversor de JSON para YAML (e de YAML para JSON) traduz entre dois dos formatos de serialização de dados mais populares. JSON é a língua franca das APIs web e das aplicações modernas — conciso, sem ambiguidade e suportado em todo lugar. YAML é um superconjunto amigável ao humano, muito usado em arquivos de configuração (Kubernetes, Docker Compose, GitHub Actions, pipelines de CI/CD) porque permite comentários, strings multilinha e é geralmente mais fácil de ler de relance. Converter entre eles surge constantemente: extrair valores de uma resposta de API JSON para uma configuração YAML, portar configurações de aplicação de JSON para YAML, ou depurar um arquivo YAML convertendo-o para JSON para facilitar a inspeção. A conversão é sem perdas para os tipos de dados centrais que ambos os formatos compartilham (objetos, arrays, strings, números, booleanos e null), mas recursos do YAML como anchors, aliases, custom tags e palavras sem aspas com aparência booleana (yes/no, on/off) são normalizados para equivalentes JSON.
Como usar JSON to YAML
- Escolha uma direção usando o alternador JSON ⇄ YAML no topo (ou clique no botão de troca para invertê-lo, levando a saída de hoje para o outro lado como nova entrada).
- Para JSON → YAML, cole qualquer valor JSON — objeto, array ou escalar — no painel esquerdo. Estruturas aninhadas tornam-se mappings e sequences YAML indentados.
- Para YAML → JSON, cole conteúdo YAML no painel esquerdo. O parser segue apenas regras compatíveis com JSON (sem custom tags, sem anchors/aliases, tags !!str/!!int/!!bool são ignoradas).
- O resultado convertido aparece instantaneamente à direita; copie-o quando estiver satisfeito.
Exemplos
Objeto JSON simples → YAML
Entrada
{ "name": "Production", "replicas": 3, "enabled": true, "metadata": null }
Saída
name: Production replicas: 3 enabled: true metadata: null
Array aninhado → YAML
Entrada
{ "services": [ { "name": "web", "port": 8080 }, { "name": "api", "port": 3000 } ] }
Saída
services: - name: web port: 8080 - name: api port: 3000
YAML → JSON (com inferência de tipos)
Entrada
database: host: localhost port: 5432 ssl: true pool: null
Saída
{ "database": { "host": "localhost", "port": 5432, "ssl": true, "pool": null } }
Erros comuns
- Assumir que yes/no do YAML viram as strings 'yes'/'no' no JSON — o YAML trata yes/no como valores booleanos, não strings, então convertê-los para JSON resulta em true/false. Se você precisa de valores string, coloque-os entre aspas no seu YAML: 'yes', 'no'.
- Esperar que comentários YAML sobrevivam à conversão de ida e volta — JSON não tem sintaxe de comentários, então comentários YAML (# isto é um comentário) são descartados ao converter para JSON, e converter o JSON de volta para YAML não os restaurará.
- Usar valores sem aspas como 1234 e assumir que permanecerão como strings — no YAML, um valor sem aspas com aparência de número torna-se um número JSON. Se você precisa dele como string no JSON, coloque-o entre aspas no YAML: '1234'. Isso é especialmente comum com IDs e CEPs.
Por que usar esta ferramenta
- Sem perdas para os tipos centrais — objetos, arrays, strings, números, booleanos e null convertem bidirecionalmente sem perda de dados para o subconjunto do YAML compatível com JSON.
- Saída legível para humanos — a saída de JSON para YAML é limpa e indentada, fácil de ler e editar à mão, o que é útil para gerar arquivos de configuração a partir de respostas de API.
- Conversão ciente de tipos — a inferência de tipos do YAML (números, booleanos, null) é aplicada ao converter YAML para JSON, então você recebe JSON devidamente tipado em vez de tudo como strings.