.env ↔ JSON Converter
Understand .env ↔ JSON Converter
Este conversor transforma um arquivo .env em um objeto JSON e um objeto JSON de volta em linhas .env.
How it works
Ao ler um arquivo .env, cada linha é dividida no primeiro sinal de =, linhas em branco e linhas começando com # são ignoradas, e uma camada de aspas correspondentes em volta é retirada do valor. Todo valor chega como string JSON porque o .env não tem tipos, então PORT=3000 vira "3000" e não 3000. No sentido inverso, objetos JSON aninhados são achatados com um underscore duplo — {"db":{"host":"localhost"}} vira db__host=localhost — e qualquer valor contendo espaço, = ou # recebe aspas.
When to use it
- Mover configurações locais de .env para uma plataforma de deploy ou um cofre de segredos de CI que aceita JSON.
- Ler um .env longo como dados estruturados para poder compará-lo com outro ambiente.
- Produzir um arquivo .env a partir de um bloco de configuração JSON que um serviço entregou.
- Conferir se um valor com espaços ou com # está entre aspas do jeito que você imaginava.
Watch out for
- Todo valor é uma string. Se o seu código espera um número ou um booleano do lado do JSON, converta ali — "false" é uma string verdadeira.
- O aninhamento é achatado com underscore duplo, não com ponto. Um objeto JSON {db:{host:x}} vira DB__HOST=x, porque o ponto não é portável entre shells e carregadores. Ao converter de volta, o aninhamento é reconstruído a partir do mesmo separador.
- Comentários só funcionam em uma linha própria. PORT=3000 # dev mantém "3000 # dev" como valor, que também é como vários carregadores de .env se comportam.
- Referências a variáveis não são expandidas — ${DB_HOST} continua como texto literal.
Not the right tool for: Lidar com credenciais de produção em uso. Tudo aqui roda no seu navegador e nada é enviado, mas um arquivo cheio de chaves reais mesmo assim não deveria ser colado em uma aba que você pode compartilhar em tela.
Frequently Asked Questions
Qual sintaxe de .env é suportada?
Pares CHAVE=valor, valores entre aspas simples ou duplas, linhas de comentário com #, linhas em branco e a forma export CHAVE=valor usada em arquivos carregados pelo shell. O prefixo export é removido da chave. Os valores são tomados literalmente — referências ${VAR} não são expandidas, e as aspas em volta são retiradas.
Como objetos aninhados são representados em .env?
Este conversor usa um underscore duplo. Um JSON aninhado como {"DB":{"HOST":"localhost"}} vira DB__HOST=localhost, o separador que ASP.NET Core, Symfony e muitas configurações de Docker já entendem. No sentido inverso, o aninhamento não é reconstruído: DB__HOST continua uma chave plana, porque o .env não tem conceito nativo de aninhamento.
Quando eu converteria .env para JSON?
É útil ao publicar em sistemas que consomem configuração em JSON (ambiente do AWS Lambda, algumas plataformas de CI/CD), ao usar bibliotecas que leem arquivos de configuração em JSON (cosmiconfig) ou ao compartilhar configuração com ferramentas que não interpretam a sintaxe .env.
How to Use .env ↔ JSON Converter
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.