Skip to content

YAMLJSON

YAML para JSON

Converta YAML em JSON online — instantaneamente, no seu navegador.

YAML

Cole seu YAML aqui ou solte um arquivo na pagina

JSON

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

AspetoYAMLJSON
ComentáriosSim, com #Não
Estrutura a partir deIndentaçãoChavetas e parênteses retos
ReutilizaçãoAnchors, aliases, merge keysNenhuma — os valores repetem-se
Aspas nas stringsNormalmente opcionaisSempre obrigatórias
Uso típicoConfiguração escrita por pessoasDados 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: 512Mi

JSON

{
  "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: redis

JSON

{
  "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: Deployment

JSON

[
  { "apiVersion": "v1", "kind": "Service" },
  {
    "apiVersion": "apps/v1",
    "kind": "Deployment"
  }
]

É 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.