.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 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

  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.