Skip to content

Conversor de .env a JSON

Pega un archivo .env y obtén JSON al instante. Tus contraseñas, claves API y tokens nunca salen del navegador: 100% privado, sin subidas, gratis.

Sin rastreo Se ejecuta en el navegador Gratis
Opciones · 2 espacios · cadenas
Indentación
0 caracteres
JSON Salida
0 líneas
Revisado para compatibilidad de análisis de dotenv, manejo de comillas y escapes, y comportamiento de claves duplicadas — Go Tools Engineering Team · Jun 12, 2026

¿Qué es un archivo .env?

Un archivo .env (archivo dotenv) es una lista de pares CLAVE=VALOR en texto plano que se usa para mantener la configuración y los secretos fuera del código fuente. Es el estándar de facto para las variables de entorno en Node.js, Vite, Next.js, Python, Ruby, Docker Compose y casi cualquier framework moderno: la biblioteca dotenv y sus adaptaciones cargan el archivo e inyectan cada par en el entorno del proceso. Como el archivo suele contener contraseñas de bases de datos, claves API, secretos de cliente de OAuth y tokens de acceso, casi siempre se ignora en git y se trata como sensible.

Convertir un archivo .env a JSON es una tarea frecuente: necesitas alimentar la configuración a una herramienta que lee JSON, validarla contra un JSON Schema, importarla a un gestor de secretos, generar objetos de configuración tipados o simplemente inspeccionar de un vistazo un .env largo como datos estructurados. Este conversor convierte la lista plana de pares en un único objeto JSON, una propiedad por clave.

Esta herramienta se construye en torno a unas pocas decisiones deliberadas:

**1. Cadenas de forma predeterminada, tipos a demanda.** dotenv nunca fuerza tipos: en tiempo de ejecución cada valor de process.env es una cadena. La salida predeterminada respeta eso exactamente, así que el JSON coincide con lo que tu aplicación ve realmente. Cuando quieres JSON tipado, el interruptor opcional Inferir tipos promueve números, booleanos y valores null sin comillas, mientras que los valores entre comillas permanecen como cadenas porque las comillas son una señal explícita.

**2. Análisis fiel a dotenv.** Los comentarios, las líneas en blanco, el prefijo export, las comillas simples frente a las dobles, las secuencias de escape, los valores multilínea entre comillas dobles y los comentarios en línea sobre valores sin comillas se manejan tal como lo hace la biblioteca dotenv: sin sorpresas cuando compares el JSON con lo que carga tu aplicación.

**3. Seguridad ante claves duplicadas.** Cuando una clave se define dos veces gana el valor posterior, y una advertencia te indica qué claves estaban duplicadas para que un secreto eclipsado accidentalmente nunca pase desapercibido.

**4. Privacidad 100% en el navegador.** Tus datos .env nunca salen del navegador. No hay subida, ni ida y vuelta al servidor, ni registro: puedes verificar cero peticiones de red en la pestaña Red de las DevTools. Esta es la única forma responsable de convertir un .env real en línea, ya que el archivo es esencialmente una lista de credenciales.

Después de convertir, puedes formatear o validar el resultado con el Formateador JSON, escaparlo para incrustarlo en otra cadena con Escape JSON, o ir en sentido contrario con el conversor complementario JSON a .env. Si tu configuración vive en YAML, prueba YAML a JSON.

// Parse a .env file to a JSON object in Node.js using dotenv
import { parse } from 'dotenv';

const envText = `# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DEBUG=true`;

// dotenv.parse returns a plain object of string values
const parsed = parse(envText);

// Every value is a string, just like process.env
const json = JSON.stringify(parsed, null, 2);

console.log(json);
// {
//   "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
//   "DEBUG": "true"
// }

Características clave

Análisis fiel a dotenv

Maneja comentarios, el prefijo export, comillas simples y dobles, secuencias de escape (\n \t \r \\ \"), valores multilínea entre comillas dobles y comentarios en línea, exactamente como lo hace la biblioteca dotenv.

Cadenas de forma predeterminada, tipos a demanda

Los valores son cadenas JSON de forma predeterminada para coincidir con el comportamiento de dotenv en tiempo de ejecución. Activa Inferir tipos para promover números, booleanos y valores null sin comillas; los valores entre comillas siempre permanecen como cadenas.

Advertencias de claves duplicadas

Si una clave se define dos veces gana el último valor (comportamiento de dotenv) y una advertencia enumera cada clave duplicada, para que un secreto sobrescrito silenciosamente no pase desapercibido.

Conversión en vivo

La salida JSON se actualiza al instante a medida que escribes o pegas. Las entradas grandes (más de 200 KB) cambian automáticamente al modo manual con un botón Convertir para mantener el navegador receptivo.

Indentación de 2 o 4 espacios

Alterna entre una indentación de 2 y 4 espacios para la salida JSON, para que coincida con el estilo de tu base de código o con las herramientas posteriores.

Privacidad 100% en el navegador

Todo el análisis se ejecuta localmente en tu navegador. Tus datos .env —contraseñas de bases de datos, claves API, tokens— nunca se suben, nunca se registran y nunca se almacenan en ningún servidor.

Ejemplos

.env de Node / Vite

# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DATABASE_POOL_SIZE=10

# Auth
JWT_SECRET="super secret value"
SESSION_TIMEOUT=3600

# Feature flags
ENABLE_SIGNUP=true
VITE_API_BASE=https://api.example.com
{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "DATABASE_POOL_SIZE": "10",
  "JWT_SECRET": "super secret value",
  "SESSION_TIMEOUT": "3600",
  "ENABLE_SIGNUP": "true",
  "VITE_API_BASE": "https://api.example.com"
}

Un archivo .env típico de Node.js / Vite. De forma predeterminada cada valor se convierte en una cadena JSON (el estándar dotenv). Las líneas de comentario y las líneas en blanco se omiten. Activa Inferir tipos si quieres que 10 → número y true → booleano.

Entorno de Docker Compose

POSTGRES_DB=mydb
POSTGRES_USER=admin
POSTGRES_PASSWORD=s3cr3t!
PGDATA=/var/lib/postgresql/data
TZ=UTC
NGINX_HOST=example.com
NGINX_PORT=80
{
  "POSTGRES_DB": "mydb",
  "POSTGRES_USER": "admin",
  "POSTGRES_PASSWORD": "s3cr3t!",
  "PGDATA": "/var/lib/postgresql/data",
  "TZ": "UTC",
  "NGINX_HOST": "example.com",
  "NGINX_PORT": "80"
}

Convierte el env_file que lee tu stack de Docker Compose en JSON para cargarlo en un script, un validador de configuración o un gestor de secretos. Nada se sube: es seguro con credenciales reales.

Plantilla de secretos de CI con prefijo export

export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_REGION=us-east-1
export DEPLOY_ENV=production
{
  "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
  "AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "AWS_REGION": "us-east-1",
  "DEPLOY_ENV": "production"
}

Los archivos .env al estilo de shell suelen anteponer export a cada línea para poder ser cargados con source. El analizador elimina el prefijo export automáticamente y te entrega claves JSON limpias.

.env complejo: comillas, escapes, multilínea y comentarios en línea

APP_NAME=My App                 # unquoted value, inline comment stripped
GREETING="Hello,\nWorld"        # double quotes: \n becomes a real newline
LITERAL='no \n escapes here'    # single quotes: kept literally
PRIVATE_KEY="-----BEGIN KEY-----
line two
line three
-----END KEY-----"
EMPTY=
{
  "APP_NAME": "My App",
  "GREETING": "Hello,\nWorld",
  "LITERAL": "no \\n escapes here",
  "PRIVATE_KEY": "-----BEGIN KEY-----\nline two\nline three\n-----END KEY-----",
  "EMPTY": ""
}

Muestra todos los casos límite de dotenv a la vez: los comentarios en línea sobre valores sin comillas se eliminan, los valores entre comillas dobles procesan los escapes \n \t \r \\ \", los valores entre comillas simples se conservan literalmente y un valor entre comillas dobles puede ocupar varias líneas hasta la comilla de cierre (útil para claves PEM).

Cómo usar

  1. 1

    Pega tu archivo .env

    Introduce o pega el contenido de tu .env en el campo de entrada de arriba. También puedes pulsar 'Cargar ejemplo' para probar un .env de Node/Vite, un archivo env de Docker Compose o una plantilla de secretos de CI.

  2. 2

    Mira la salida JSON en vivo

    El JSON aparece al instante en el panel de salida. Activa 'Inferir tipos' si quieres números y booleanos en lugar de cadenas, y elige una indentación de 2 o 4 espacios.

  3. 3

    Copia o descarga

    Pulsa Copiar para llevar el JSON al portapapeles, o Descargar para guardarlo como archivo .json, listo para un cargador de configuración, un gestor de secretos o cualquier herramienta que lea JSON.

Errores comunes de .env

Falta el signo = en una línea

Cada línea no vacía y que no sea comentario debe ser un par CLAVE=VALOR. Una línea sin signo = no se puede analizar y la herramienta informa de un error con el número de línea. Una clave sin valor debe escribirse como CLAVE= (valor vacío).

✗ Incorrecto
DATABASE_URL
DEBUG true
✓ Correcto
DATABASE_URL=
DEBUG=true

Espacios alrededor del signo =

dotenv separa en el primer = sin espacios alrededor. Escribir CLAVE = valor hace que la clave sea 'CLAVE ' (con un espacio final) y el valor ' valor' (con un espacio inicial). Quita los espacios, o pon el valor entre comillas si debe contener espacios iniciales.

✗ Incorrecto
API_KEY = abc123
✓ Correcto
API_KEY=abc123

Valor sin comillas devorado por un comentario en línea

En un valor sin comillas, un espacio seguido de # inicia un comentario en línea y todo lo que va después se descarta. Si tu valor contiene legítimamente un #, pon el valor entre comillas para que se conserve el #.

✗ Incorrecto
COLOR=#ff0000
✓ Correcto
COLOR="#ff0000"

Esperar escapes dentro de comillas simples

Los valores entre comillas simples son literales: \n se queda como una barra invertida y una n, no se convierte en un salto de línea. Usa comillas dobles cuando quieras que se procesen secuencias de escape como \n, \t o \".

✗ Incorrecto
GREETING='Hello\nWorld'
✓ Correcto
GREETING="Hello\nWorld"

Comilla doble sin cerrar en un valor multilínea

Un valor entre comillas dobles puede ocupar varias líneas, pero debe cerrarse con una comilla doble que coincida. Si falta la comilla de cierre, el analizador sigue consumiendo líneas hasta el final del archivo. Asegúrate de que los secretos multilínea como las claves PEM terminen con una comilla de cierre.

✗ Incorrecto
KEY="-----BEGIN-----
line two
✓ Correcto
KEY="-----BEGIN-----
line two
-----END-----"

Claves duplicadas sobrescritas silenciosamente

Si la misma clave aparece dos veces, gana el último valor y el anterior se pierde. La herramienta te avisa, pero la solución más limpia es eliminar el duplicado para que el valor previsto sea inequívoco.

✗ Incorrecto
PORT=3000
PORT=8080
✓ Correcto
PORT=8080

Casos de uso comunes

Alimentar configuración a herramientas basadas en JSON
Convierte un archivo .env a JSON para cargar la configuración de entorno en herramientas, scripts y SDK que leen JSON en lugar de variables de entorno: validadores de configuración, comprobadores de esquema y generadores de código.
Importar secretos a un gestor
Muchos gestores de secretos (AWS Secrets Manager, Vault, Doppler) aceptan JSON para importación masiva. Convierte primero un archivo .env en un objeto JSON y luego sube todo el conjunto en una sola operación en lugar de una variable a la vez.
Inspeccionar de un vistazo un .env largo
Convierte un archivo .env extenso en JSON estructurado e indentado para que puedas examinar las claves, detectar duplicados mediante la advertencia y revisar la configuración en un formato legible antes de confirmar cambios.
Generar objetos de configuración tipados
Activa Inferir tipos para obtener números, booleanos y null en el JSON, y luego aliméntalo a una capa de configuración tipada o a un paso de JSON a TypeScript para derivar una interfaz de tus variables de entorno.
Validar contra un JSON Schema
Convierte .env a JSON y pásalo por un validador de JSON Schema para imponer claves obligatorias, formatos de valor y enumeraciones permitidas en CI, detectando entornos mal configurados antes del despliegue.
Migrar configuración env_file de Docker Compose
Convierte el env_file que lee tu stack de Compose en JSON para usarlo en otra herramienta de orquestación, un servidor de configuración o documentación, sin exponer credenciales reales a ningún servicio externo.

Detalles técnicos

Análisis línea por línea compatible con dotenv
La entrada se analiza línea por línea. Las líneas en blanco y las líneas de comentario (primer carácter no en blanco #) se omiten, un prefijo opcional export se elimina, y cada línea restante se separa en el primer = en clave y valor. A las claves se les recortan los espacios alrededor. Los valores siguen las reglas de dotenv: las comillas dobles procesan los escapes \n \t \r \\ \" y permiten extensiones multilínea, las comillas simples son literales, y los valores sin comillas eliminan los espacios finales y los comentarios en línea.
Inferencia de tipos opcional
De forma predeterminada todos los valores se emiten como cadenas JSON, coincidiendo con el comportamiento de dotenv en tiempo de ejecución donde los valores de process.env siempre son cadenas. Con Inferir tipos activado, los valores sin comillas se promueven: las cadenas numéricas se convierten en números JSON, true/false se convierten en booleanos, y los valores vacíos o null se convierten en null JSON. Los valores entre comillas nunca se infieren: las comillas los marcan como cadenas explícitas. Las claves duplicadas se resuelven con la regla del último que gana y una advertencia.
Basado en el navegador: sin subidas, sin servidor
Todo el procesamiento ocurre por completo en el motor JavaScript de tu navegador; ningún dato .env se transmite por la red en ningún momento. No hay dependencias externas porque el analizador está escrito internamente: la biblioteca Node dotenv depende del sistema de archivos y no es segura para el navegador. Las entradas mayores de 200 KB cambian del modo en vivo al modo manual (un clic explícito en Convertir) para mantener el navegador receptivo.

Buenas prácticas

Mantén la salida de cadenas predeterminada para coincidir con dotenv
dotenv carga cada valor como cadena, así que la salida de cadenas predeterminada refleja exactamente lo que tu aplicación ve en tiempo de ejecución. Activa Inferir tipos solo cuando el consumidor posterior realmente espera JSON tipado; de lo contrario corres el riesgo de un desajuste en el que '0' o 'false' se comporten de forma distinta en JSON que en tu aplicación en ejecución.
Pon entre comillas los valores que contienen # o espacios
En los valores sin comillas, un espacio seguido de # inicia un comentario en línea, y los espacios finales se recortan. Si un valor contiene legítimamente un # (colores hexadecimales, URL con fragmento) o espacios significativos, ponlo entre comillas dobles para que se conserve textualmente en el JSON.
Resuelve las claves duplicadas en el origen
La herramienta conserva el último valor y te avisa cuando una clave está duplicada, pero un duplicado en un archivo .env casi siempre es un error. Elimina la línea redundante para que no haya ambigüedad sobre qué secreto está activo.
Nunca pegues secretos de producción en conversores del lado del servidor
Como un archivo .env es en la práctica una lista de credenciales, conviértelo solo en una herramienta que se ejecute por completo en el navegador. Este conversor lo hace —verifica cero peticiones de red en las DevTools—, así que es seguro para secretos reales, a diferencia de los conversores del lado del servidor o respaldados por API.
Valida el JSON antes de usarlo más adelante
Después de convertir, pasa el JSON por el Formateador JSON para confirmar la estructura antes de alimentarlo a un validador de esquema, una importación a un gestor de secretos o un cargador de configuración, para que cualquier sorpresa estructural salga a la luz pronto.

Preguntas frecuentes

¿Cómo convierto un archivo .env a JSON en línea?
Pega el contenido de tu archivo .env en el campo de entrada de arriba. La herramienta lo analiza a JSON al instante en tu navegador, sin necesidad de pulsar ningún botón. Cada línea CLAVE=VALOR se convierte en una propiedad JSON. Puedes elegir una indentación de 2 o 4 espacios en el panel de Opciones y luego pulsar Copiar para obtener el JSON o Descargar para guardarlo como archivo .json. Todo se ejecuta localmente, así que tus secretos nunca salen de tu dispositivo.
¿Los valores se convierten en números y booleanos, o se mantienen como cadenas?
De forma predeterminada cada valor se mantiene como cadena, coincidiendo exactamente con el estándar dotenv. dotenv en sí nunca fuerza tipos —los valores de process.env siempre son cadenas—, por lo que este valor predeterminado mantiene el JSON fiel a lo que tu aplicación ve realmente en tiempo de ejecución. Si prefieres tener JSON tipado, activa la opción Inferir tipos. Con ella activada, los valores sin comillas que parecen números se convierten en números JSON, true y false se convierten en booleanos, y un valor vacío o null se convierte en null JSON. Los valores entre comillas siempre se mantienen como cadenas incluso con Inferir tipos activado, porque las comillas indican una cadena explícita.
¿Qué ocurre si la misma clave aparece dos veces en mi archivo .env?
Siguiendo el comportamiento de dotenv, gana la última aparición: el valor posterior sobrescribe al anterior. Como un valor descartado de forma silenciosa es una causa habitual de errores de configuración, la herramienta también muestra una advertencia no bloqueante que indica exactamente qué claves estaban duplicadas, para que confirmes qué valor quedó en el JSON. La salida sigue siendo un objeto JSON válido con una entrada por clave.
¿Cómo se manejan las comillas, los escapes y los valores multilínea?
Los valores entre comillas dobles procesan secuencias de escape: \n se convierte en un salto de línea, \t en una tabulación, \r en un retorno de carro, \\ en una barra invertida y \" en una comilla doble literal. Un valor entre comillas dobles también puede ocupar varias líneas hasta la comilla de cierre, práctico para claves privadas PEM y certificados. Los valores entre comillas simples se tratan literalmente, sin procesar escapes, igual que en el shell. Los valores sin comillas llegan hasta el final de la línea, con los espacios finales eliminados y los comentarios en línea descartados (un espacio seguido de # inicia un comentario). Esto coincide con la forma en que la biblioteca dotenv analiza los archivos.
¿Es este analizador coherente con la biblioteca dotenv?
Sí. Las reglas de análisis siguen las convenciones ampliamente usadas de dotenv: las líneas de comentario con # y las líneas en blanco se ignoran, el prefijo opcional export se elimina, las claves se separan en el primer signo =, las comillas simples son literales, las comillas dobles procesan escapes y permiten valores multilínea, los valores sin comillas eliminan los espacios alrededor y al final, y todos los valores son cadenas de forma predeterminada. El interruptor opcional Inferir tipos es una comodidad adicional superpuesta: está desactivado de forma predeterminada precisamente para que la salida coincida con lo que cargaría dotenv.
¿Puede manejar configuración anidada o agrupada?
Los archivos .env son intencionadamente planos: una lista de pares clave/valor sin anidamiento. Este conversor produce un único objeto JSON plano que refleja esa estructura uno a uno. Si tu aplicación lee configuración agrupada (por ejemplo DB_HOST y DB_PORT), las claves se mantienen planas en el JSON; puedes reorganizarlas en el código después. Si necesitas estructuras anidadas reales, un formato como YAML a JSON encaja mejor, y puedes formatear el resultado con el Formateador JSON.
¿Se envían mis datos .env a un servidor?
No. Todo el análisis ocurre por completo en tu navegador con JavaScript. El contenido de tu .env —que normalmente guarda contraseñas de bases de datos, claves API, secretos de OAuth y tokens de acceso— nunca se transmite, nunca se almacena en ningún servidor y nunca se registra. Puedes confirmarlo abriendo la pestaña Red de tu navegador y comprobando que pegar el archivo no genera ninguna petición. Esto es lo que hace seguro convertir un .env de producción real, no solo una muestra saneada.

Herramientas relacionadas

Ver todas las herramientas →