Formatador e validador YAML

Cole YAML, formate com indentação de 2 espaços ou valide a sintaxe. Modo estrito YAML 1.2. Sem upload.

  1. Cole seu YAML na área de texto à esquerda.
  2. Clique em Formatar para fazer round-trip pelo parser e emitir YAML canônico.
  3. Clique em Validar para verificar a sintaxe sem modificar a entrada.
  4. Erros apontam a linha e coluna ofensora.
O que ele faz?

Parseia seu YAML com js-yaml em modo estrito YAML 1.2 e re-emite com indentação de 2 espaços, largura de linha de 100 colunas e aspas consistentes. O botão Validar verifica a sintaxe e reporta o primeiro erro sem alterar a entrada. A saída é semanticamente equivalente à entrada — valores, tipos e estrutura são preservados.

Exemplo

Entrada YAML bagunçada:

name:    Ada
tags: [math,logic]
active:true

Saída formatada:

name: Ada
tags:
  - math
  - logic
active: true

Erros comuns de YAML e como corrigi-los

YAML 1.2 em modo estrito é implacável quanto a espaços. Os padrões abaixo cobrem a maioria das falhas do parser.

  • Tabs em vez de espaços. YAML 1.2 proíbe tabs para indentação. Substitua cada tab por espaços.
  • Níveis de indentação inconsistentes. Um filho indentado com 2 espaços sob um irmão de 4 espaços vai falhar. Escolha uma largura e use consistentemente.
  • Armadilhas booleanas. Em YAML 1.1 (não este modo), `yes`, `no`, `on`, `off` parseavam como booleanos. js-yaml usa 1.2, mas entradas reais que dependem do comportamento antigo surpreendem usuários. Coloque entre aspas valores ambíguos: `country: "NO"`.
  • Caracteres especiais sem aspas. Valores começando com `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` precisam de aspas.
  • Aspa não terminada. Uma aspa de fechamento ausente faz o parser absorver o resto do arquivo como parte da string. A linha reportada pode estar longe do erro real.
  • Anchor / alias incompatível. Um alias `*name` referenciando um anchor não declarado `&name` levanta erro. Verifique se cada alias tem um anchor correspondente declarado antes.
Perguntas frequentes

Formatar muda meus dados?

Não — apenas espaços, aspas e ordem de detalhes representacionais. O grafo de valores parseados é idêntico. YAML formatado re-parseia para a mesma estrutura em memória do original.

Comentários são preservados ao formatar?

Não. js-yaml não retém comentários através de um round-trip parse-and-dump. Se precisa de formatação YAML preservando comentários, use uma biblioteca diferente (yaml.js com opções, ou ferramenta CLI como `prettier --parser yaml`).

Posso personalizar a indentação?

O build atual usa indentação de 2 espaços. Para personalizar, rode js-yaml na linha de comando — mesma biblioteca — e passe `{ indent: 4 }` ou o que precisar.

Qual o tamanho máximo de YAML?

Até cerca de 10 MB antes do textarea ficar lento. A maioria dos arquivos de config está bem abaixo de 1 MB.

Meu YAML é enviado para algum lugar?

Não. Tudo roda no seu navegador — sua entrada é parseada e re-serializada por JavaScript nesta página e nunca enviada a servidor.

Isto faz lint de problemas de estilo como chaves duplicadas?

js-yaml em config padrão rejeita chaves duplicadas (requisito estrito YAML 1.2). Outros problemas de estilo como aspas inconsistentes ou nomeação de anchors não são sinalizados — isso precisa de um linter dedicado como yamllint.