Conversor de .env a JSON
Convierte el contenido de un archivo .env a JSON con inferencia de tipos, claves anidadas y los comentarios # que acompañan a cada variable. Solo en tu navegador.
Pega el contenido de un .env y obtén JSON al momento, sin salir del navegador. Por defecto se detectan números y booleanos (DEBUG=true pasa a ser un booleano real, no la cadena "true"), las claves con puntos como DB.HOST se transforman en objetos anidados y el comentario # escrito justo encima de una variable pasa a un campo $comments asociado a ella. Cualquiera de esas opciones se puede apagar, y el archivo no se sube a ningún servidor.
Sobre el conversor de .env a JSON
Un .env no es más que texto NOMBRE=valor: cómodo de escribir a mano, incómodo cuando el código espera configuración estructurada. El analizador entiende la sintaxis habitual —comentarios con #, valores entre comillas, separadores = y :— y devuelve un objeto JSON que puedes meter en un cargador de configuración, en un fixture de tests o en una sesión de depuración. Tres interruptores deciden el resultado: la inferencia de tipos convierte en tipos JSON reales las cadenas que son números o booleanos, el anidado por puntos transforma FEATURE.CACHE.TTL en { "FEATURE": { "CACHE": { "TTL": ... } } }, y el tratamiento de comentarios conserva o descarta las líneas # que documentaban el archivo.
También te puede interesar
Cómo convertir .env a JSON
- 1
Pega las variables
Copia el .env en el panel de entrada o usa el icono del matraz para cargar un ejemplo con un comentario, un número y un booleano. Se admiten líneas que empiezan por export, = o : entre nombre y valor, y valores entre comillas simples o dobles.
- 2
Configura tipos, anidado y comentarios
En Opciones avanzadas activas o desactivas Inferir tipos, Claves con puntos → anidadas (con su separador) y si los comentarios se guardan como $comments o se ignoran. De serie vienen las tres cosas activadas: tipos inferidos, claves anidadas y comentarios conservados.
- 3
Analiza el archivo
Al pulsar Convertir se recorre cada línea NOMBRE=valor en orden: se descarta un export inicial y se elimina el comentario # que sigue al valor; un # dentro de comillas o justo después del signo igual sigue formando parte del valor. Se quitan las comillas exteriores: dentro de comillas dobles, \n y \" pasan a ser un salto de línea y una comilla, el texto entre comillas simples se conserva tal cual y un valor entre comillas puede ocupar varias líneas. Las líneas # situadas justo encima de una variable se asocian a ella, y si después cambias una opción, el resultado se recalcula al instante.
- 4
Llévate el JSON
Cópialo con el icono de copiar o descárgalo como .json. Para el camino inverso, el icono de cambiar dirección te lleva a JSON a Env.
Referencias
- The Twelve-Factor App — Config
La metodología ampliamente citada que popularizó guardar la configuración en variables de entorno, la convención sobre la que se construyen los archivos .env.
- dotenv (motdotla) — README
La implementación de referencia y especificación de facto de la sintaxis de archivos .env: líneas CLAVE=VALOR, comentarios con # y valores entre comillas.
- RFC 8259 — The JSON Data Interchange Format
La especificación del IETF para el formato JSON que genera esta herramienta.
Herramientas para desarrolladores relacionadas
JSON a Env
Convierte un objeto JSON de vuelta a formato .env CLAVE=VALOR, con aplanado de claves con puntos y reinserción de comentarios.
Properties a JSON
Convierte un archivo .properties de Java a JSON y guarda los comentarios de cada clave en un mapa $comments.
Formateador de JSON
Pega JSON sin formato y obtén al instante una vista formateada, con resaltado de sintaxis y validada.
YAML a JSON
Convierte archivos de configuración YAML a JSON y viceversa, otro par de formatos de configuración habitual.
Preguntas frecuentes sobre Env a JSON
- ¿Qué líneas de un .env entiende el analizador?
- Líneas NOMBRE=valor o con : como separador, con o sin export delante, comentarios que empiezan por # y valores entre comillas simples o dobles. De un valor entrecomillado se quita solo el par de comillas exterior; las comillas internas se respetan.
- ¿Se mantienen los comentarios del .env?
- Los que describen una variable, sí: una o varias líneas # inmediatamente encima de NOMBRE=valor van a $comments bajo esa clave. Un título de sección seguido de una línea vacía no se asocia a ninguna variable y no aparece en el JSON; las líneas vacías tampoco se registran. Para descartarlos todos, elige "Ignorar" en Comentarios dentro de Opciones avanzadas.
- ¿Por qué PORT=007 sigue siendo texto?
- Con Inferir tipos activado (el valor por defecto), solo true y false exactos pasan a booleanos y solo los decimales simples como 5432 pasan a números. Un valor que cambiaría al volver a escribirlo, como 007 o 1.0, se queda como cadena. Si desactivas la inferencia, todo se mantiene como texto.
- ¿Cómo convierto DB.HOST en un objeto anidado?
- Deja activada "Claves con puntos → anidadas" (separador por defecto "."): APP.CACHE.TTL=60 se convierte en { "APP": { "CACHE": { "TTL": 60 } } }. Si la desactivas, la clave con puntos se conserva plana, tal como está.
- ¿Y si una variable es a la vez valor y padre?
- Si el archivo define APP=1 y también APP.PORT=80 con el anidado activo, la conversión se detiene con un error de conflicto de claves en lugar de perder uno de los dos valores en silencio. Desactiva el anidado para conservar ambas como claves planas.
- ¿Qué aporta tener el .env en JSON?
- Un .env es una lista plana de pares pensada para las variables de entorno del proceso (el enfoque de configuración que describe The Twelve-Factor App); JSON, en cambio, admite estructura anidada y tipos nativos. Convertirlo te permite revisar o comparar los valores como datos estructurados, o pasarlos a herramientas que solo aceptan JSON.
- ¿Mis secretos viajan a un servidor?
- No. Todo el análisis se hace con JavaScript en tu navegador y el contenido del archivo no se envía por la red, algo clave porque un .env suele guardar claves de API y credenciales de base de datos.