Formatador / validador de YAML
Formata, valida e opcionalmente ordena as chaves de qualquer YAML, com recuo de 2 ou 4 espaços. Erros de sintaxe apontam a linha que falhou. Roda no seu navegador.
Formatador / Validador YAML
—Roda totalmente no seu navegador. Seus dados nunca saem do seu dispositivo.
What next?
How it works
YAML em 30 segundos
YAML ("YAML Ain't Markup Language") é um formato de configuração legível, sensível à indentação. Dominou DevOps porque é mais conciso que JSON e permite comentários. Você encontra YAML em Kubernetes manifests, GitHub Actions workflows, Docker Compose, Ansible playbooks, Hugo frontmatter, e mais.
Indentação importa MUITO
YAML usa espaços (nunca tabs) para indentação. Inconsistência quebra o parsing:
servers:
- name: web
port: 80
- name: api
port: 8080 # ← 3 espaços em vez de 4 — ERRO
O formatter normaliza para 2 espaços (padrão da comunidade) ou o que você escolher. Tabs são rejeitados pela spec.
O Norway problem (de novo)
YAML 1.1 trata NO, YES, ON, OFF, TRUE, FALSE (qualquer caixa) como booleans. Strings ambíguas precisam de aspas:
country: NO # ← false
country: "NO" # ← string "NO"
YAML 1.2 restringiu para apenas true/false, mas js-yaml (e muitos outros) usam 1.1 por padrão. Esta ferramenta usa modo "json" da js-yaml (1.2-like) por padrão.
Octal silencioso
01234 em YAML é octal (= decimal 668), não a string "01234". Para preservar zeros à esquerda (CEPs, telefones), coloque em aspas:
cep: "01234-567" # ← string
cep: 01234-567 # ← erro de parsing
Anchors & references
YAML permite reutilizar valores sem repetir:
defaults: &defaults
timeout: 30
retries: 3
prod:
<<: *defaults
host: prod.example.com
staging:
<<: *defaults
host: staging.example.com
O &defaults define um anchor; *defaults referencia; <<: merge keys. Útil para configs grandes com muito boilerplate, mas confuso para iniciantes. O formatter preserva anchors se você ativar essa opção.
Multi-line scalars
description: |
Linha 1
Linha 2 (newlines preservados)
summary: >
Linha 1
Linha 2 (newlines viram espaços)
| (literal) preserva quebras de linha. > (folded) dobra newlines em espaços. Útil para strings longas, snippets de código em config, ou comandos shell.
Segurança: tags YAML
YAML tem tags como !!python/object que podem instanciar classes durante o parsing. Em alguns parsers (PyYAML antigo), isso permite RCE em YAML "confiável". js-yaml por padrão é seguro (safe mode), mas em outras linguagens, sempre use safe_load.
Casos de uso
- Validar manifests do K8s antes de
kubectl apply - Reformatar workflows do GitHub Actions
- Normalizar YAML gerado por ferramentas para diff limpo
- Detectar erros de indentação silenciosos
- Sort keys para reduzir noise em diffs git
Tudo local
js-yaml no browser. Zero servidor.
FAQ
Por que NO virou false no YAML?
YAML 1.1 trata NO, YES, ON, OFF como booleans. Coloque em aspas: "NO". Ou use parser YAML 1.2 strict. Esta é a base do "Norway problem".
Como preservar comentários?
Comentários YAML (# ...) não são preservados na maioria dos parsers (incluindo js-yaml). Se você dá format em um YAML comentado, os comentários somem. Para preservá-los, edite manualmente ou use yq -P em terminal.
Tabs funcionam?
Não. YAML proíbe tabs para indentação (apenas espaços). Se você tem tabs, converta para 2 ou 4 espaços antes de formatar.
Anchors são suportados?
Sim. &anchor e *reference funcionam normalmente. O formatter pode expandir (resolve) ou preservar — verifique a opção.
É seguro processar YAML não-confiável?
js-yaml por padrão usa safe mode, sem instanciação de classes via tags. Em PyYAML antigo (antes de 5.1), yaml.load() era inseguro — use yaml.safe_load(). Em geral, nunca confie em YAML de fontes externas sem validação.
Tudo client-side?
Sim. js-yaml roda no navegador. Network tab vazio. Funciona offline.
More formatters tools
- Formatador e validador de JSON — Formata, minifica, ordena e valida JSON.
- Formatador de SQL — Formata SQL em 10 dialetos (Postgres, MySQL, SQLite, BigQuery, Snowflake, T-SQL, PL/SQL, …).
- Formatador / validador de XML — Formata, minifica e valida XML.
- Formatador HTML — Formate ou minifique HTML com indentação, quebra de atributos e self-closing configuráveis.
- Formatador CSS — Formate ou minifique CSS com indentação, separador de seletores e estilo de chaves.
- Formatador e Minificador JavaScript — Formate ou minifique JavaScript com AST real.