📝 Generador .env.example
Pega tu .env real y la herramienta sustituye los valores por placeholders seguros, manteniendo comentarios y estructura.
🔒 La privacidad es prioridad
- ・Tu .env nunca se envia a ningun servidor
- ・Todo el procesamiento ocurre en tu navegador via JavaScript
- ・Sin registros, sin historial, sin base de datos
- ・Para mayor tranquilidad, funciona sin conexion de red
📥 Entrada (.env)
📤 .env.example
➕ Anadir desde formulario
Elige un nombre de clave y categoria para anadir.
📖 Dónde se suele tropezar
Pega un .env real y sustituye los valores por marcadores seguros conservando comentarios y estructura, produciendo un .env.example que puedes versionar. Todo se ejecuta en el navegador y nada se transmite. Sustituir los valores no equivale a no dejar secretos: un valor real escrito dentro de un comentario pasa directamente a la salida. Lee tú mismo el resultado antes de confirmarlo.
| Caso | Qué ocurre | Qué hacer |
|---|---|---|
| Un valor real sobrevive dentro de un comentario | La sustitución actúa sobre el valor de KEY=VALUE, así que las líneas que empiezan por # pasan intactas. Los .env reales, sin embargo, suelen contener secretos con forma de comentario: # en producción usa sk-live-abc123, # clave antigua: xoxb-..., # conecta a postgres://user:pass@prod-db.internal:5432. Los comentarios se escriben como notas, lo que los vuelve menos vigilados que el campo del valor. Igualmente, un nombre de clave puede aportar información por sí solo: ACME_CORP_API_KEY publica el nombre de un cliente. |
Lee de arriba abajo el .env.example generado antes de versionarlo: imprescindible si activaste la conservación de comentarios. Busca tres cosas: valores reales escritos en comentarios, nombres de clientes o de sistemas internos incrustados en los nombres de clave y nombres de host o puertos que revelen tu topología interna. Un comentario es el lugar para decir por qué hace falta una clave, no cuál es su valor: si quieres anotar el valor real en algún sitio, ese sitio es el propio .env o un gestor de contraseñas. Revisar los comentarios del .env original antes de convertir te ahorra tener que quitarlos después del ejemplo. |
| Una lista de nombres de clave no basta para que alguien arranque | El propósito de un .env.example es transmitir qué hay que configurar para que el proyecto funcione. Pero un archivo con nombres de clave y marcadores no transmite casi nada de lo necesario: la línea STRIPE_SECRET_KEY=your_key_here no dice dónde conseguir una, si es la de pruebas o la real, ni si es obligatoria siquiera. El resultado es que quien se incorpora tiene que preguntar a alguien del equipo, y la existencia del archivo de ejemplo se convierte en un formalismo. |
Pon una línea de comentario encima de cada clave que diga dónde obtenerla, si es obligatoria y qué forma tiene el valor. Una sola línea como # Panel de Stripe, Desarrolladores, Claves de API. En desarrollo usa la que empieza por sk_test_. Obligatoria. permite que quien llega lo resuelva sin preguntar. En las claves opcionales, indica también el valor por defecto: # por defecto 3000. El valor de este trabajo es en realidad mayor para quienes ya están: quien lo lee al reconstruir un entorno seis meses después, o al revisar los ajustes de producción, suele ser quien lo escribió. Lo que escribiste pensando en el recién llegado acaba ayudándote sobre todo a ti. |
| Existe el ejemplo pero el .env real se versionó igualmente | Escribir .env en el .gitignore no tiene efecto sobre un archivo que ya está siendo seguido: .gitignore es una regla para ignorar archivos aún no seguidos, así que todo aquello a lo que alguna vez le hiciste git add sigue teniendo sus cambios bajo seguimiento. El otro problema habitual es cómo se escribe el patrón: .env* también ignora .env.example, de modo que la plantilla que acabas de hacer nunca llega a versionarse; un repositorio sin .env.example suele deberse a esta mala configuración. |
Escribe la exclusión en dos líneas: !.env.example en la línea siguiente a .env* (el orden importa; una negación antes de la exclusión no surte efecto). Si el archivo ya está bajo seguimiento, git rm --cached .env lo saca del seguimiento dejando intacta tu copia local. Verifica con git ls-files | grep env: ver únicamente .env.example es el estado correcto. Y lo más importante: si el .env apareció en un commit pasado, reescribir el historial no es un remedio. Sobrevive en forks, registros de CI, clones locales ajenos y la caché de GitHub, así que la única respuesta correcta es revocar esa clave y emitir una nueva: hazlo en cuanto te des cuenta, antes de ponerte a ordenar el historial. |
Conviene conocer los límites del propio mecanismo .env. Primero, no puede expresar un valor con saltos de línea: intentar meter una clave privada o un certificado se atasca siempre aquí. El apaño es Base64 en una sola línea, pero es una concesión hecha reconociendo el límite. Segundo, no hay tipos: todo es cadena, así que DEBUG=false es la cadena "false", que la mayoría de lenguajes evalúan como verdadero. Tercero, no hay mecanismo para gestionar las diferencias entre entornos: mantener .env separados para desarrollo, preproducción y producción implica sincronizarlos todos a mano cada vez que se añade una clave. En producción, usa un gestor de secretos en lugar de .env —AWS Secrets Manager, Google Secret Manager, HashiCorp Vault—, porque el control de acceso, el registro de auditoría y la rotación automática, que .env no puede tener por principio, suelen hacer falta sólo allí. Desarrollo puede quedarse con .env.
📖 Cómo usar
-
1
Pega tu .env realPega tu .env en el cuadro de la izquierda. Tambien puedes empezar con un preset.
-
2
Auto-saneamientoClaves con PASSWORD/SECRET/TOKEN/KEY se vuelven placeholders aleatorios; URLs a example.com; puertos a valores como 3000.
-
3
Obten un archivo seguro para commitCopia o descarga como .env.example, luego git add y commit.
❓ Preguntas frecuentes
Seguro que mi .env no se envia?
Que claves se detectan como secretos?
Se conservan comentarios y lineas en blanco?
🔗 Herramientas relacionadas
🐛 ¿Encontró un problema con esta herramienta?
Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.
¡Gracias por tu reporte!
Tu reporte llegó al operador y se usará para mejorar.