Analizador ENV y variables obligatorias

Pega el archivo y los nombres requeridos. La tabla oculta valores de aspecto sensible por defecto, pero el JSON copiado conserva los originales.

Se ejecuta localmente en tu navegador
contenido .env
Variables obligatorias

Opcional: un nombre de variable por línea. Las variables ausentes se indican como errores.

Las claves que parecen secretos se ocultan de forma predeterminada. Todo el análisis se realiza en el navegador.

Variables analizadas
Analiza un archivo .env para revisar variables y resultados.
Resultados de la validación
  • Los resultados aparecerán después del análisis.

Cómo analizar y comprobar un archivo .env

Esta página lee el contenido de un archivo .env línea a línea, enumera las variables encontradas y avisa de nombres no válidos, claves duplicadas, variables obligatorias ausentes y posibles secretos. Pega el archivo, indica los nombres que deben existir y pulsa Analizar y validar. Todo ocurre en el navegador: en las pruebas el análisis no hizo ninguna petición de red, así que puedes revisar aquí un archivo que no deba salir de tu equipo.

El resultado es una tabla con clave, valor, línea y clasificación, una fila de contadores y una lista de resultados. Los valores cuyo nombre parece contener un secreto se muestran como •••••••• hasta que marques Mostrar valores en la tabla analizada, pero Copiar JSON escribe siempre los valores tal como están en el archivo: trata ese contenido del portapapeles como sensible.

  1. Pega el contenido .env en el campo de la izquierda. Las líneas vacías y las que empiezan por # se ignoran, y se quita el prefijo export si está delante.
  2. Si quieres, escribe en el cuadro Variables obligatorias los nombres que deben aparecer, uno por línea. Un nombre que no aparezca en el archivo se indica como error.
  3. Pulsa Analizar y validar. La tabla muestra cada asignación aceptada con su número de línea, y los contadores de arriba resumen variables, errores, avisos y claves sensibles.
  4. Revisa la lista de resultados: un error significa que esa línea no se analizó; un aviso significa que el análisis continuó (una clave duplicada conserva el último valor y un nombre sensible queda oculto); una entrada de información señala un valor vacío.
  5. Usa Copiar JSON para obtener un objeto clave/valor de las variables analizadas, o Limpiar para vaciar los campos. El JSON conserva los valores originales aunque la tabla esté oculta.

Cómo se lee cada línea y qué no hace el analizador

Cómo se convierte una línea en una variable

Se ignoran las líneas vacías y las que empiezan, tras los espacios, por #, y se elimina el prefijo export, de modo que export API_URL=... y API_URL=... se comportan igual. La clave es todo lo que hay antes del primer =, sin espacios alrededor, y debe empezar por letra o guion bajo y continuar con letras, dígitos o guiones bajos: _PRIVATE se acepta y 9LIVES o A-B se señalan como nombres no válidos. El valor es el resto de la línea. Un valor entrecomillado conserva su contenido: las comillas dobles decodifican \n, \r, \t, \" y \\, y las simples solo tratan \' y \\; un valor sin comillas pierde un « # comentario» final y se recorta. Un # no precedido de espacio sigue formando parte del valor (A=a#b da a#b) y las referencias no se expanden: A=$HOME se queda en $HOME.

Si una clave aparece dos veces, se listan las dos líneas y el valor que llega al JSON es el último, como indica el aviso. Las claves distinguen mayúsculas y minúsculas, así que A y a son variables distintas. Los finales de línea de Windows y los espacios sobrantes se leen igual que un archivo LF limpio, y el número de línea cuenta todas las líneas físicas del archivo, incluidas las ignoradas.

Qué valores se ocultan y cuáles no

La decisión se toma por el nombre, no por el valor. Los nombres que contienen password, passwd, pwd, passphrase, secret, token, api_key, access_key, ssh_key, signing_key, encryption_key, private, credential, dsn o webhook, y los que empiezan por auth o contienen _auth, se clasifican como sensibles. En las pruebas esto cubrió PWD, MYSQL_PWD, ACCESS_KEY, AWS_ACCESS_KEY_ID, SSH_KEY, SENTRY_DSN, SLACK_WEBHOOK_URL, ENCRYPTION_KEY y SIGNING_KEY, mientras que AUTHOR y AUTHORITY quedaron visibles por contener solo las letras de auth.

Al ser una comprobación por nombre, los secretos con nombres que no lo parecen se escapan: DATABASE_URL, MONGODB_URI, REDIS_URL y STRIPE_SK no se ocultaron en las pruebas, aunque una cadena de conexión suele llevar contraseña. Usa Mostrar valores para leerlos en la tabla y recuerda que el JSON copiado los contiene en cualquier caso.

Qué no hace el analizador

No lee el entorno del proceso ni ningún archivo del disco, no accede a la red, no comprueba si un valor es válido, actual o accesible, y no escribe nada. Los nombres obligatorios se comparan literalmente, así que un nombre que no puede ser una clave, como A.B, se informa simplemente como ausente.

Conviene conocer dos límites de análisis: una comilla sin cerrar se conserva tal cual en vez de avisarse, y una barra invertida final no continúa la línea. El tamaño no es un límite práctico: en las pruebas se analizaron 2.000 variables en unos 0,3 s y un único valor de 200.000 caracteres en unos 0,2 s.

Herramientas recientes: