Formatador de YAML

A formatação é feita neste navegador. Seu YAML não é enviado para nenhum servidor.

Cole YAML com até 1.000.000 de caracteres e até 100 documentos. A formatação acontece neste navegador.

YAML é tolerante com a sintaxe e implacável com a indentação. Um único espaço fora do lugar pode transformar silenciosamente uma chave em item de lista, e indentação misturada torna as revisões dolorosas. Este formatador analisa sua entrada com o motor js-yaml (esquema core do YAML 1.2) direto no seu navegador e depois a reemite com a indentação, o estilo de coleções, as aspas, a ordem de chaves e a largura de linha que você escolher, para que as configurações gerem diffs limpos no controle de versão e continuem legíveis para todos os colaboradores.

Como formatar YAML

  1. 1

    Cole o YAML

    Até 1.000.000 de caracteres e até 100 documentos em um único stream. Nada é enviado: a análise roda no seu navegador.

  2. 2

    Escolha as opções

    Largura da indentação, estilo em bloco ou fluxo, aspas, ordenação de chaves e largura da linha.

  3. 3

    Formate

    A ferramenta reconstrói cada documento com espaçamento canônico e o estilo escolhido.

  4. 4

    Copie e faça o commit

    A saída é YAML estruturalmente idêntico, pronto para colar de volta na sua configuração.

Antes e depois

Entrada bagunçada:

server:
  port:   8080
  hosts: ["api.example.com",  "api2.example.com"]
  timeout:  30
  debug: true

Formatado (2 espaços, estilo em bloco):

server:
  port: 8080
  hosts:
    - api.example.com
    - api2.example.com
  timeout: 30
  debug: true

Opções de formatação

Opção Valores Padrão
Largura da indentação 2, 4 2
Estilo de coleções Bloco, fluxo Bloco
Aspas Mínimas, duplas, simples Mínimas
Ordenação de chaves Original, alfabética Original
Largura da linha 80, 120, sem limite 120

Regras de aspas

Aspas mínimas costumam ser o que você quer: as strings ficam sem aspas, a menos que deixá-las sem proteção seja arriscado. O formatador adiciona aspas automaticamente para:

  • Booleanos legados como strings: yes, no, on, off, y, n. O YAML 1.2 já os lê como strings, mas muitos parsers ainda seguem o YAML 1.1, em que um no sem aspas vira false. O formatador sempre os coloca entre aspas na saída, então o famoso bug da Noruega (NO lido como false numa lista de países) não pega quem consome o seu arquivo.
  • Números como strings: '007', '3.14'. Sem aspas, seriam interpretados como inteiros ou decimais.
  • Strings com caracteres como :, #, [, { ou espaço no início, em que a saída sem aspas mudaria a estrutura.

Limpezas aplicadas em toda execução

  • Espaços no fim da linha. Removidos.
  • Indentação misturada ou irregular. Normalizada para a largura de indentação escolhida.
  • Linhas em branco dentro de coleções. Removidas.
  • Tabs na indentação. O YAML os proíbe; o parser rejeita a entrada com um erro claro apontando a linha, para você corrigir em vez de entregar um arquivo que outros parsers vão recusar.

Comentários, âncoras e chaves de mesclagem

A formatação normaliza o modelo do documento, o que tem limites que vale conhecer antes do commit:

  • Comentários são removidos. O parser resolve o documento em dados, então comentários # não sobrevivem à formatação. Guarde uma cópia se os seus comentários importam.
  • Âncoras e aliases são resolvidos. Nós compartilhados por alias continuam compartilhados, mas são reemitidos com nomes gerados como &ref_0; os nomes originais das âncoras não são mantidos.
  • Chaves de mesclagem (<<:) são resolvidas em mapeamentos comuns, com os valores mesclados no lugar.

Streams com vários documentos

Streams com vários documentos são aceitos: cada documento é formatado de forma independente e reunido de novo com o separador ---, até 100 documentos por execução.

Perguntas frequentes

Estrutura e valores permanecem idênticos: só muda a apresentação (indentação, aspas, fluxo ou bloco, ordem das chaves se você ativar a ordenação). Duas coisas não são preservadas, por decisão de projeto: comentários são removidos e os nomes das âncoras são regenerados.

Quando uma string sem aspas seria interpretada como outra coisa, as aspas são necessárias por segurança. Casos comuns: chaves ou valores só com dígitos, strings contendo : ou #, e booleanos legados como yes e no, que parsers YAML 1.1 leriam como true/false.

Não. A opção de estilo vale para o documento inteiro: o bloco expande cada coleção em linhas próprias, o fluxo escreve as coleções na mesma linha. Formate duas vezes com opções diferentes se precisar comparar.

Não. A análise e a formatação rodam no seu navegador com o motor js-yaml embutido. Seu YAML não passa pelo servidor, não é armazenado e nunca entra no endereço da página; ele só vive nesta sessão do navegador para que a visualização em etapas mostre o resultado.

Ferramentas relacionadas