Formatador de YAML

Formate, valide e converta documentos YAML com realce de sintaxe e deteção de erros

Executa localmente

Entrada YAML

Saída Formatada

Inspetor

Cole YAML válido — a estrutura, a árvore e os caminhos das chaves aparecem aqui automaticamente

Opções Avançadas

Comparar com outro YAML

Envie este documento para o Data Diff e cole uma segunda versão para ver o que mudou.

Validação com a posição exata do erro

A validação é executada a cada tecla premida através do parser js-yaml 1.2. Os documentos válidos mostram em tempo real a contagem de documentos, mapeamentos, sequências, chaves e profundidade. Os documentos com erros indicam a linha e a coluna exatas, uma causa provável e um destaque na posição exata — e não apenas "syntax error".

Erros comuns de YAML que esta ferramenta identifica com precisão

Estes erros estão na origem da maioria dos YAML inválidos. Cada um é detetado com uma posição e uma causa provável:

Indentação incorreta

Uma linha filha com menos indentação do que a linha pai, ou linhas irmãs desalinhadas. Normalmente reportado como "bad indentation of a mapping entry" na linha exata.

Carácter TAB

O YAML proíbe tabulações na indentação. O parser reporta "found a tab character that violates indentation" e destaca a linha em causa.

Chave duplicada

A mesma chave duas vezes no mesmo mapeamento. O js-yaml reporta "duplicated mapping key" com a linha da segunda ocorrência.

Dois pontos ou espaço em falta

Uma chave sem valor ("key key2") ou dois pontos colados à chave ("key:value" é uma string simples, não um par). Reportado como "could not find expected ':'".

Antes / Depois

Manifesto Kubernetes minificado à esquerda, o mesmo documento formatado com indentação de 2 espaços à direita. A estrutura, a árvore e os caminhos são atualizados a partir do documento analisado.

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

Referência rápida de YAML (YAML 1.2)

  • A indentação é estrutura: apenas espaços — nunca são permitidos caracteres TAB para indentação.
  • Um sinal de dois pontos tem de ser seguido de um espaço para ser um separador de chave: "key: value", e não "key:value".
  • Os escalares são resolvidos em tipos pelo esquema core: true/false (booleanos), inteiros, floats, null (~ / null / vazio). Note que "yes"/"no" são strings simples na versão 1.2.
  • Vários documentos no mesmo ficheiro são separados por uma linha "---"; "..." termina um documento.
  • Âncoras (&base) e aliases (*base) mantêm os ficheiros DRY; as chaves de fusão ("<<: *base") herdam mapeamentos.

Próximos passos com estes dados

A formatação é o primeiro passo. Continue o fluxo de trabalho sem sair do navegador:

Perguntas frequentes

Respostas a perguntas comuns sobre formatação Yaml Formatter

O formatador segue a especificação YAML 1.2, garantindo compatibilidade com ferramentas modernas como o Kubernetes, o Docker Compose, o GitHub Actions e outras plataformas cloud-native.

Sim, a funcionalidade de conversão bidirecional permite-lhe converter YAML para JSON e JSON para YAML, preservando os tipos de dados, as estruturas aninhadas e os comentários onde aplicável.

Sem dúvida. O formatador foi concebido para processar manifestos do Kubernetes, ficheiros Docker Compose, pipelines de CI/CD e outros ficheiros YAML multi-documento, com a separação adequada das secções.

O validador verifica a consistência da indentação, a utilização correta de dois-pontos e travessões, o balanceamento das aspas em cadeias de caracteres, as referências de âncoras e aliases, e apresenta mensagens de erro com indicação da linha para uma depuração rápida.

Sim, o formatador processa corretamente as âncoras (&), os aliases (*) e as merge keys (<<) de YAML, preservando estas funcionalidades DRY ao formatar a estrutura envolvente.

YAML 1.2, a especificação atual do yaml.org - a versão a que se destinam os documentos de Kubernetes, docker-compose e GitHub Actions. O YAML 1.2 tornou o JSON num subconjunto válido e tornou a análise de booleanos mais rigorosa; o formatador mantém as aspas explícitas onde parsers 1.1 (ainda comuns no Python PyYAML) leriam mal valores como "no" ou "0777".

As âncoras, os aliases e os block scalars de YAML transportam os comentários inalterados, mas um comentário associado a uma chave que é reindentada desloca-se com o respetivo nível de indentação. O formatador nunca elimina comentários - recoloca-os de forma mínima, para permanecerem associados ao nó que documentam.

Assinala-o: os valores sem aspas NO, no, ON, on, yes e n são automaticamente colocados entre aspas durante a formatação, para que os parsers YAML 1.1 não os convertam em booleanos. A lista de códigos de países [NO, SE, DK] mantém-se como três cadeias de caracteres. O YAML 1.2 apenas trata true/false como booleanos, mas a colocação de aspas é a única saída segura em ambas as versões.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Ferramentas Relacionadas