.env ↔ JSON Converter

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand .env ↔ JSON Converter

Este conversor convierte un archivo .env en un objeto JSON y un objeto JSON de nuevo en líneas de .env.

How it works

Al leer un archivo .env, cada línea se divide por su primer signo =, se omiten las líneas en blanco y las que empiezan por #, y se retira una capa de comillas circundantes coincidentes del valor. Todos los valores llegan como cadenas JSON porque .env no tiene tipos, así que PORT=3000 pasa a ser "3000" y no 3000. En sentido contrario, los objetos JSON anidados se aplanan con un doble guion bajo — {"db":{"host":"localhost"}} pasa a db__host=localhost — y cualquier valor que contenga un espacio, un = o un # se entrecomilla.

When to use it

  • Trasladar los ajustes locales de .env a una plataforma de despliegue o a un almacén de secretos de CI que acepte JSON.
  • Leer un archivo .env largo como datos estructurados para poder compararlo con otro entorno.
  • Producir un archivo .env a partir de un bloque de configuración JSON que le entregó un servicio.
  • Comprobar si un valor que contiene espacios o un # está entrecomillado como usted suponía.

Watch out for

  • Todos los valores son cadenas. Si su código espera un número o un booleano desde el lado JSON, conviértalo allí: "false" es una cadena verdadera.
  • El anidamiento se aplana con un doble guion bajo, no con un punto. Un objeto JSON {db:{host:x}} se convierte en DB__HOST=x, porque el punto no es portable entre shells y cargadores. Al convertir de vuelta, el anidamiento se reconstruye con ese mismo separador.
  • Los comentarios solo funcionan en su propia línea. PORT=3000 # dev conserva "3000 # dev" como valor, que es también como se comportan varios cargadores de .env.
  • Las referencias a variables no se expanden: ${DB_HOST} se queda como texto literal.

Not the right tool for: Manejar credenciales de producción reales. Todo se ejecuta en su navegador y no se sube nada, pero un archivo lleno de claves reales sigue sin deber pegarse en una pestaña que quizá comparta por pantalla.

Frequently Asked Questions

¿Qué sintaxis de .env se admite?

Pares CLAVE=valor, valores entre comillas simples o dobles, líneas de comentario con #, líneas en blanco y la forma export CLAVE=valor que se usa en archivos cargados desde el shell. El prefijo export se elimina de la clave. Los valores se toman literalmente: las referencias ${VAR} no se expanden y las comillas circundantes se quitan.

¿Cómo se representan los objetos anidados en .env?

Este conversor usa un doble guion bajo. Un JSON anidado como {"DB":{"HOST":"localhost"}} pasa a DB__HOST=localhost, el separador que ya entienden ASP.NET Core, Symfony y muchas configuraciones de Docker. En sentido contrario no se reconstruye el anidamiento: DB__HOST sigue siendo una clave plana, porque .env no tiene un concepto nativo de anidamiento.

¿Cuándo conviene convertir .env a JSON?

Es útil al desplegar en sistemas que consumen configuración en JSON (el entorno de AWS Lambda, algunas plataformas de CI/CD), al usar bibliotecas que leen archivos de configuración JSON (cosmiconfig) o al compartir configuración con herramientas que no saben analizar la sintaxis de .env.

How to Use .env ↔ JSON Converter

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.