Skip to content

Conversor de .env para JSON

Cole um arquivo .env e obtenha JSON na hora. Suas senhas, chaves de API e tokens nunca saem do navegador — 100% privado, sem upload, analisador dotenv grátis.

Sem rastreamento Roda no navegador Grátis
Opções · 2 espaços · strings
Indentação
0 caracteres
JSON Saída
0 linhas
Revisado quanto à compatibilidade de análise do dotenv, ao tratamento de aspas e escapes e ao comportamento de chaves duplicadas — Go Tools Engineering Team · Jun 12, 2026

O que é um arquivo .env?

Um arquivo .env (arquivo dotenv) é uma lista em texto puro de pares KEY=VALUE usada para manter configuração e segredos fora do código-fonte. É o padrão de fato para variáveis de ambiente em Node.js, Vite, Next.js, Python, Ruby, Docker Compose e quase todo framework moderno — a biblioteca dotenv e seus ports carregam o arquivo e injetam cada par no ambiente do processo. Como o arquivo costuma conter senhas de banco de dados, chaves de API, segredos de cliente OAuth e tokens de acesso, ele quase sempre é ignorado pelo git e tratado como sensível.

Converter um arquivo .env para JSON é uma tarefa frequente: você precisa alimentar uma ferramenta que lê JSON com configuração, validá-la contra um JSON Schema, importá-la para um gerenciador de segredos, gerar objetos de configuração tipados ou simplesmente inspecionar um .env longo de relance como dados estruturados. Este conversor transforma a lista plana de pares em um único objeto JSON, uma propriedade por chave.

Esta ferramenta é construída em torno de algumas decisões deliberadas:

**1. Strings por padrão, tipos sob demanda.** O dotenv nunca converte tipos — em tempo de execução todo valor de process.env é uma string. A saída padrão respeita isso exatamente, então o JSON corresponde ao que sua aplicação realmente vê. Quando você quer um JSON tipado, a opção Inferir tipos promove números, booleanos e valores null sem aspas, enquanto valores entre aspas permanecem strings porque as aspas são um sinal explícito.

**2. Análise fiel do dotenv.** Comentários, linhas em branco, o prefixo export, aspas simples vs. duplas, sequências de escape, valores multilinha entre aspas duplas e comentários inline em valores sem aspas são todos tratados da forma como a biblioteca dotenv os trata — sem surpresas quando você compara o JSON com o que sua aplicação carrega.

**3. Segurança de chaves duplicadas.** Quando uma chave é definida duas vezes, o valor posterior vence, e um aviso informa quais chaves foram duplicadas para que um segredo acidentalmente sombreado nunca passe despercebido.

**4. Privacidade 100% no navegador.** Seus dados .env nunca saem do navegador. Não há upload, nem ida e volta ao servidor, nem log — você pode verificar zero requisições de rede na aba Rede do DevTools. Essa é a única forma responsável de converter um .env real online, já que o arquivo é essencialmente uma lista de credenciais.

Depois de converter, você pode formatar ou validar o resultado com o Formatador JSON, fazer o escape dele para embuti-lo em outra string com o Escape JSON, ou seguir o caminho inverso com o Conversor de JSON para .env que o acompanha. Se sua configuração estiver em YAML, experimente o YAML para JSON.

// Parse a .env file to a JSON object in Node.js using dotenv
import { parse } from 'dotenv';

const envText = `# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DEBUG=true`;

// dotenv.parse returns a plain object of string values
const parsed = parse(envText);

// Every value is a string, just like process.env
const json = JSON.stringify(parsed, null, 2);

console.log(json);
// {
//   "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
//   "DEBUG": "true"
// }

Recursos principais

Análise fiel do dotenv

Trata comentários, o prefixo export, aspas simples e duplas, sequências de escape (\n \t \r \\ \"), valores multilinha entre aspas duplas e comentários inline — exatamente como a biblioteca dotenv faz.

Strings por padrão, tipos sob demanda

Os valores são strings JSON por padrão para corresponder ao comportamento do dotenv em tempo de execução. Ative Inferir tipos para promover números, booleanos e valores null sem aspas; valores entre aspas sempre permanecem strings.

Avisos de chaves duplicadas

Se uma chave é definida duas vezes, o último valor vence (comportamento do dotenv) e um aviso lista cada chave duplicada, para que um segredo silenciosamente sobrescrito não passe despercebido.

Conversão ao vivo

A saída JSON é atualizada na hora conforme você digita ou cola. Entradas grandes (acima de 200KB) mudam automaticamente para o modo manual, com um botão Converter para manter o navegador responsivo.

Indentação de 2 ou 4 espaços

Alterne entre indentação de 2 e 4 espaços na saída JSON para combinar com o estilo do seu código ou com as ferramentas seguintes.

Privacidade 100% no navegador

Toda a análise roda localmente no seu navegador. Seus dados .env — senhas de banco de dados, chaves de API, tokens — nunca são enviados, nunca são registrados em log e nunca são armazenados em nenhum servidor.

Exemplos

Node / Vite .env

# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DATABASE_POOL_SIZE=10

# Auth
JWT_SECRET="super secret value"
SESSION_TIMEOUT=3600

# Feature flags
ENABLE_SIGNUP=true
VITE_API_BASE=https://api.example.com
{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "DATABASE_POOL_SIZE": "10",
  "JWT_SECRET": "super secret value",
  "SESSION_TIMEOUT": "3600",
  "ENABLE_SIGNUP": "true",
  "VITE_API_BASE": "https://api.example.com"
}

Um arquivo .env típico de Node.js / Vite. Por padrão, todo valor vira uma string JSON (o padrão do dotenv). Linhas de comentário e linhas em branco são ignoradas. Ative Inferir tipos se quiser que 10 → número e true → booleano.

Ambiente do Docker Compose

POSTGRES_DB=mydb
POSTGRES_USER=admin
POSTGRES_PASSWORD=s3cr3t!
PGDATA=/var/lib/postgresql/data
TZ=UTC
NGINX_HOST=example.com
NGINX_PORT=80
{
  "POSTGRES_DB": "mydb",
  "POSTGRES_USER": "admin",
  "POSTGRES_PASSWORD": "s3cr3t!",
  "PGDATA": "/var/lib/postgresql/data",
  "TZ": "UTC",
  "NGINX_HOST": "example.com",
  "NGINX_PORT": "80"
}

Transforme o env_file que sua stack do Docker Compose lê em JSON para carregá-lo em um script, em um validador de configuração ou em um gerenciador de segredos. Nada é enviado — seguro para credenciais reais.

Modelo de segredos de CI com prefixo export

export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_REGION=us-east-1
export DEPLOY_ENV=production
{
  "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
  "AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "AWS_REGION": "us-east-1",
  "DEPLOY_ENV": "production"
}

Arquivos .env no estilo shell costumam prefixar cada linha com export para que possam ser carregados via source. O analisador remove o prefixo export automaticamente e entrega chaves JSON limpas.

Caso .env complexo: aspas, escapes, multilinha e comentários inline

APP_NAME=My App                 # unquoted value, inline comment stripped
GREETING="Hello,\nWorld"        # double quotes: \n becomes a real newline
LITERAL='no \n escapes here'    # single quotes: kept literally
PRIVATE_KEY="-----BEGIN KEY-----
line two
line three
-----END KEY-----"
EMPTY=
{
  "APP_NAME": "My App",
  "GREETING": "Hello,\nWorld",
  "LITERAL": "no \\n escapes here",
  "PRIVATE_KEY": "-----BEGIN KEY-----\nline two\nline three\n-----END KEY-----",
  "EMPTY": ""
}

Mostra todos os casos limite do dotenv de uma vez: comentários inline em valores sem aspas são removidos, valores entre aspas duplas processam os escapes \n \t \r \\ \", valores entre aspas simples são mantidos literalmente, e um valor entre aspas duplas pode abranger várias linhas até a aspa de fechamento (útil para chaves PEM).

Como usar

  1. 1

    Cole seu arquivo .env

    Digite ou cole o conteúdo do seu .env no campo de entrada acima. Você também pode clicar em 'Carregar exemplo' para experimentar um .env de Node/Vite, um arquivo env do Docker Compose ou um modelo de segredos de CI.

  2. 2

    Veja a saída JSON ao vivo

    O JSON aparece na hora no painel de saída. Alterne 'Inferir tipos' se quiser números e booleanos em vez de strings, e escolha indentação de 2 ou 4 espaços.

  3. 3

    Copie ou baixe

    Clique em Copiar para pegar o JSON na área de transferência, ou em Baixar para salvá-lo como um arquivo .json — pronto para um carregador de configuração, um gerenciador de segredos ou qualquer ferramenta que leia JSON.

Armadilhas comuns do .env

Sinal de = ausente em uma linha

Toda linha não comentada e não vazia precisa ser um par KEY=VALUE. Uma linha sem sinal de = não pode ser analisada e a ferramenta reporta um erro com o número da linha. Uma chave sem valor deve ser escrita como KEY= (valor vazio).

✗ Incorreto
DATABASE_URL
DEBUG true
✓ Correto
DATABASE_URL=
DEBUG=true

Espaços ao redor do sinal de =

O dotenv divide no primeiro = sem espaços ao redor. Escrever KEY = value torna a chave 'KEY ' (com um espaço à direita) e o valor ' value' (com um espaço à esquerda). Remova os espaços ou coloque o valor entre aspas se ele precisar conter espaço inicial.

✗ Incorreto
API_KEY = abc123
✓ Correto
API_KEY=abc123

Valor sem aspas devorado por um comentário inline

Em um valor sem aspas, um espaço seguido de # inicia um comentário inline e tudo depois dele é descartado. Se seu valor contém legitimamente um #, coloque o valor entre aspas para que o # seja preservado.

✗ Incorreto
COLOR=#ff0000
✓ Correto
COLOR="#ff0000"

Esperar escapes dentro de aspas simples

Valores entre aspas simples são literais — \n permanece como uma barra invertida e um n, não vira uma quebra de linha. Use aspas duplas quando quiser que sequências de escape como \n, \t ou \" sejam processadas.

✗ Incorreto
GREETING='Hello\nWorld'
✓ Correto
GREETING="Hello\nWorld"

Aspa dupla não fechada em um valor multilinha

Um valor entre aspas duplas pode abranger várias linhas, mas precisa ser fechado com uma aspa dupla correspondente. Se a aspa de fechamento faltar, o analisador continua consumindo linhas até o fim do arquivo. Garanta que segredos multilinha como chaves PEM terminem com uma aspa de fechamento.

✗ Incorreto
KEY="-----BEGIN-----
line two
✓ Correto
KEY="-----BEGIN-----
line two
-----END-----"

Chaves duplicadas sobrescritas silenciosamente

Se a mesma chave aparece duas vezes, o último valor vence e o anterior é perdido. A ferramenta avisa você, mas a correção mais limpa é remover a duplicata para que o valor pretendido seja inequívoco.

✗ Incorreto
PORT=3000
PORT=8080
✓ Correto
PORT=8080

Casos de uso comuns

Alimentar configuração em ferramentas baseadas em JSON
Converta um arquivo .env para JSON para carregar a configuração de ambiente em ferramentas, scripts e SDKs que leem JSON em vez de variáveis de ambiente — validadores de configuração, verificadores de schema e geradores de código.
Importar segredos para um gerenciador
Muitos gerenciadores de segredos (AWS Secrets Manager, Vault, Doppler) aceitam JSON para importação em massa. Converta um arquivo .env para um objeto JSON primeiro e depois envie o conjunto inteiro de uma vez, em vez de uma variável por vez.
Inspecionar um .env longo de relance
Transforme um arquivo .env extenso em JSON estruturado e indentado para escanear chaves, identificar duplicatas pelo aviso e revisar a configuração em um formato legível antes de confirmar mudanças.
Gerar objetos de configuração tipados
Ative Inferir tipos para obter números, booleanos e null no JSON, e depois alimente-o em uma camada de configuração tipada ou em uma etapa de JSON para TypeScript para derivar uma interface para suas variáveis de ambiente.
Validar contra um JSON Schema
Converta o .env para JSON e passe-o por um validador de JSON Schema para impor chaves obrigatórias, formatos de valor e enums permitidos no CI — pegando ambientes mal configurados antes do deploy.
Migrar configuração env_file do Docker Compose
Transforme o env_file que sua stack do Compose lê em JSON para uso em outra ferramenta de orquestração, um servidor de configuração ou documentação — sem expor credenciais reais a nenhum serviço externo.

Detalhes técnicos

Análise compatível com dotenv linha a linha
A entrada é analisada linha a linha. Linhas em branco e linhas de comentário (primeiro caractere não em branco #) são ignoradas, um prefixo opcional export é removido, e cada linha restante é dividida no primeiro = em chave e valor. As chaves têm os espaços ao redor removidos. Os valores seguem as regras do dotenv: aspas duplas processam os escapes \n \t \r \\ \" e permitem trechos multilinha, aspas simples são literais, e valores sem aspas removem espaços à direita e comentários inline.
Inferência opcional de tipos
Por padrão, todos os valores são emitidos como strings JSON, correspondendo ao comportamento do dotenv em tempo de execução, onde os valores de process.env são sempre strings. Com Inferir tipos ativado, valores sem aspas são promovidos: strings numéricas viram números JSON, true/false viram booleanos, e valores vazios ou null viram null JSON. Valores entre aspas nunca são inferidos — as aspas os marcam como strings explícitas. Chaves duplicadas resolvem com último-vence e um aviso.
Baseado no navegador — sem upload, sem servidor
Todo o processamento acontece inteiramente no motor JavaScript do seu navegador; nenhum dado .env é transmitido pela rede em momento algum. Não há dependências externas porque o analisador é escrito internamente — a biblioteca Node dotenv depende do sistema de arquivos e não é segura no navegador. Entradas maiores que 200KB mudam do modo ao vivo para o modo manual (um clique explícito em Converter) para manter o navegador responsivo.

Boas práticas

Mantenha a saída de string padrão para corresponder ao dotenv
O dotenv carrega todo valor como string, então a saída de string padrão reflete exatamente o que sua aplicação vê em tempo de execução. Ative Inferir tipos apenas quando o consumidor seguinte genuinamente espera um JSON tipado — caso contrário, você corre o risco de uma incompatibilidade em que '0' ou 'false' se comporta de forma diferente no JSON e na sua aplicação em execução.
Coloque entre aspas valores que contenham # ou espaços
Em valores sem aspas, um espaço seguido de # inicia um comentário inline, e o espaço à direita é removido. Se um valor contém legitimamente um # (cores hexadecimais, URLs com fragmento) ou espaços significativos, coloque-o entre aspas duplas para que seja preservado literalmente no JSON.
Resolva chaves duplicadas na origem
A ferramenta mantém o último valor e avisa você quando uma chave é duplicada, mas uma duplicata em um arquivo .env quase sempre é um erro. Remova a linha redundante para que não haja ambiguidade sobre qual segredo está ativo.
Nunca cole segredos de produção em conversores do lado do servidor
Como um arquivo .env é efetivamente uma lista de credenciais, só o converta em uma ferramenta que roda inteiramente no navegador. Este conversor faz isso — verifique zero requisições de rede no DevTools — então ele é seguro para segredos reais, ao contrário de conversores do lado do servidor ou baseados em API.
Valide o JSON antes de usá-lo adiante
Depois de converter, passe o JSON pelo Formatador JSON para confirmar a estrutura antes de alimentá-lo em um validador de schema, em uma importação de gerenciador de segredos ou em um carregador de configuração, para que uma surpresa estrutural apareça cedo.

Perguntas frequentes

Como converter um arquivo .env para JSON online?
Cole o conteúdo do seu arquivo .env no campo de entrada acima. A ferramenta analisa para JSON na hora, no seu navegador — sem precisar clicar em nenhum botão. Cada linha KEY=VALUE vira uma propriedade JSON. Você pode escolher indentação de 2 ou 4 espaços no painel de Opções e depois clicar em Copiar para pegar o JSON ou em Baixar para salvá-lo como um arquivo .json. Tudo roda localmente, então seus segredos nunca saem do seu dispositivo.
Os valores são convertidos em números e booleanos ou mantidos como strings?
Por padrão, todo valor é mantido como string, exatamente como manda o padrão do dotenv. O próprio dotenv nunca converte tipos — os valores de process.env são sempre strings — então esse padrão mantém o JSON fiel ao que sua aplicação realmente vê em tempo de execução. Se preferir um JSON tipado, ative a opção Inferir tipos. Com ela ativada, valores sem aspas que parecem números viram números JSON, true e false viram booleanos, e um valor vazio ou null vira null JSON. Valores entre aspas são sempre mantidos como strings, mesmo com Inferir tipos ativado, porque as aspas sinalizam uma string explícita.
O que acontece se a mesma chave aparecer duas vezes no meu arquivo .env?
Seguindo o comportamento do dotenv, a última ocorrência vence — o valor posterior sobrescreve o anterior. Como um valor silenciosamente descartado é uma fonte comum de configuração incorreta, a ferramenta também mostra um aviso não bloqueante listando exatamente quais chaves foram duplicadas, para que você confirme qual valor acabou no JSON. A saída continua sendo um objeto JSON válido com uma entrada por chave.
Como aspas, escapes e valores multilinha são tratados?
Valores entre aspas duplas processam sequências de escape: \n vira uma quebra de linha, \t uma tabulação, \r um retorno de carro, \\ uma barra invertida e \" uma aspa dupla literal. Um valor entre aspas duplas também pode abranger várias linhas até a aspa de fechamento — prático para chaves privadas PEM e certificados. Valores entre aspas simples são tratados literalmente, sem processamento de escapes, assim como no shell. Valores sem aspas vão até o fim da linha, com espaços em branco à direita removidos e comentários inline retirados (um espaço seguido de # inicia um comentário). Isso corresponde à forma como a biblioteca dotenv analisa arquivos.
Este analisador é consistente com a biblioteca dotenv?
Sim. As regras de análise seguem as convenções amplamente usadas do dotenv: linhas de comentário # e linhas em branco são ignoradas, o prefixo opcional export é removido, as chaves são divididas no primeiro sinal de =, aspas simples são literais, aspas duplas processam escapes e permitem valores multilinha, valores sem aspas removem os espaços ao redor e à direita, e todos os valores são strings por padrão. A opção Inferir tipos é uma conveniência extra sobreposta — está desativada por padrão justamente para que a saída corresponda ao que o dotenv carregaria.
Ele consegue lidar com configuração aninhada ou agrupada?
Arquivos .env são intencionalmente planos — uma lista de pares chave/valor sem aninhamento. Este conversor produz um único objeto JSON plano que espelha essa estrutura um para um. Se sua aplicação lê configuração agrupada (por exemplo DB_HOST e DB_PORT), as chaves permanecem planas no JSON; você pode remodelá-las depois no código. Se precisar de estruturas realmente aninhadas, um formato como YAML para JSON é mais adequado, e você pode formatar o resultado com o Formatador JSON.
Meus dados .env são enviados a um servidor?
Não. Toda a análise acontece inteiramente no seu navegador com JavaScript. O conteúdo do seu .env — que normalmente contém senhas de banco de dados, chaves de API, segredos OAuth e tokens de acesso — nunca é transmitido, nunca é armazenado em nenhum servidor e nunca é registrado em log. Você pode confirmar isso abrindo a aba Rede do navegador e observando que colar o arquivo dispara zero requisições. É isso que torna seguro converter um .env de produção real, e não apenas um exemplo higienizado.

Ferramentas relacionadas

Ver todas as ferramentas →