Conversor de JSON a Env

Convierte un objeto JSON a formato .env CLAVE=VALOR, con aplanado de objetos anidados y reinserción de comentarios. Solo en tu navegador.

Convierte un objeto JSON en líneas .env que dotenv y otros cargadores leen al arrancar la aplicación. Cada ruta anidada se aplana en un nombre con puntos —db.host, por ejemplo—, los arrays quedan como una sola línea de texto JSON y true, false o los números se escriben como texto plano. Si el JSON trae el mapa $comments que genera Env a JSON, esos textos reaparecen como líneas # encima de cada variable. Como todo ocurre en tu navegador, las credenciales que haya en el JSON no salen de tu equipo.

JSON Entrada

Subir

Opciones avanzadasConvertirLimpiar

.env Salida

El resultado aparecerá aquí...

CopiarDescargar

El resultado aparecerá aquí...

Sobre el conversor de JSON a Env

Una variable de entorno solo guarda una cadena plana, así que pasar de JSON a .env es sobre todo una cuestión de nombres. Con el aplanado activado, cada ruta anidada se une con el separador elegido: { "app": { "cache": { "ttl": 60 } } } da app.cache.ttl=60, y la capitalización de cada clave se respeta tal cual viene en el JSON (nada se pasa a mayúsculas). Ojo con las shells: un nombre que contiene un punto no sirve como variable de shell, de modo que si un script va a hacer source del archivo conviene cambiar el separador a guion bajo y obtener app_cache_ttl. Si desactivas el aplanado, los objetos anidados no se despliegan: cada uno se escribe como una única línea de texto JSON a la derecha del signo igual.

También te puede interesar

Env a JSON

Convierte archivos .env a JSON con inferencia de tipos y claves anidadas.

Abrir herramienta

JSON a Properties

Convierte objetos JSON a formato .properties de Java con aplanado de claves con puntos.

Abrir herramienta

Formateador y Validador JSON

Formatear, validar y visualizar datos JSON.

Abrir herramienta

YAML a JSON

Convertir YAML a JSON o JSON a YAML.

Abrir herramienta

Cómo convertir JSON a .env

  1. 1

    Introduce un objeto JSON

    Tiene que ser un objeto, no un array ni un valor suelto. Para probar antes, el icono del matraz carga un ejemplo plano y pequeño con una API key y un puerto.

  2. 2

    Decide cómo se forman los nombres

    En Opciones avanzadas: deja el punto para nombres al estilo dotenv como db.host, cambia a guion bajo si quieres nombres aptos para la shell como db_host, o desactiva el aplanado para que los objetos anidados se queden como texto JSON.

  3. 3

    Genera las variables

    Al pulsar Convertir, cada valor hoja se convierte en una línea NOMBRE=valor siguiendo el orden original de las claves, y las entradas de $comments aparecen como líneas # justo encima de la variable que describen. Los valores con saltos de línea, espacios al principio o al final o un # se escriben entre comillas (el salto de línea queda como \n), de modo que al volver a JSON se leen sin cambios.

  4. 4

    Guarda el .env fuera del repositorio

    Copia el texto o descarga un archivo .env; si contiene credenciales, no lo metas en el control de versiones. Con el icono de cambiar dirección puedes volver a convertirlo en JSON.

Referencias

Herramientas para desarrolladores relacionadas

Preguntas frecuentes sobre JSON a Env

¿Se pasan los nombres de variable a mayúsculas?
No. Cada clave conserva la capitalización que tiene en el JSON: { "db": { "host": "x" } } produce db.host=x, no DB.HOST. En Linux y macOS los nombres de las variables de entorno distinguen mayúsculas de minúsculas, así que escribe las claves del JSON tal y como las lee tu aplicación.
¿Puedo cargar el .env generado con source desde un script de shell?
Solo si todos los nombres son identificadores válidos para la shell: letras, dígitos y guiones bajos, sin empezar por un dígito. dotenv para Node.js lee sin problema nombres con punto como db.host, pero la shell no los interpreta como asignaciones; para archivos que vayas a cargar con source, elige el guion bajo como separador.
¿Qué pasa con los arrays y los objetos anidados?
Con el aplanado activo, cada objeto anidado se reparte en variables separadas con puntos, mientras que un array se guarda entero como una línea de texto JSON, por ejemplo tags=["a","b"]. Con el aplanado desactivado, también los objetos anidados se conservan completos como texto JSON.
¿En qué se convierten true, false y los números?
En texto, porque un .env no tiene tipos: se escribe true, false o la cifra tal cual. Al recorrer el camino inverso, Env a JSON los recupera como booleanos y números de verdad si tiene activada la inferencia de tipos.
¿Se generan comentarios en el .env?
Sí, cuando el JSON incluye un objeto $comments como el que produce Env a JSON: cada entrada se escribe como una línea # sobre la variable correspondiente. Si prefieres líneas NOMBRE=valor sin más, pon Comentarios en "Ignorar" dentro de Opciones avanzadas.
¿Mi JSON se envía a algún servidor?
No. La conversión se ejecuta localmente en el navegador, algo importante cuando el .env va a contener claves de API o contraseñas de base de datos.
¿Por qué aparece un error de nombre de variable no válido?
Un nombre vacío o que contiene espacios, =, :, #, comillas o una barra invertida no se puede volver a leer desde un archivo .env, así que la conversión se detiene e indica esa clave en lugar de escribir una línea rota. Cambia el nombre de la clave en el JSON o elige otro separador si fue el separador el que introdujo el carácter.