Analisador ENV e variáveis obrigatórias

Cole o arquivo e os nomes exigidos. A tabela oculta valores aparentemente sensíveis por padrão, mas o JSON copiado mantém os originais.

Funciona localmente no seu navegador
conteúdo .env
Variáveis obrigatórias

Opcional: um nome de variável por linha. Variáveis ausentes são informadas como erros.

Chaves que parecem segredos são mascaradas por padrão. Toda a análise ocorre no navegador.

Variáveis analisadas
Analise um arquivo .env para revisar variáveis e resultados.
Resultados da validação
  • Os resultados aparecerão após a análise.

Como analisar e conferir um arquivo .env

Esta página lê o conteúdo de um arquivo .env linha a linha, lista as variáveis encontradas e aponta nomes inválidos, chaves duplicadas, variáveis obrigatórias ausentes e possíveis segredos. Cole o arquivo, informe os nomes que precisam existir e clique em Analisar e validar. Tudo acontece no navegador: nos testes a análise não fez nenhuma requisição de rede, então dá para conferir aqui um arquivo que não deve sair da sua máquina.

O resultado é uma tabela com chave, valor, linha e classificação, uma linha de contadores e uma lista de resultados. Os valores cujo nome parece conter um segredo aparecem como •••••••• até você marcar Mostrar valores na tabela analisada, mas Copiar JSON sempre grava os valores como estão no arquivo: trate o conteúdo da área de transferência como sensível.

  1. Cole o conteúdo .env no campo da esquerda. Linhas vazias e linhas que começam com # são ignoradas, e o prefixo export é removido quando aparece.
  2. Se quiser, escreva na caixa Variáveis obrigatórias os nomes que devem existir, um por linha. Um nome que não aparece no arquivo é informado como erro.
  3. Clique em Analisar e validar. A tabela mostra cada atribuição aceita com o número da linha, e os contadores acima resumem variáveis, erros, avisos e chaves sensíveis.
  4. Leia a lista de resultados: um erro significa que a linha não foi analisada; um aviso significa que a análise continuou (chave duplicada mantém o último valor e nome sensível fica mascarado); uma entrada de informação indica valor vazio.
  5. Use Copiar JSON para obter um objeto chave/valor das variáveis analisadas, ou Limpar para esvaziar os campos. O JSON mantém os valores originais mesmo com a tabela mascarada.

Como cada linha é lida e o que o analisador não faz

Como uma linha vira uma variável

Linhas vazias e linhas cujo primeiro caractere visível é # são ignoradas, e o prefixo export é removido, então export API_URL=... e API_URL=... se comportam igual. A chave é tudo antes do primeiro =, sem espaços em volta, e precisa começar com letra ou sublinhado e continuar com letras, dígitos ou sublinhados: _PRIVATE é aceita e 9LIVES ou A-B são apontadas como nomes inválidos. O valor é o resto da linha. Um valor entre aspas mantém o conteúdo: aspas duplas decodificam \n, \r, \t, \" e \\, e aspas simples tratam apenas \' e \\; um valor sem aspas perde um « # comentário» no final e é aparado. Um # sem espaço antes continua fazendo parte do valor (A=a#b resulta em a#b) e referências não são expandidas: A=$HOME fica $HOME.

Quando uma chave aparece duas vezes, as duas linhas são listadas e o valor que vai para o JSON é o último, como o aviso diz. Chaves diferenciam maiúsculas de minúsculas, então A e a são variáveis distintas. Finais de linha do Windows e espaços sobrando são lidos como um arquivo LF limpo, e o número da linha conta todas as linhas físicas do arquivo, inclusive as ignoradas.

Quais valores ficam mascarados e quais não ficam

A decisão vem do nome, não do valor. Nomes que contêm password, passwd, pwd, passphrase, secret, token, api_key, access_key, ssh_key, signing_key, encryption_key, private, credential, dsn ou webhook, e nomes que começam com auth ou contêm _auth, são classificados como sensíveis. Nos testes isso cobriu PWD, MYSQL_PWD, ACCESS_KEY, AWS_ACCESS_KEY_ID, SSH_KEY, SENTRY_DSN, SLACK_WEBHOOK_URL, ENCRYPTION_KEY e SIGNING_KEY, enquanto AUTHOR e AUTHORITY ficaram visíveis por conterem apenas as letras de auth.

Como o teste é por nome, segredos com nomes que não parecem segredo passam: DATABASE_URL, MONGODB_URI, REDIS_URL e STRIPE_SK não foram mascarados nos testes, ainda que uma string de conexão normalmente carregue senha. Use Mostrar valores para lê-los na tabela e lembre que o JSON copiado os contém de qualquer forma.

O que o analisador não faz

Ele não lê o ambiente do processo nem arquivo do disco, não acessa a rede, não verifica se um valor é válido, atual ou alcançável, e não grava nada. Nomes obrigatórios são comparados literalmente, então um nome que não pode ser chave, como A.B, é simplesmente informado como ausente.

Vale conhecer dois limites de análise: aspas sem fechar são mantidas como estão em vez de avisadas, e uma barra invertida no fim não continua a linha. O tamanho não é limite prático: nos testes foram 2.000 variáveis em cerca de 0,3 s e um único valor de 200.000 caracteres em cerca de 0,2 s.

Ferramentas recentes: