Ferramentas

Formatador e Validador YAML Online Grátis

Formate, valide e embeleze YAML no seu navegador e converta entre YAML e JSON. Funciona com configurações do Docker Compose, Kubernetes e GitHub Actions. Nada é jamais enviado a um servidor.

Toda a análise e conversão acontecem localmente no seu navegador. Seu YAML e JSON nunca são enviados, armazenados ou registrados.

O que é YAML?

YAML (YAML Ain't Markup Language) é um formato de serialização de dados legível por humanos, projetado para ser fácil de escrever e ler. Sua sintaxe limpa, baseada em indentação, substituiu o XML em muitos arquivos de configuração modernos, impulsionando ferramentas como Docker Compose, Kubernetes, GitHub Actions, Ansible e Helm. O YAML também é um superconjunto do JSON, então todo documento JSON válido também é YAML válido, o que torna a conversão entre os dois formatos simples e sem perdas para a maioria dos dados de configuração do dia a dia.

Guia de sintaxe YAML

key: value Escalares — um simples par chave/valor. Strings multilinha usam | (literal, mantém as quebras de linha) ou > (dobrado, junta as linhas).
- item Listas — cada item em sua própria linha, precedido por um hífen e um espaço.
parent: child: x Dicionários aninhados — expressam a hierarquia apenas por meio da indentação.
# comment Comentários — tudo que vem depois de um # é ignorado pelo analisador.
null / true / false Valores especiais — null, true e false são reconhecidos como valores tipados, não como strings.
&anchor / *alias Âncoras e aliases — defina um nó uma vez com &anchor e reutilize-o com *alias.
Importante: o YAML não permite tabulações para indentação, apenas espaços. Uma única tabulação torna todo o documento inválido.

YAML vs JSON: quando usar cada um

YAML

Use YAML para arquivos de configuração escritos e editados à mão. Ele suporta comentários, é mais legível e é o padrão do Docker Compose, Kubernetes, GitHub Actions, Ansible e Helm.

JSON

Use JSON para APIs e dados em trânsito. Ele é analisado mais rápido, não tem ambiguidade de tipos e é o formato por trás das APIs REST, do package.json e do tsconfig.json.

Erros YAML comuns e como corrigi-los

  1. Usar tabulações em vez de espaços para a indentação — substitua cada tabulação por espaços, já que o YAML proíbe tabulações.
  2. Indentação inconsistente — mantenha o mesmo número de espaços em cada nível de aninhamento em todo o documento.
  3. Uma string contendo dois-pontos sem aspas — coloque valores como "12:30" ou "http://example.com" entre aspas.
  4. Booleanos ambíguos — valores como yes, no, on e off são interpretados como true/false; coloque-os entre aspas se você quer as palavras literais.
  5. Caracteres especiais em um valor sem aspas — caracteres como @, # e { exigem que o valor esteja entre aspas.

Perguntas Frequentes

Não. O YAML proíbe rigorosamente caracteres de tabulação para indentação: você deve usar espaços. Esta é uma das causas mais comuns dos erros de "YAML inválido". Se o seu editor insere tabulações, configure-o para convertê-las em espaços (geralmente 2 por nível). O formatador desta página sempre gera espaços, então passar o seu arquivo por ele corrige tabulações acidentais automaticamente.

Ambos introduzem strings multilinha, mas lidam com quebras de linha de formas diferentes. O escalar de bloco literal | preserva as quebras de linha exatamente como foram escritas, então cada linha permanece na sua própria linha — ideal para scripts ou texto formatado. O escalar de bloco dobrado > junta as linhas com espaços, reduzindo o bloco a uma única linha e tratando linhas em branco como quebras de parágrafo — útil para textos longos que você quer quebrar na origem, mas armazenar em uma linha.

Sim. A partir do YAML 1.2, todo documento JSON válido também é um documento YAML válido, porque a sintaxe flow do YAML usa as mesmas chaves, colchetes e regras de aspas do JSON. Isso significa que você pode colar JSON diretamente em um analisador YAML e ele funcionará, e torna a conversão entre os dois formatos confiável — exatamente o que fazem as abas YAML para JSON e JSON para YAML desta página.

Os analisadores YAML interpretam uma série de palavras — yes, no, on, off, true, false — como valores booleanos. Por isso o escalar sem aspas yes é lido como o booleano true e serializado assim em JSON. Se você precisa da string literal "yes" (por exemplo um código de país ou um campo de resposta), coloque-a entre aspas: answer: "yes". As aspas forçam o analisador a mantê-la como texto em vez de convertê-la em booleano.