O .env é um arquivo de texto simples, na raiz do projeto, onde você lista variáveis de ambiente, uma por linha. Ele guarda configurações e segredos locais, como chaves de API, fora do código.

Como funciona

Cada linha tem o formato NOME=valor. Ao iniciar, o projeto usa uma biblioteca, ou um recurso do próprio framework, que lê o arquivo e carrega essas linhas como variáveis de ambiente. O código então lê os valores normalmente.

Um arquivo de exemplo:

Terminal
OPENAI_API_KEY=sua-chave-aqui
DATABASE_URL=postgres://usuario:senha@localhost:5432/meubanco
PORT=3000

E a leitura em Node.js, com a biblioteca dotenv:

JavaScript · index.js
require("dotenv").config();
console.log(process.env.PORT);

Em Python, algo parecido existe com a biblioteca python-dotenv. Muitos frameworks modernos já leem o .env sozinhos.

O nome começa com ponto, o que em sistemas Linux e macOS torna o arquivo oculto por padrão. Use a opção de mostrar arquivos ocultos para vê-lo.

Exemplo prático

Você está criando um bot que usa uma API de IA. Cria o .env com a chave e adiciona uma linha ao .gitignore:

Terminal
.env

Assim o Git nunca envia o arquivo ao repositório. Para ajudar colegas, você cria um .env.example com os mesmos nomes e valores falsos, e esse sim pode ir ao repositório.

Quando outra pessoa baixar o projeto, ela copia o exemplo, renomeia para .env e preenche com as próprias chaves.

Para que serve

Serve para separar segredos do código, facilitar a configuração local e manter ambientes diferentes, como desenvolvimento e produção, com valores distintos.

Ferramentas de agentes de código e projetos com APIs de modelos usam o .env com frequência para receber chaves de provedores.

Cuidados

  • Nunca faça commit do .env. Se isso acontecer, considere a chave comprometida: revogue e crie outra. Apagar o arquivo depois não remove o que ficou no histórico do Git.
  • Sem aspas ou espaços em volta do sinal de igual, a menos que a biblioteca peça.
  • Em produção, prefira o painel de variáveis da hospedagem ou um gerenciador de segredos, em vez de levar o arquivo para o servidor.
  • Agentes de IA que leem o seu projeto podem acessar o .env. Restrinja permissões e evite deixar chaves de alto privilégio ali.