Comparador de Diff YAML
Compare dois documentos YAML e veja exatamente o que mudou — chaves adicionadas, removidas e modificadas com o caminho de cada uma, além de um unified diff linha a linha do YAML normalizado. A comparação estrutural ignora indentação, aspas e formatação flow-versus-block, e lida com streams de múltiplos documentos. Executa inteiramente no seu navegador.
Entrada
Opções
Use "ignorando a ordem" quando a lista é na verdade um conjunto sem ordem e reordená-la não deve contar como mudança.
Trate 1 e "1", ou true e "true", como iguais — útil quando um arquivo usa aspas nos valores e o outro não.
Saída
| Métrica | Valor |
|---|---|
| No data yet | |
Cada diferença identificada pelo seu caminho — + adicionado, - removido, ~ modificado.
Ambos os documentos são re-serializados com indentação de 2 espaços primeiro, para que diferenças de formatação não gerem ruído.
Enter both documents to see the differences.
Guias
Cole duas versões de um arquivo YAML — um manifesto do Kubernetes antes e depois de uma mudança, duas configurações de pipeline de CI, ou um docker-compose.yml entre ambientes — e veja exatamente o que é diferente. Este comparador de diff YAML online e gratuito lê os dois documentos como YAML interpretado (parsed), não como texto puro, então reindentar um bloco, colocar um valor entre aspas ou mudar do estilo block para flow nunca aparece como mudança. Você recebe um relatório estrutural indexado pelo caminho de cada diferença, além de um unified diff normalizado que pode ser copiado para um arquivo de patch. Tudo roda no seu navegador, sem upload e sem cadastro.
Como usar
- Cole o arquivo original em YAML A e o modificado em YAML B.
- Escolha como os itens da lista são comparados — por posição (o padrão, certo para listas ordenadas como argumentos de container) ou ignorando a ordem (certo para uma lista que na verdade é um conjunto, como tags ou hosts permitidos).
- Ative Ignorar diferenças de tipo se um arquivo usa aspas nos valores e o outro não, para que
8080e"8080"sejam comparados como iguais. - Leia o Resumo para ver as contagens, o Diff estrutural para a lista caminho por caminho do que mudou, e o Unified diff para a visão linha a linha.
A saída é atualizada automaticamente enquanto você digita.
Como o diff estrutural decide o que mudou?
Os dois arquivos são interpretados e os valores resultantes são percorridos juntos. Em cada mapeamento, a ferramenta reporta chaves presentes em apenas um lado (adicionadas ou removidas) e recursa nas chaves presentes nos dois; em cada sequência, compara item por item; em cada escalar, compara o valor. Cada entrada é prefixada com + (adicionado), - (removido) ou ~ (modificado) e um caminho com pontos como spec.template.spec.containers[0].image, para que você vá direto à linha que importa em um manifesto de 400 linhas.
Por que um diff "estrutural" é melhor que um diff de texto puro?
Porque a maioria das diferenças de texto em YAML não são diferenças reais. ports: [80, 443] e uma sequência em bloco de duas linhas são os mesmos dados; o mesmo vale para name: app e "name": app; e para o mesmo arquivo reindentado de 4 espaços para 2. Um diff de linhas reporta todos esses casos. Esta ferramenta não reporta nenhum deles — apenas mudanças que realmente chegariam a quem consome o arquivo.
Então por que também existe um unified diff?
Porque a visão linha a linha é o que você cola em um patch ou em um code review. Para mantê-la útil, os dois arquivos primeiro são re-serializados a partir da forma interpretada com indentação fixa de 2 espaços, e esse texto normalizado que passa pelo diff — assim o patch mostra edições reais em vez de ruído de formatação.
Ele lida com arquivos de múltiplos documentos?
Sim. Streams separados por --- são comparados documento por documento, na ordem, e os caminhos recebem o prefixo doc[2].… para você saber a qual documento cada diferença pertence. Documentos extras em qualquer lado são reportados como adicionados ou removidos.
E os comentários?
Comentários não são comparados. Eles não carregam significado algum para quem lê os dados, e as duas visões são calculadas a partir dos documentos interpretados, que não os retêm.
Meus dados ficam privados?
Totalmente. A interpretação e a comparação acontecem inteiramente no seu navegador — nenhum arquivo é enviado, registrado ou armazenado, o que importa quando o YAML que você está comparando é um manifesto de produção.
Precisa de algo além de um diff YAML?
Para comparar JSON, use a ferramenta JSON Compare; para XML, use o XML Diff Comparator. Se um dos seus arquivos não conseguir ser interpretado, o Validador YAML apontará o erro de sintaxe.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/yaml-diff-comparator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"yamlA": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n …",
"yamlB": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n …",
"seqOrder": "position",
"looseScalars": ""
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `yaml-diff-comparator` tool (YAML Diff Comparator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.