Pular para o conteúdo
Case Converter Online
pt

Formatador e validador YAML

Cole o YAML para corrigir o recuo e o espaçamento, ou confira se há erros antes de fazer o deploy. Os comentários são mantidos, e os problemas aparecem com a linha e a coluna.

Cole seu YAML ou clique em Exemplo. Pressione Ctrl e Enter para formatar. Tudo roda no seu navegador.

O que o formatador YAML faz

O YAML é o formato por trás dos arquivos do Docker Compose, dos manifestos do Kubernetes, dos workflows do GitHub Actions, dos playbooks do Ansible e de muitas configurações de aplicativos. A estrutura dele vem do recuo, então um único espaço fora do lugar pode mudar o significado de um arquivo ou travar um deploy. Esta ferramenta reescreve o seu YAML com recuo e espaçamento consistentes e o confere com um parser rigoroso, para que os problemas apareçam aqui, e não no seu pipeline.

São duas ações:

  • Formatar padroniza o recuo, os espaços depois dos dois-pontos e dos hifens e o espaçamento dentro de [ ] e { }.
  • Validar analisa o arquivo e aponta o primeiro erro, ou mostra um resumo curto quando ele é válido.

Como usar

  1. Cole o YAML na caixa da esquerda. Ele é formatado assim que você cola. Você também pode usar Abrir arquivo para arquivos .yaml e .yml, ou Exemplo para ver um exemplo.
  2. Escolha um Recuo de 2 ou 4 espaços e uma Largura da linha.
  3. Ligue Aspas simples se o seu projeto prefere 'texto' a "texto".
  4. Clique em Formatar ou Validar. Ctrl+Enter repete a última ação.
  5. Clique em Copiar, ou em Baixar para salvar um arquivo .yaml.

Antes e depois

Um arquivo do Docker Compose com espaçamento irregular e recuo de 4 espaços:

version:   "3.8"
services:
    web:
        image:   "nginx:latest"
        ports:
            - "80:80"
        environment:
            - DEBUG=false
    db:
        image: postgres:16

Depois de Formatar com 2 espaços:

version: "3.8"
services:
  web:
    image: "nginx:latest"
    ports:
      - "80:80"
    environment:
      - DEBUG=false
  db:
    image: postgres:16

As coleções em linha ganham espaçamento uniforme. tags: [ api, v2 ] e limits: {cpu: 1, memory: 512} viram:

tags: [api, v2]
limits: { cpu: 1, memory: 512 }

Os comentários sobrevivem. Os espaços extras antes de um comentário no fim da linha são arrumados, mas o comentário continua na linha dele:

# Database settings
db:
  host: localhost # local only
  port: 5432

Com Aspas simples ligado, name: "web" vira name: 'web'. Uma string que tem apóstrofo, como "it's here", mantém as aspas duplas para não precisar de escape.

Erros que o validador encontra

Os parsers de YAML das diferentes ferramentas não são igualmente rigorosos. Este aponta problemas que algumas ferramentas deixam passar. Mensagens reais da ferramenta (o texto do erro vem do parser de YAML e fica em inglês):

Problema Mensagem
A mesma chave duas vezes Linha 3, coluna 1: Map keys must be unique
Uma tabulação usada no recuo Linha 2, coluna 1: Tabs are not allowed as indentation
Uma linha com um espaço a mais de recuo Linha 2, coluna 9: Nested mappings are not allowed in compact mappings

A verificação de chaves duplicadas é a que mais importa. Em um arquivo como name: web, port: 80, name: api, muitos carregadores mantêm só o último name sem nenhum aviso. Clique em Mostrar na entrada para ir até a linha.

Para um arquivo válido com dois documentos separados por ---, Validar informa: YAML válido. 2 documentos..

Dicas e limites

  • O formatador não reordena chaves nem muda valores. yes, on e 010 ficam como você escreveu.
  • Strings longas não são quebradas de novo. Os blocos dobrados (>) e literais (|) mantêm o conteúdo.
  • Âncoras e aliases (&name, *name) ficam como foram escritos.
  • Textos em português com acentos podem ficar sem aspas no YAML, desde que o arquivo esteja salvo em UTF-8.
  • O YAML não tem uma forma minificada de uso comum, então não há botão de Minificar. Se você precisa de dados compactos, converta com a ferramenta de converter JSON para YAML no sentido de YAML para JSON.

Outras formas de formatar YAML

VS Code. A extensão YAML da Red Hat acrescenta formatação e verificação por schema para arquivos como os manifestos do Kubernetes. Use Formatar Documento depois de instalar.

yq. A versão em Go do yq (de Mike Farah) lê e reescreve YAML. yq '.' file.yaml mostra o arquivo de volta no seu próprio estilo consistente, e a mesma ferramenta consulta e edita valores.

Prettier. Se o seu projeto já usa o Prettier, ele formata arquivos .yaml e .yml com as mesmas regras desta página.

yamllint. Uma ferramenta em Python que confere estilo e sintaxe sem reescrever o arquivo, útil na integração contínua.

Ferramentas relacionadas

Para transformar JSON em YAML ou o contrário, use a ferramenta de converter JSON para YAML. Para arquivos JSON, use o formatador JSON. Para configurações em XML, como as do Maven ou do Android, use o formatador XML.

Formatador YAML: perguntas e respostas

Por que não posso usar tabulações no recuo do YAML?

A especificação do YAML não permite tabulações no recuo, só espaços. É por isso que o menu Recuo oferece 2 ou 4 espaços e não tem a opção de tabulações, e é por isso que o validador aponta as tabulações como erro.

Meus comentários são mantidos?

São. Os comentários ficam onde estão. O formatador só muda o espaçamento, o recuo e a disposição das linhas. As chaves e os valores mantêm a ordem.

O formatador encontra chaves duplicadas?

Encontra. Se a mesma chave aparecer duas vezes em um mapeamento, você recebe um erro como Map keys must be unique, com a linha da segunda chave. Muitas ferramentas de YAML mantêm só o último valor sem avisar, o que pode esconder um erro.

Ele lida com arquivos com vários documentos?

Lida. Os documentos separados por --- são formatados juntos, e Validar informa quantos documentos encontrou.

É seguro para secrets do Kubernetes ou arquivos de CI?

O YAML é processado no seu navegador e não é enviado. Mesmo assim, evite colar secrets ativos em qualquer página web se a política da sua empresa proibir.

Mais ferramentas de código e dados

Ver todas as ferramentas