Skip to content

Conversor de JSON a .env

Pega un objeto JSON y obtén un archivo .env al instante. Genera dotenv localmente: tus claves y secretos nunca salen del navegador. 100% privado, sin subidas.

Sin rastreo Se ejecuta en el navegador Gratis
Opciones · mantener claves · sin export
0 caracteres
.env Salida
0 líneas
Revisado para el manejo de entrada solo de objeto, entrecomillado seguro para idas y vueltas, aplanamiento de valores anidados y normalización de claves — 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 guarda la configuración de entorno y los secretos fuera de tu código fuente. Es el estándar de facto para Node.js, Vite, Next.js, Python, Ruby y Docker Compose: la biblioteca dotenv carga el archivo e inyecta cada par en el entorno del proceso. Como normalmente almacena contraseñas de bases de datos, claves API y tokens de acceso, un archivo .env se trata como sensible y se mantiene fuera del control de versiones.

Generar un archivo .env a partir de JSON es lo inverso de la tarea común de analizar configuración: ya tienes la configuración como un objeto JSON —de una respuesta de API, una exportación de configuración, un volcado de un gestor de secretos o un script que construye ajustes programáticamente— y necesitas un archivo .env para colocar en un proyecto o entregar a un contenedor. Este conversor recorre las claves de nivel superior de tu objeto JSON y escribe una línea CLAVE=VALOR correctamente entrecomillada por propiedad.

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

**1. Entrecomillado seguro para idas y vueltas.** Los números y booleanos se escriben sin comillas, null se convierte en un valor vacío, y cualquier cadena que contenga un espacio, salto de línea, # o comilla se pone automáticamente entre comillas dobles y se escapa. El resultado se analiza de vuelta limpiamente a través de dotenv y del conversor complementario .env a JSON, así que un valor nunca cambia de significado en la ida y vuelta.

**2. Manejo honesto del anidamiento.** Un archivo .env es plano por definición. En lugar de descartar silenciosamente los datos anidados, la herramienta serializa cada objeto o arreglo anidado a una cadena JSON compacta y te avisa de qué claves se aplanaron, para que decidas si .env es realmente el destino correcto.

**3. Normalización de claves opcional.** Las claves se mantienen textualmente de forma predeterminada para evitar perder información. Activa Normalizar claves para convertir camelCase o kebab-case en la convención UPPER_SNAKE_CASE que usan las variables de entorno, con una advertencia para cualquier clave que aún no pueda formar un nombre válido.

**4. Privacidad 100% en el navegador.** El JSON que pegas —normalmente las mismas credenciales que estás a punto de escribir en un .env— nunca sale del navegador. Sin subida, sin ida y vuelta al servidor, sin registro; verifica cero peticiones de red en la pestaña Red de las DevTools.

Antes de convertir, puedes validar o formatear el JSON con el Formateador JSON, o desescapar una cadena JSON con Escape JSON. Si tu configuración se expresa mejor con estructura, JSON a YAML conserva un anidamiento que un .env plano no puede.

// Generate .env lines from a JSON object in Node.js
const config = {
  DATABASE_URL: 'postgres://user:pass@localhost:5432/mydb',
  PORT: 8080,
  DEBUG: true,
  NOTE: 'value with spaces',
};

const needsQuotes = (s) => /[\s#"'\n]/.test(s);

const env = Object.entries(config)
  .map(([key, value]) => {
    if (typeof value === 'string') {
      return needsQuotes(value)
        ? `${key}=${JSON.stringify(value)}`
        : `${key}=${value}`;
    }
    return `${key}=${value ?? ''}`; // null -> empty value
  })
  .join('\n');

console.log(env);
// DATABASE_URL=postgres://user:pass@localhost:5432/mydb
// PORT=8080
// DEBUG=true
// NOTE="value with spaces"

Características clave

Entrecomillado seguro para idas y vueltas

Los números y booleanos se escriben sin comillas, null se convierte en un valor vacío, y las cadenas con espacios, saltos de línea, # o comillas se ponen automáticamente entre comillas dobles y se escapan para que se analicen de vuelta limpiamente a través de dotenv.

Manejo honesto del anidamiento

Los objetos y arreglos anidados no pueden existir en un .env plano, así que cada uno se serializa a una cadena JSON compacta y una advertencia enumera exactamente qué claves se aplanaron: nunca un cambio silencioso.

Normalización de claves opcional

Mantén las claves textualmente de forma predeterminada —con una advertencia para cualquier clave que no sea un nombre env válido— o activa Normalizar claves para convertir camelCase y kebab-case en la convención UPPER_SNAKE_CASE que usan las variables de entorno.

Prefijo export opcional

Antepone export a cada línea para que el archivo .env generado se pueda cargar directamente con source en un shell, coincidiendo con el estilo de los scripts de CI y de despliegue.

Conversión en vivo

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

Privacidad 100% en el navegador

Toda la conversión se ejecuta localmente en tu navegador. El JSON que pegas —claves API, credenciales, tokens— nunca se sube, nunca se registra y nunca se almacena en ningún servidor.

Ejemplos

Objeto de configuración a .env

{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "PORT": 8080,
  "DEBUG": true,
  "LOG_LEVEL": "info",
  "API_KEY": "sk_live_abc123"
}
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
PORT=8080
DEBUG=true
LOG_LEVEL=info
API_KEY=sk_live_abc123

Un objeto de configuración JSON plano se convierte en un archivo .env limpio. Los números y booleanos se escriben sin comillas; las cadenas simples se escriben tal cual. Listo para guardar como .env y cargar con dotenv.

Valores que necesitan comillas

{
  "GREETING": "Hello, World",
  "MOTD": "line one\nline two",
  "COLOR": "#ff0000",
  "NOTE": "value with # hash",
  "EMPTY": null
}
GREETING="Hello, World"
MOTD="line one\nline two"
COLOR="#ff0000"
NOTE="value with # hash"
EMPTY=

Las cadenas que contienen espacios, saltos de línea, # o comillas se envuelven automáticamente en comillas dobles y se escapan para que sobrevivan a una ida y vuelta a través de dotenv. Un valor null se convierte en una asignación vacía (CLAVE=).

Normalizar claves a UPPER_SNAKE_CASE

{
  "databaseUrl": "postgres://localhost/mydb",
  "poolSize": 10,
  "enable-signup": true
}
DATABASE_URL=postgres://localhost/mydb
POOL_SIZE=10
ENABLE_SIGNUP=true

Con la opción Normalizar claves activada, las claves en camelCase y kebab-case se convierten a la convención UPPER_SNAKE_CASE que usan las variables de entorno. Con ella desactivada, las claves originales se mantienen textualmente.

Objeto anidado aplanado a una cadena JSON

{
  "APP_NAME": "my-app",
  "FEATURES": { "signup": true, "beta": false },
  "REGIONS": ["us-east-1", "eu-west-1"]
}
APP_NAME=my-app
FEATURES="{\"signup\":true,\"beta\":false}"
REGIONS="[\"us-east-1\",\"eu-west-1\"]"

Los archivos .env son planos, así que los objetos y arreglos anidados no se pueden representar de forma nativa. La herramienta serializa cada valor anidado a una cadena JSON compacta y la pone entre comillas dobles, y muestra una advertencia que enumera qué claves se aplanaron para que el comportamiento nunca sea silencioso.

Cómo usar

  1. 1

    Pega tu objeto JSON

    Introduce o pega un objeto JSON plano en el campo de entrada de arriba. También puedes pulsar 'Cargar ejemplo' para probar un objeto de configuración, valores que necesitan comillas o un objeto anidado.

  2. 2

    Mira la salida .env en vivo

    El archivo .env aparece al instante en el panel de salida. Activa 'Normalizar claves' para nombres en UPPER_SNAKE_CASE, o 'Añadir prefijo export' si el archivo se va a cargar con source en un shell.

  3. 3

    Copia o descarga

    Pulsa Copiar para llevar el .env al portapapeles, o Descargar para guardarlo como archivo .env, listo para colocar en tu proyecto y cargar con dotenv.

Errores comunes de JSON

Arreglo o escalar de nivel superior

Un archivo .env es un conjunto plano de variables con nombre, así que la entrada debe ser un objeto JSON. Un arreglo de nivel superior o un valor suelto como una cadena o un número no tiene nombres de clave que asignar a variables, y la herramienta informa de un error. Envuelve primero tus datos en un objeto con claves descriptivas.

✗ Incorrecto
["a", "b", "c"]
✓ Correcto
{"ITEMS": "a,b,c"}

Sintaxis JSON no válida

La entrada debe ser JSON válido. Las comas finales, las comillas simples y las claves sin comillas son errores comunes copiados de JavaScript y causan un error de análisis con línea y columna. Usa comillas dobles para todas las claves y valores de cadena y elimina cualquier coma final.

✗ Incorrecto
{'PORT': 8080,}
✓ Correcto
{"PORT": 8080}

Esperar estructura anidada en el .env

Los objetos y arreglos anidados no se pueden representar de forma nativa en un archivo .env plano. La herramienta los serializa a cadenas JSON y te avisa, pero el valor se convierte en una única cadena opaca. Si necesitas conservar la estructura, convierte a YAML en lugar de .env.

✗ Incorrecto
{"DB": {"host": "localhost", "port": 5432}}
✓ Correcto
{"DB_HOST": "localhost", "DB_PORT": 5432}

Claves que no son nombres de variable válidos

La mayoría de shells y cargadores solo aceptan nombres de variable que coincidan con [A-Za-z_][A-Za-z0-9_]*: una clave que empieza con un dígito o contiene espacios o guiones no es válida. Con las claves mantenidas textualmente la herramienta te avisa de tales claves; Normalizar claves corrige mayúsculas y guiones pero no puede rescatar un nombre que empieza con un dígito, así que renombra esas claves en tu JSON.

✗ Incorrecto
{"2fa-enabled": true}
✓ Correcto
{"TWO_FA_ENABLED": true}

Cadenas sin comillas que necesitan comillas

Si escribes el JSON a mano, recuerda que un valor con espacios o un # debe seguir siendo una cadena JSON válida (entre comillas dobles). La herramienta luego lo vuelve a entrecomillar para .env automáticamente. El error es olvidar las comillas JSON en el lado de la entrada, lo que produce un JSON no válido.

✗ Incorrecto
{"MSG": Hello World}
✓ Correcto
{"MSG": "Hello World"}

Casos de uso comunes

Generar .env a partir de una exportación de configuración
Toma una exportación de configuración JSON de una API, un panel de ajustes o un gestor de secretos y conviértela en un archivo .env listo para usar en desarrollo local o un contenedor.
Crear plantillas .env
Construye un objeto JSON que describa las variables que necesita un nuevo servicio, conviértelo a un .env y confirma un .env.example para que tus compañeros sepan exactamente qué claves rellenar.
Conectar herramientas configuradas con JSON a dotenv
Algunas herramientas emiten configuración como JSON mientras que tu entorno de ejecución espera un .env. Convierte la salida JSON al formato dotenv para que ambas mitades del flujo coincidan en las mismas variables.
Producir archivos env de shell cargables con source
Activa el prefijo export para generar un archivo que puedas cargar directamente con source en un shell o un paso de CI, convirtiendo un bloque de configuración JSON en variables de entorno exportadas en un solo pegado.
Configuración de ida y vuelta
Combina esto con el Conversor de .env a JSON para editar la configuración como JSON estructurado y volver a escribirla en .env: el entrecomillado seguro para idas y vueltas garantiza que los valores sobreviven en ambas direcciones.
Normalizar claves de mayúsculas y minúsculas mixtas
Convierte un objeto JSON con claves en camelCase o kebab-case en un .env con nombres de variable coherentes en UPPER_SNAKE_CASE usando la opción Normalizar claves, coincidiendo con las convenciones de variables de entorno.

Detalles técnicos

Entrada solo de objeto con serialización tipada
La entrada se analiza con el JSON.parse() nativo del navegador y debe ser un objeto de nivel superior; los arreglos y escalares se rechazan con un error claro. Cada propiedad de nivel superior se serializa según su tipo: los números y booleanos se escriben sin comillas, null se convierte en un valor vacío (CLAVE=), y las cadenas se escriben directamente salvo que contengan un espacio, salto de línea, # o comilla, en cuyo caso se ponen entre comillas dobles y se escapan para la seguridad en idas y vueltas.
Valores anidados y normalización de claves
Los objetos y arreglos anidados se serializan con un JSON.stringify compacto, se ponen entre comillas dobles y se escapan, con una advertencia que nombra las claves aplanadas. El paso opcional Normalizar claves convierte las claves a UPPER_SNAKE_CASE, resolviendo la mayoría de nombres no válidos; cuando las claves se mantienen textualmente, cualquier clave que no coincida con [A-Za-z_][A-Za-z0-9_]* dispara una advertencia de nombre no válido. Se puede añadir un prefijo export opcional a cada línea.
Basado en el navegador: sin subidas, sin servidor
Todo el procesamiento ocurre por completo en el motor JavaScript de tu navegador; ningún dato JSON se transmite por la red en ningún momento. El serializador está escrito internamente sin dependencias externas, ya que la biblioteca Node dotenv 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 las claves textualmente salvo que necesites convenciones env
Deja Normalizar claves desactivado cuando la aplicación consumidora ya espera los nombres de clave exactos de tu JSON, para que nada se renombre inesperadamente. Actívalo solo cuando quieras específicamente la convención UPPER_SNAKE_CASE que las variables de entorno usan por convención.
Aplana el anidamiento de forma intencionada, no accidental
Un valor anidado se convierte en una cadena JSON opaca en el .env, que la mayoría de aplicaciones no pueden analizar de vuelta automáticamente. Cuando veas la advertencia de aplanamiento, es preferible reorganizar el JSON en claves planas con prefijo (DB_HOST, DB_PORT) antes de convertir, o elegir un formato estructurado como YAML.
Confía en el entrecomillado automático para las idas y vueltas
Deja que la herramienta decida cuándo entrecomillar: pone entre comillas dobles y escapa solo los valores que lo necesitan. Esto mantiene el .env legible al tiempo que garantiza que los valores con espacios, saltos de línea o # sobrevivan sin cambios a una ida y vuelta de regreso por el Conversor de .env a JSON.
Genera secretos solo en una herramienta exclusiva del navegador
El JSON que conviertes aquí es en la práctica un conjunto de credenciales. Genera un .env solo en una herramienta que se ejecute por completo en el navegador; verifica cero peticiones de red en las DevTools. Este conversor cumple, a diferencia de los generadores del lado del servidor o respaldados por API.
Valida primero la entrada JSON
Si el JSON está escrito a mano o ensamblado por un script, valídalo primero con el Formateador JSON para detectar comas finales o claves sin comillas, así obtienes un .env limpio en lugar de un confuso error de análisis.

Preguntas frecuentes

¿Cómo convierto JSON a un archivo .env en línea?
Pega un objeto JSON en el campo de entrada de arriba. La herramienta genera un archivo .env al instante en tu navegador, sin necesidad de pulsar ningún botón. Cada propiedad de nivel superior se convierte en una línea CLAVE=VALOR. Opcionalmente puedes normalizar las claves a UPPER_SNAKE_CASE o añadir un prefijo export desde el panel de Opciones, y luego pulsar Copiar para obtener el resultado o Descargar para guardarlo como archivo .env. Todo se ejecuta localmente, así que tus secretos nunca salen de tu dispositivo.
¿Qué tipo de JSON acepta?
La entrada debe ser un objeto JSON (un conjunto de pares clave/valor en el nivel superior), porque un archivo .env es fundamentalmente una lista plana de variables. Un arreglo de nivel superior o un escalar suelto como una cadena o un número no se pueden asignar a variables de entorno, por lo que la herramienta informa de un error pidiendo un objeto. Un JSON no válido también produce un error con números de línea y columna aproximados para que localices el problema rápidamente.
¿Cómo se escriben las cadenas, los números, los booleanos y null?
Los números y booleanos se escriben sin comillas (PORT=8080, DEBUG=true). Un valor null se convierte en una asignación vacía (CLAVE=), que dotenv carga como una cadena vacía. Las cadenas simples se escriben tal cual, pero una cadena que contiene espacios, un salto de línea, un # o una comilla se envuelve automáticamente en comillas dobles y se escapa para que se analice de vuelta correctamente. Esto significa que la salida hace una ida y vuelta limpia a través del analizador dotenv y de nuestro conversor complementario .env a JSON.
¿Qué ocurre con los objetos y arreglos anidados?
Los archivos .env no pueden representar anidamiento: cada variable es una cadena plana. Cuando un valor es un objeto o arreglo anidado, la herramienta lo serializa a una cadena JSON compacta con JSON.stringify, la envuelve en comillas dobles y la escapa. Una advertencia no bloqueante enumera exactamente qué claves se aplanaron de este modo, así que siempre sabes que la estructura se colapsó. Si tus datos están profundamente anidados, un formato como JSON a YAML conserva la jerarquía mucho mejor de lo que puede hacerlo .env.
¿Qué hace la opción Normalizar claves?
De forma predeterminada las claves JSON originales se mantienen exactamente como están escritas, así que no se pierde ningún dato; y en ese modo cualquier clave que aún no sea un nombre válido de variable de entorno (la mayoría de shells y cargadores solo aceptan nombres que coincidan con [A-Za-z_][A-Za-z0-9_]*) se marca con una advertencia para que la renombres. Con Normalizar claves activado, las claves se convierten a UPPER_SNAKE_CASE —el estilo convencional para las variables de entorno (databaseUrl se convierte en DATABASE_URL, enable-signup se convierte en ENABLE_SIGNUP)—, lo que resuelve la mayoría de nombres no válidos automáticamente.
¿Se envían mis datos JSON a un servidor?
No. Toda la conversión ocurre por completo en tu navegador con JavaScript. El JSON que pegas —que a menudo guarda claves API, credenciales de bases de datos y tokens que estás a punto de escribir en un .env— 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 no genera ninguna petición. Eso es lo que hace seguro generar un .env de producción real, no solo una muestra.

Herramientas relacionadas

Ver todas las herramientas →