Validar, formatar e visualizar YAML
Cole o YAML abaixo. A ferramenta diz se ele é válido, mostra onde está cada erro, exibe a estrutura em uma árvore que abre e fecha e devolve o texto reindentado, com os comentários no lugar.
A validação acontece enquanto você digita, no seu navegador: o YAML não é enviado a nenhum servidor.
Como usar
- Cole o texto, clique em Abrir arquivo (
.yamlou.yml) ou carregue o Exemplo. - Veja o resultado da validação logo abaixo. Em cada erro, Ir para a linha seleciona o trecho no campo de texto.
- Na aba Árvore, abra e feche os níveis; clique em um item para ver o caminho até ele, como
spec.template.spec.containers[0].image, e copiar o caminho ou o valor. - Na aba Formatado, escolha 2 ou 4 espaços, se quer as chaves em ordem alfabética e se os itens de lista ficam recuados. Copie, baixe ou use o resultado como nova entrada.
O texto fica no seu navegador: nada é enviado, o que permite conferir arquivos com segredos e endereços internos.
Por que YAML dá tanto erro de indentação
Em YAML, a estrutura é a indentação. Não há chaves nem colchetes para fechar: o que define que porta pertence a servidor é a quantidade de espaços no começo da linha.
servidor:
host: exemplo.com
porta: 8080Daí vêm os erros mais comuns, que a ferramenta identifica e explica:
Tab no lugar de espaços
A especificação proíbe o caractere de tabulação na indentação. O problema é que Tab e espaços são iguais na tela. A mensagem aponta a linha; a solução é trocar por espaços e configurar o editor para inserir espaços ao apertar Tab.
Itens do mesmo nível em colunas diferentes
servidor:
host: exemplo.com
porta: 8080porta não está alinhada com host nem com servidor, então o analisador não sabe a quem ela pertence. Não importa se você usa 2 ou 4 espaços, desde que irmãos comecem na mesma coluna.
Uma linha mais recuada do que deveria
Se a linha de baixo tem espaços a mais, o YAML a entende como continuação do valor anterior, e o erro aparece como “dois : no mesmo valor”. O mesmo erro surge quando um texto contém dois-pontos seguido de espaço: titulo: Aviso: leia precisa ser titulo: "Aviso: leia".
Chave duplicada
Duas chaves iguais no mesmo mapa são um erro pela especificação. Vários programas aceitam e ficam com a última, o que esconde enganos de copiar e colar. Aqui a duplicata é sempre apontada.
Aspas e escapes
Aspas que abrem e não fecham fazem o erro aparecer várias linhas abaixo. E, dentro de aspas duplas, a barra invertida inicia um escape: "C:\Users" é inválido. Entre aspas simples, nada é escapado.
Quando há vários erros, corrija o primeiro e valide de novo: os seguintes costumam ser consequência dele.
O que a formatação muda (e o que não muda)
A formatação reescreve o documento com indentação uniforme e espaços normalizados (chave: valor vira chave: valor). Ela mantém:
- comentários, tanto os de linha inteira quanto os do fim da linha;
- linhas em branco entre blocos;
- âncoras (
&nome), aliases (*nome) e tags; - o estilo de cada valor: o que estava entre aspas continua entre aspas, blocos
|e>continuam blocos, e listas escritas como[a, b]continuam em uma linha.
Com Ordenar chaves, cada comentário acompanha a chave que vem logo abaixo dele — inclusive um comentário colado na primeira linha do arquivo. Para mantê-lo no topo, deixe uma linha em branco depois dele. Um YAML com erro não é formatado: reindentar um texto que o analisador não entendeu poderia mudar o significado.
Vários documentos no mesmo arquivo
Uma linha com --- separa documentos. É assim que um único arquivo guarda, por exemplo, um Deployment e um Service do Kubernetes. A árvore mostra cada documento separadamente, e o texto formatado mantém os separadores. Âncoras não atravessam documentos: um *alias só enxerga âncoras definidas antes dele no mesmo documento.
YAML 1.2 e as palavras yes, no, on, off
A ferramenta segue o YAML 1.2, em que só true e false são booleanos. Na versão 1.1, yes, no, on e off também eram, e várias bibliotecas ainda se comportam assim. Quando o seu arquivo tem uma dessas palavras sem aspas, aparece um aviso com a linha: o valor é texto aqui, mas pode ser lido como booleano por outro programa. O exemplo clássico é a sigla NO, da Noruega, virar false. Na dúvida, use aspas para texto e true/false para booleanos.
Na árvore, cada valor aparece com o tipo que foi realmente interpretado — texto entre aspas, números, booleanos e null em cores diferentes —, o que ajuda a notar um "8080" que deveria ser número ou uma versão 1.10 lida como o número 1.1.
Limites
O campo aceita até 2 milhões de caracteres. Em documentos muito grandes, Expandir tudo abre apenas os primeiros níveis, e mapas e listas longos são mostrados de 100 em 100 itens, para a página não travar. Na árvore, aliases aparecem expandidos; referências circulares não podem ser desenhadas, mas o texto é formatado normalmente. A ferramenta verifica a sintaxe do YAML, não as regras de quem vai ler o arquivo: ela não sabe se um campo é obrigatório no Kubernetes ou no GitHub Actions.
Perguntas frequentes
YAML deve usar 2 ou 4 espaços? Qualquer quantidade funciona, desde que seja consistente dentro de cada bloco. Dois espaços é a convenção mais comum em Kubernetes, Docker Compose e pipelines de CI.
A formatação apaga meus comentários? Não. Comentários, linhas em branco e âncoras são preservados.
Posso validar docker-compose.yml e manifestos do Kubernetes? Sim, quanto à sintaxe. A validação dos campos específicos de cada ferramenta precisa ser feita por ela (docker compose config, kubectl apply --dry-run).
Por que a árvore mostra “1.1” se eu escrevi 1.10? Porque, sem aspas, 1.10 é um número decimal, e o zero final não significa nada. Versões devem ficar entre aspas: "1.10".
Qual a diferença entre | e >? Os dois iniciam um texto de várias linhas. Com |, as quebras de linha são mantidas; com >, linhas seguidas são unidas por um espaço.