JSON para YAML

Converta JSON para formato YAML

Experimente um exemplo

Entrada JSON

Saída YAML

Roda localmente · Seguro para colar segredos
O YAML aparecerá aqui…

O que é a Conversão de JSON para YAML?

A conversão de JSON para YAML transforma dados do JavaScript Object Notation para o YAML Ain't Markup Language. Ambos os formatos representam as mesmas estruturas de dados (objetos, arrays, strings, números, booleanos, null), mas usam sintaxes diferentes. JSON usa chaves, colchetes e vírgulas. YAML usa indentação e quebras de linha, produzindo uma saída mais próxima do texto simples. Ao contrário do XML, nenhum dos formatos exige um esquema.

YAML foi projetado como um formato de serialização de dados amigável para humanos. É a linguagem de configuração padrão para manifestos do Kubernetes, arquivos Docker Compose, playbooks do Ansible, workflows do GitHub Actions e muitos sistemas de CI/CD. Quando seus dados de origem estão em JSON e o sistema de destino espera YAML, você precisa de um conversor que preserve cada valor, tipo e nível de aninhamento com exatidão, sem perda de dados.

Converter JSON para YAML online é útil quando você recebe respostas de API ou dados exportados em JSON e precisa colá-los em um arquivo de configuração YAML. A conversão é sem perda para todos os tipos JSON padrão: strings, números, booleanos, null, arrays e objetos são mapeados diretamente para seus equivalentes YAML. Valores que contêm dois-pontos ou caracteres especiais são automaticamente colocados entre aspas para que a saída seja YAML válido.

Por que Converter JSON para YAML?

YAML é o padrão para arquivos de configuração; JSON é o que as APIs retornam. Converter entre eles permite usar o formato certo para cada tarefa sem reescrever dados manualmente.

Conversão Instantânea
Cole o JSON e obtenha a saída YAML imediatamente. Sem esperar pelo processamento no servidor, sem upload de arquivos, sem limites de taxa.
🔒
Processamento com Privacidade em Primeiro Lugar
Seus dados nunca saem do seu navegador. A conversão ocorre inteiramente em JavaScript no seu dispositivo, então credenciais, tokens e chaves de API permanecem privados.
🔀
Suporta Qualquer Estrutura JSON
Objetos profundamente aninhados, arrays grandes, tipos mistos, strings Unicode e caracteres especiais são convertidos corretamente. A ferramenta preserva a estrutura de dados completa.
📋
Sem Conta ou Instalação
Abra a página e comece a converter. Sem cadastro, sem extensão, sem ferramenta CLI para instalar. Funciona em qualquer dispositivo com um navegador.

Casos de Uso: JSON para YAML

Kubernetes & Docker Compose
Respostas de API e configurações exportadas frequentemente chegam como JSON. Converta-as para YAML para uso direto em manifestos do Kubernetes, charts Helm e arquivos Docker Compose.
Configuração de Pipeline CI/CD
GitHub Actions, GitLab CI, CircleCI e Azure Pipelines usam YAML. Ao gerar configurações de pipeline programaticamente a partir de JSON, converta a saída antes de fazer o commit.
Playbooks do Ansible
O Ansible espera YAML para playbooks e arquivos de inventário. Converta exportações de inventário JSON de APIs de nuvem para o formato YAML que o Ansible requer.
Inspeção de Respostas de API
APIs REST retornam JSON. Converter uma resposta aninhada para YAML torna a hierarquia de dados visível de relance, o que é mais rápido de analisar do que JSON cheio de colchetes.
Migração de Arquivos de Configuração
Ao migrar uma aplicação de configuração baseada em JSON (ex.: tsconfig.json, exports do package.json) para ferramentas baseadas em YAML, converta os valores em massa em vez de digitá-los novamente.
Aprendizado & Documentação
Estudantes e escritores técnicos usam JSON/YAML lado a lado para entender como as estruturas de dados se mapeiam entre os formatos. O conversor fornece exemplos instantâneos e precisos.

Comparação: JSON vs YAML

JSON e YAML podem representar os mesmos dados, mas sua sintaxe e capacidades diferem de formas que importam para casos de uso específicos.

RecursoJSONYAML
SyntaxCurly braces, square brackets, colons, commasIndentation-based, colons, dashes
ReadabilityModerate — nested brackets become denseHigh — visual hierarchy from indentation
CommentsNot allowed (RFC 8259)Supported with #
Multi-line stringsEscape sequences only (\n)Block scalars with | or >
Data typesstring, number, boolean, null, object, arraySame plus date, timestamp, binary
File sizeSlightly larger (brackets + quotes)Slightly smaller (no brackets)
Trailing commasNot allowedNot applicable (no commas)
SpecRFC 8259 / ECMA-404YAML 1.2 (yaml.org)

Armadilhas do YAML Após a Conversão

YAML tem regras de análise que surpreendem desenvolvedores vindos do JSON. Esses quatro problemas causam a maioria dos bugs ao trabalhar com a saída convertida.

yes/no Sem Aspas Viram Booleanos
Analisadores YAML 1.1 tratam yes, no, on, off, true e false como booleanos. Se seu JSON tiver um valor string "yes" ou "no", a saída YAML pode perder as aspas e ser interpretada como booleano por ferramentas mais antigas. YAML 1.2 restringe isso apenas a true/false.
Erros de Indentação Quebram a Análise
YAML usa indentação para definir estrutura. Um espaço extra ou faltante pode mudar o significado ou gerar um erro de análise. Ao contrário do JSON, onde uma vírgula mal colocada gera um erro claro, erros de indentação no YAML podem silenciosamente alterar sua hierarquia de dados.
Dois-Pontos em Valores Precisam de Aspas
Um dois-pontos seguido de espaço (":\ ") é o separador de chave-valor do YAML. Se sua string JSON contiver essa sequência (ex.: "http://example.com"), a saída YAML deve colocar o valor entre aspas. A maioria dos conversores lida com isso automaticamente.
Arquivos com Múltiplos Documentos
YAML suporta múltiplos documentos em um único arquivo separados por ---. JSON não tem equivalente. Ao converter um array JSON de configurações, cada elemento pode virar um documento YAML separado, ou permanecer como itens do array. Saiba qual formato sua ferramenta de destino espera.

Exemplos de Código

Converter JSON para YAML programaticamente requer uma biblioteca de serialização YAML na maioria das linguagens. A biblioteca padrão cuida da análise do JSON; a saída YAML precisa de um pacote adicional.

JavaScript (Node.js)
import YAML from 'js-yaml'

const json = '{"host":"localhost","port":3000,"debug":true}'
const obj = JSON.parse(json)
const yamlStr = YAML.dump(obj, { indent: 2 })
console.log(yamlStr)
// → host: localhost
// → port: 3000
// → debug: true
Python
import json, yaml

json_str = '{"host": "localhost", "port": 3000, "debug": true}'
data = json.loads(json_str)
yaml_str = yaml.dump(data, default_flow_style=False, sort_keys=False)
print(yaml_str)
# → host: localhost
# → port: 3000
# → debug: true
Go
package main

import (
    "encoding/json"
    "fmt"
    "gopkg.in/yaml.v3"
)

func main() {
    jsonStr := `{"host":"localhost","port":3000,"debug":true}`
    var data map[string]interface{}
    json.Unmarshal([]byte(jsonStr), &data)

    yamlBytes, _ := yaml.Marshal(data)
    fmt.Println(string(yamlBytes))
    // → debug: true
    // → host: localhost
    // → port: 3000
}
CLI (yq / jq + Python)
# Using yq (https://github.com/mikefarah/yq)
echo '{"host":"localhost","port":3000}' | yq -P
# → host: localhost
# → port: 3000

# Using Python one-liner
echo '{"host":"localhost","port":3000}' | python3 -c "import sys,json,yaml; print(yaml.dump(json.load(sys.stdin), default_flow_style=False))"

Perguntas Frequentes

A conversão de JSON para YAML é sem perda?
Sim, para todos os tipos JSON padrão. Strings, números, booleanos, null, arrays e objetos têm equivalentes diretos em YAML. O YAML convertido pode ser analisado novamente para produzir dados idênticos. A única diferença cosmética é a formatação: YAML usa indentação em vez de chaves.
YAML pode representar tudo que JSON pode?
Sim. YAML é um superconjunto do JSON (a partir do YAML 1.2). Todo documento JSON válido também é YAML válido. YAML adiciona recursos que o JSON não tem: comentários, âncoras/aliases, strings de múltiplas linhas e tipos escalares adicionais como datas.
Por que Kubernetes e Docker usam YAML em vez de JSON?
YAML suporta comentários, que são fundamentais para documentar configurações de infraestrutura. Também é mais legível para estruturas profundamente aninhadas porque a indentação substitui o ruído de colchetes. O Kubernetes aceita tanto JSON quanto YAML, mas a comunidade e toda a documentação oficial usam YAML.
Como lidar com arquivos JSON grandes?
Este conversor roda no seu navegador, então pode lidar com arquivos de vários megabytes sem problemas. Para arquivos muito grandes (50MB+), use uma ferramenta CLI como yq ou um script Python com a biblioteca PyYAML. Eles processam os dados como stream e usam menos memória.
O conversor preserva a ordem das chaves?
Sim. O conversor gera as chaves YAML na mesma ordem em que aparecem na entrada JSON. Objetos JSON são tecnicamente sem ordem segundo a especificação, mas na prática os analisadores preservam a ordem de inserção, e esta ferramenta mantém essa ordem na saída YAML.
Qual versão do YAML a saída segue?
A saída segue as convenções do YAML 1.2. Isso significa que apenas true e false são tratados como literais booleanos (não yes/no/on/off). Strings que poderiam ser mal interpretadas são automaticamente colocadas entre aspas para evitar ambiguidade na análise.
É seguro colar chaves de API e tokens nesta ferramenta?
Sim. A conversão ocorre inteiramente no seu navegador usando JavaScript. Nenhum dado é transmitido a qualquer servidor. Você pode verificar isso abrindo o inspetor de rede do seu navegador e observando que nenhuma requisição é feita durante a conversão.