dmosk / envdiff

Compare .env, JSON, TOML e ini por chaves

Escolha o formato, cole ou carregue duas configurações e veja as chaves só à esquerda, só à direita ou com valores diferentes. Tudo roda no navegador.

Um único formato vale para os dois lados. O link de Compartilhar coloca os dois textos no fragmento # da URL — ele não vai ao servidor, mas não compartilhe o link se houver segredos reais.

Esquerda

Direita

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 como db.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

  1. Escolha o formato — vale para os dois lados.
  2. Cole o texto ou carregue um arquivo em cada painel; os dois são obrigatórios.
  3. Clique em Comparar para ver chaves só à esquerda, só à direita e com valores alterados.
  4. 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 5432 no JSON é igual a 5432 no .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, o secret-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].