Por que usar o envdiff
- Comparação lógica. Comparam-se chaves e valores, não linhas de texto: ordem, comentários e linhas em branco não importam.
- Quatro formatos.
.env, JSON, TOML e ini; chaves aninhadas de JSON/TOML viram caminhos comodb.host. - Mascaramento de segredos. Opcionalmente, valores de chaves como password, token, secret ou key aparecem como
[REDACTED]. - Só no navegador. Sem API: os arquivos não saem do seu dispositivo. O estado é compartilhado pelo fragmento da URL.
Como comparar configurações
- Escolha o formato — vale para os dois lados.
- Cole o texto ou carregue um arquivo em cada painel; os dois são obrigatórios.
- Clique em Comparar para ver chaves só à esquerda, só à direita e com valores alterados.
- Ative o mascaramento se precisar e use Compartilhar para copiar um link com o estado.
Chaves, formatos e segredos
O envdiff compara chaves, não linhas. Os formatos nunca se misturam: JSON e TOML aninhados são achatados em caminhos com pontos, seções de ini viram section.key e o .env é lido como KEY=VALUE.
Dicas:
- Comentários, linhas em branco e a ordem das chaves são ignorados.
- Listas são achatadas com índices, por exemplo
servers[0].host. - Os valores são comparados como texto: o número
5432no JSON é igual a5432no .env. - O mascaramento só muda a exibição: chaves como password, token, secret ou key mostram [REDACTED].
- Para YAML use o
yamaster; para procurar segredos vazados, osecret-scanner.
Para que serve
- comparar .env entre dev, staging e produção;
- conferir uma configuração antes e depois de um deploy;
- achar chaves que faltam em um ambiente;
- revisar mudanças de JSON, TOML ou ini sem o ruído de um diff de texto;
- compartilhar uma comparação por URL (sem segredos reais).
Perguntas frequentes
Posso comparar formatos diferentes?
Não. Um único formato é escolhido para os dois lados; misturar formatos não é suportado.
Comentários e ordem importam?
Não. Só chaves e valores são comparados.
Meus dados são enviados?
Não. A análise e a comparação ocorrem no navegador; não há API.
O que o mascaramento faz?
Valores de chaves como password, secret, token ou key aparecem como [REDACTED]; a comparação usa os valores reais.
Como aparecem as chaves aninhadas?
Com pontos para objetos e tabelas e com índices para listas, por exemplo db.host ou servers[0].