YAMLJSON
YAML para JSON
Converta YAML em JSON online — instantaneamente, no seu navegador.
Cole seu YAML aqui ou solte um arquivo na pagina
JSON aparece aqui enquanto voce digita
Grátis e ilimitado · Sem registo · Nada é enviado — cada conversão corre na sua própria máquina.
Sobre este conversor gratuito de YAML para JSON
Cole YAML no painel da esquerda e o JSON aparece à direita enquanto escreve — sem botão de converter, sem upload, sem ida ao servidor. A conversão é gratuita, ilimitada e não precisa de conta; como o parser vem dentro da página, não há contadores nem limite de tamanho além da memória da sua máquina. Molde a saída como precisar: dois espaços, quatro espaços, minificado, chaves ordenadas e fluxos multi-documento do Kubernetes como array JSON ou JSON Lines.
O esforço foi para o caminho do erro. Uma falha de parsing recebe linha e coluna, um marcador no editor, uma explicação em linguagem clara e uma correção concreta — um parêntese por fechar é reportado como parêntese por fechar, não como uma queixa enganadora de indentação quarenta linhas mais abaixo. Cada valor cujo significado muda entre YAML 1.1 e YAML 1.2 — o problema Norway e os seus parentes — é assinalado com o que cada versão produziria.
Se o objetivo é YAML mais limpo em vez de JSON, o formatador de YAML reorganiza um documento no lugar e mantém todos os comentários. Para ir na direção oposta, o conversor de JSON para YAML está a um clique. E quando a conversão pertence a um script e não a um separador do navegador, o guia de código e linha de comandos cobre yq, Python, Node.js e Go.
Feito para ser melhor do que as alternativas
A maioria dos conversores de YAML é a mesma camada fina sobre um parser. É aqui que se nota a diferença.
Erros que nomeiam o problema real
A maioria dos conversores responde a um parêntese por fechar com «indentação deficiente» e aponta para a linha errada. Este diz-lhe que delimitador nunca foi fechado, onde foi aberto e como corrigir — com um marcador na própria linha.
Avisa sobre YAML 1.1
country: no é a string «no» em YAML 1.2 e o booleano false em YAML 1.1. Cada valor do seu documento que muda de significado entre versões é assinalado, com o valor que cada versão produz.
Multi-documento, como deve ser
A saída do Kubernetes e do Helm é quase sempre separada por ---. Converta-a num array JSON ou em JSON Lines, com a contagem dos documentos encontrados.
Merge keys resolvidas
Docker Compose, GitLab CI e Ansible apoiam-se em <<: *defaults. As merge keys são resolvidas por defeito, por isso obtém os valores que espera em vez de uma chave literal «<<».
Nada sai do seu navegador
Não existe nenhum endpoint de conversão para onde enviar dados. Abra o separador Rede e observe, ou desligue o cabo — a página continua a converter na mesma.
Sem conta, sem limite
Sem muro de registo, sem conversões contadas, sem «partilhe para desbloquear». Cole e siga.
O que é YAML?
YAML («YAML Ain’t Markup Language») é um formato de dados concebido para ser escrito e lido por pessoas: indentação em vez de parênteses, comentários e blocos reutilizáveis. Foi por isso que se tornou o padrão para configuração — Kubernetes, Docker Compose, GitHub Actions e Ansible são todos YAML. O custo é a ambiguidade: os espaços são significativos e os valores sem aspas podem surpreender.
O que é JSON?
JSON (JavaScript Object Notation) é um formato mais restrito e mais pequeno, construído para máquinas: chavetas, parênteses retos e strings sempre entre aspas, sem comentários e sem ambiguidade. Essa rigidez é a razão para converter — todas as linguagens analisam JSON da mesma forma, por isso YAML transformado em JSON comporta-se de forma idêntica numa API, num fixture de testes ou num pipeline de logs.
YAML e JSON num relance
| Aspeto | YAML | JSON |
|---|---|---|
| Comentários | Sim, com # | Não |
| Estrutura a partir de | Indentação | Chavetas e parênteses retos |
| Reutilização | Anchors, aliases, merge keys | Nenhuma — os valores repetem-se |
| Aspas nas strings | Normalmente opcionais | Sempre obrigatórias |
| Uso típico | Configuração escrita por pessoas | Dados trocados entre máquinas |
Exemplos de YAML para JSON
Todos os exemplos abaixo convertem corretamente na ferramenta acima. Cobrem os casos que mais surpreendem.
Mapas e sequências aninhados
A indentação torna-se aninhamento; uma lista com «-» torna-se um array JSON.
YAML
name: api
replicas: 3
ports:
- 80
- 443
resources:
limits:
memory: 512MiJSON
{
"name": "api",
"replicas": 3,
"ports": [80, 443],
"resources": {
"limits": { "memory": "512Mi" }
}
}Anchors, aliases e merge keys
O JSON não consegue exprimir uma referência, por isso os anchors são expandidos no lugar.
YAML
defaults: &defaults
restart: always
logging: json
web:
<<: *defaults
image: nginx
worker:
<<: *defaults
image: redisJSON
{
"defaults": {
"restart": "always",
"logging": "json"
},
"web": {
"restart": "always",
"logging": "json",
"image": "nginx"
},
"worker": {
"restart": "always",
"logging": "json",
"image": "redis"
}
}Vários documentos
Um fluxo separado por --- torna-se um array JSON — ou JSON Lines, se preferir um objeto por linha.
YAML
apiVersion: v1
kind: Service
---
apiVersion: apps/v1
kind: DeploymentJSON
[
{ "apiVersion": "v1", "kind": "Service" },
{
"apiVersion": "apps/v1",
"kind": "Deployment"
}
]Aprofundar
As armadilhas por trás da maioria dos bugs de YAML, em três guias focados.
É seguro para dados privados?
Sim, e não precisa de confiar na nossa palavra. Esta é uma página estática: não há nenhum endpoint de conversão no servidor, por isso não há para onde enviar o seu YAML. O parser é JavaScript que corre no seu separador.
Duas formas de verificar em menos de um minuto. Abra as ferramentas de programador do navegador, mude para o separador Rede e converta algo — não verá nenhum pedido a transportar os seus dados. Ou carregue a página, desligue-se da internet e continue a converter; tudo continua a funcionar, porque tudo o que é preciso já está local.
Isto importa mais do que parece. Vários conversores populares oferecem «carregar de URL» ou «guardar e partilhar», o que necessariamente faz passar o conteúdo pelos seus servidores, e pelo menos um torna os documentos partilhados públicos por defeito. Os ficheiros de configuração são exatamente o tipo de coisa que transporta nomes de host, caminhos internos e, de vez em quando, um segredo.
Perguntas frequentes
Este conversor de YAML para JSON é gratuito?
Sim, completamente. Não há registo, nem conta, nem limite de utilização, nem paywall. Todas as funcionalidades desta página estão disponíveis para toda a gente, sempre.
Os meus dados são enviados para um servidor?
Não. A conversão corre no seu navegador com JavaScript. O seu YAML nunca é transmitido para lado nenhum — não há endpoint de conversão no servidor, nem registos, nem análise do conteúdo que cola. Pode confirmar abrindo o separador Rede enquanto converte, ou desligando-se da internet: a página continua a funcionar.
Preciso de instalar algo para converter YAML em JSON?
Não. Este é um conversor de YAML para JSON online: corre no separador que já tem aberto, sem download, sem ferramenta de linha de comandos e sem extensão. Todos os conversores online têm de decidir onde a conversão acontece — a maioria envia o seu documento para o servidor deles; este mantém-no na sua máquina. Se preferir um script, o guia «Converter YAML em JSON em código» cobre a linha de comandos, Python, Node.js e Go.
Há um limite de tamanho de ficheiro?
Não há nenhum teto artificial. A conversão acontece na sua própria máquina, por isso o limite prático é a memória do dispositivo. Ficheiros de alguns megabytes convertem sem problemas; documentos muito grandes podem pausar brevemente a página durante o parsing.
Posso converter JSON de volta para YAML?
Sim. Use o botão de troca entre os dois painéis para inverter a direção sem sair da página, ou vá ao conversor dedicado de JSON para YAML. A troca leva a saída atual como nova entrada, por isso pode fazer a viagem de ida e volta com um documento.
O que acontece aos comentários do meu YAML?
São removidos, porque o JSON não tem sintaxe para comentários. O conversor diz-lhe quantos foram removidos em vez de os descartar em silêncio. Se precisar de os manter, use o formatador de YAML, que reformata o YAML no lugar e os preserva.
Como lida o conversor com YAML multi-documento?
Ficheiros que separam documentos com --- são totalmente suportados. Pode obtê-los como um array JSON com todos os documentos, ou como JSON Lines (NDJSON) com um objeto JSON compacto por linha, que é o formato esperado pelo kubectl e pela maioria dos pipelines de logs. Manifestos do Kubernetes e saída do Helm são tipicamente multi-documento.
Anchors, aliases e merge keys são suportados?
Sim. Os anchors (&nome) e os aliases (*nome) são expandidos nos seus valores completos, já que o JSON não consegue exprimir uma referência. As merge keys (<<) são resolvidas por defeito, que é aquilo de que os ficheiros do Docker Compose, GitLab CI e Ansible dependem. Pode desativar a resolução se preferir ver a chave << em bruto.
Qual é a diferença entre YAML 1.1 e YAML 1.2?
O YAML 1.2 trata valores sem aspas como no, yes, on e off como strings simples. O YAML 1.1 trata-os como booleanos — por isso country: no torna-se false. O YAML 1.1 também lê 022 como o octal 18 e 12:30 como o número 750 em base 60. Este conversor usa YAML 1.2 por defeito e avisa-o sempre que um valor do seu documento seria lido de forma diferente em 1.1.
Porque é que o meu YAML falha com um erro de indentação?
As duas causas mais comuns são um carácter de tabulação usado para indentar, que o YAML proíbe por completo, e um valor sem aspas que contém dois pontos, como title: foo: bar. Parênteses e aspas por fechar também surgem como erros de indentação na maioria dos parsers; este conversor deteta-os especificamente e aponta para o delimitador que nunca foi fechado.
O conversor valida o meu YAML?
Sim. Se o documento não puder ser analisado, recebe uma descrição clara do problema, a linha e coluna exatas, uma correção sugerida e um marcador na linha em causa no editor. A página dedicada Validador de YAML é o mesmo motor com o painel de saída focado no diagnóstico.
A página funciona offline?
Depois de carregada, sim. Tudo o que é preciso para converter já está no seu navegador, por isso a ferramenta continua a funcionar se perder a ligação.
Converter YAML em JSON
Como converto YAML em JSON?
Cole o seu YAML no painel da esquerda do conversor no topo desta página — converte YAML em JSON online, no seu navegador, enquanto escreve, por isso não há botão para carregar e nada é enviado. Defina a indentação para 2 espaços, 4 espaços, tabulações ou minificado, ordene as chaves se quiser, depois copie o JSON ou descarregue-o como ficheiro .json. Se o documento não for analisado, recebe a linha e coluna exatas, uma explicação clara e uma correção sugerida em vez de um painel vazio. Para uma conversão que precise de repetir, yq -o=json input.yaml faz o mesmo trabalho num terminal.
Como converto um ficheiro YAML num ficheiro JSON?
Carregue em Enviar para escolher um ficheiro .yaml ou .yml, ou arraste-o para qualquer ponto desta página, e depois carregue em Baixar para guardar o resultado como ficheiro .json. O ficheiro é lido pelo seu navegador e nunca é enviado para lado nenhum, o que importa em configurações com nomes de host, registries ou credenciais. Numa shell, use yq -o=json input.yaml > output.json, ou converta um diretório inteiro com: for f in *.yaml; do yq -o=json "$f" > "${f%.yaml}.json"; done
O YAML pode ser convertido em JSON?
Sim, em quase todos os casos. O YAML 1.2 é definido como um superconjunto de JSON, e qualquer documento YAML construído com mapas, sequências, strings, números, booleanos e nulos comuns tem um equivalente JSON exato. Quatro coisas não sobrevivem à viagem: os comentários, porque o JSON não tem sintaxe para eles; anchors e aliases, que são expandidos nos seus valores completos porque o JSON não consegue exprimir referências; chaves de mapa que não são strings, como datas ou estruturas aninhadas, que o JSON não permite; e tags personalizadas como !Ref ou !GetAtt, que não têm significado fora da sua ferramenta. Este conversor reporta cada um destes casos em vez de os descartar em silêncio.
O YAML é JSON válido?
É ao contrário: o JSON é YAML válido, mas o YAML em geral não é JSON válido. A especificação YAML 1.2 define a linguagem como um superconjunto de JSON, por isso qualquer documento JSON pode ser passado sem alterações a um parser YAML 1.2 — pode colar JSON no painel YAML acima e será analisado. Um documento YAML só é JSON válido por acaso, se estiver escrito no estilo de fluxo do JSON com todas as chaves e strings entre aspas e sem comentários; o YAML comum baseado em indentação é rejeitado por qualquer parser JSON. A garantia aplica-se ao YAML 1.2 — o YAML 1.1, que o PyYAML e ferramentas mais antigas implementam, não é um superconjunto estrito de JSON.
YAML versus JSON
Qual é a diferença entre YAML e JSON?
O JSON é um formato de intercâmbio estrito para máquinas; o YAML é um formato de configuração para pessoas que consegue exprimir os mesmos dados. Em concreto: o YAML tira a estrutura da indentação enquanto o JSON usa chavetas e parênteses retos; o YAML suporta comentários com # e o JSON não tem nenhum; o YAML pode reutilizar blocos através de anchors, aliases e merge keys enquanto o JSON repete cada valor por inteiro; o YAML pode conter vários documentos num ficheiro separados por ---, onde o JSON contém exatamente um valor; e o YAML normalmente deixa as strings sem aspas, o que é conveniente até country: NO ser lido como false. Como o YAML 1.2 é um superconjunto de JSON, tudo o que o JSON exprime o YAML também exprime.
Quando devo usar YAML e quando devo usar JSON?
Use YAML quando uma pessoa escreve e mantém o ficheiro, e JSON quando uma máquina o escreve ou lê. O YAML compensa em configuração lida em revisão de código — manifestos do Kubernetes, Docker Compose, workflows do GitHub Actions, playbooks do Ansible, especificações OpenAPI — porque os comentários explicam os valores e os anchors reduzem a repetição. O JSON compensa em corpos de pedidos e respostas de API, linhas de log, fixtures de testes e tudo o que é gerado ou armazenado em volume: analisa-se mais depressa, todas as linguagens trazem um parser, não há espaços significativos para errar nem ambiguidade de versão para discutir. Quando ambos os argumentos se aplicam, a resposta habitual é escrever em YAML e converter para JSON em tempo de build, que é para isso que serve o conversor no topo desta página.
Como se comparam YAML e JSON em legibilidade e usabilidade?
O YAML é mais fácil de ler e mais difícil de acertar; o JSON é mais ruidoso e muito mais previsível. Em legibilidade o YAML ganha claramente em configuração aninhada: sem parênteses de fecho, sem aspas em cada chave, sem vírgulas para pôr no sítio errado, e com comentários para explicar os valores que não são óbvios — o mesmo manifesto do Kubernetes é cerca de 40% mais curto em YAML do que em JSON. Em usabilidade a balança inverte-se. A indentação é significativa, por isso uma tabulação perdida ou uma chave irmã desalinhada parte o documento; valores sem aspas podem mudar de tipo em silêncio (yes, no, on, off, 022, 12:30); chaves duplicadas e a divisão entre YAML 1.1 e 1.2 produzem ficheiros que passam no parsing e mesmo assim se comportam mal; e os erros dos parsers YAML são notoriamente vagos sobre onde está o problema real. O JSON não tem nenhum destes modos de falha, e é por isso que a posição prática é escrever YAML e validá-lo ou convertê-lo antes de o pôr em produção.