Conversor de JSON para Env
Converta um objeto JSON para o formato .env CHAVE=VALOR, com achatamento de objetos aninhados e reinserção de comentários. Roda só no navegador.
Transforme um objeto JSON em linhas NOME=valor que o dotenv e carregadores parecidos leem quando a aplicação sobe. Objetos aninhados viram nomes com ponto, como db.host; um array fica numa única linha com o próprio texto JSON; true, false e números saem como texto puro. Se o JSON trouxer o mapa $comments criado pelo Env to JSON, cada entrada volta a ser uma linha # em cima da variável. Tudo roda no navegador, então os segredos do seu JSON não saem da sua máquina.
Sobre o Conversor de JSON para Env
Variável de ambiente só guarda string plana, então gerar um .env a partir de JSON é, no fundo, decidir como nomear cada valor. Com o achatamento ligado, o caminho de cada chave aninhada é unido pelo separador: { "app": { "cache": { "ttl": 60 } } } resulta em app.cache.ttl=60, e maiúsculas e minúsculas ficam exatamente como foram escritas no JSON — nada é passado para caixa alta. O shell não aceita ponto no nome de uma variável; por isso, se um script for carregar o arquivo com source, troque o separador por underscore (app_cache_ttl). Com o achatamento desligado, o objeto aninhado não é expandido: ele aparece inteiro, como uma linha de texto JSON depois do sinal de igual.
Talvez você também precise
Como converter JSON para .env
- 1
Insira um objeto JSON
Cole no painel de entrada um objeto — não um array nem um valor solto — ou clique no ícone do frasco para carregar um exemplo pequeno e plano, com uma chave de API e uma porta.
- 2
Decida como os nomes serão montados
Nas opções avançadas: deixe o ponto se quem lê o arquivo é o dotenv (db.host), use underscore para nomes que o shell aceita (db_host) ou desative o achatamento para manter cada objeto aninhado como uma linha JSON.
- 3
Gere as variáveis
Ao clicar em Converter, cada valor-folha vira uma linha NOME=valor, na mesma ordem das chaves do JSON, e as entradas de $comments aparecem como linhas # logo acima da variável que descrevem. Valores com quebra de linha, espaços no início ou no fim ou um # vão entre aspas (a quebra de linha vira \n), para voltarem idênticos quando convertidos de novo para JSON.
- 4
Guarde o .env fora do Git
Copie o texto ou baixe o arquivo .env; se ele contiver credenciais, deixe-o fora do controle de versão. O ícone de inverter direção leva o conteúdo de volta para JSON.
Referências
- The Twelve-Factor App — Config
A metodologia por trás de guardar configuração como variáveis de ambiente, que o formato de saída deste conversor segue.
- dotenv (motdotla) — README
A implementação de referência para a sintaxe de arquivos .env, descrevendo como pares CHAVE=VALOR e comentários costumam ser escritos.
- RFC 8259 — The JSON Data Interchange Format
A especificação do IETF para o formato de JSON de entrada que esta ferramenta interpreta.
Ferramentas para desenvolvedores relacionadas
Env to JSON
Converta um arquivo .env para JSON, com inferência de tipos, chaves aninhadas e preservação de comentários.
JSON to Properties
Converta um objeto JSON para o formato .properties do Java, o fluxo equivalente para arquivos de properties.
JSON Formatter
Cole um JSON bruto e veja na hora uma visualização formatada, com destaque de sintaxe e validada antes de convertê-lo.
YAML to JSON
Converta entre os formatos de configuração YAML e JSON.
Perguntas frequentes sobre JSON to Env
- Os nomes das variáveis são convertidos para maiúsculas?
- Não. A ferramenta respeita a caixa das chaves do JSON: { "db": { "host": "x" } } gera db.host=x. No Linux e no macOS, nomes de variáveis de ambiente diferenciam maiúsculas de minúsculas, então escreva as chaves no JSON do jeito que a sua aplicação vai procurá-las.
- Um script de shell consegue dar source no .env gerado?
- Só se todos os nomes forem identificadores válidos de shell: letras, dígitos e underscore, sem começar por dígito. Um nome com ponto como db.host carrega sem problema no dotenv do Node.js, mas o shell não o reconhece como atribuição. Para arquivos que serão usados com source, escolha o underscore como separador.
- O que acontece com arrays e objetos aninhados?
- Com o achatamento ativo, cada objeto aninhado se desdobra em variáveis separadas por ponto, enquanto um array é gravado como uma linha só de JSON, por exemplo tags=["a","b"]. Com o achatamento desativado, os objetos aninhados também ficam inteiros, em forma de texto JSON.
- E os valores true, false e numéricos?
- Arquivo .env não tem tipos, então eles são escritos como texto: true, false ou o próprio número. No caminho de volta, o Env to JSON reconstrói booleanos e números de verdade quando Inferir tipos está ligado.
- Para que serve o objeto $comments no JSON?
- É onde o Env to JSON guarda os comentários do arquivo original. Ao gerar o .env, cada entrada vira uma linha # posicionada acima da variável correspondente. Escolha Ignorar no campo Comentários das opções avançadas se quiser apenas as linhas NOME=valor.
- Minhas chaves de API passam por algum servidor?
- Não. A conversão acontece localmente no navegador — detalhe que pesa, já que um .env normalmente guarda chaves de API e senhas de banco de dados.
- Por que aparece um erro de nome de variável inválido?
- Um nome vazio ou com espaços, =, :, #, aspas ou barra invertida não pode ser lido de volta de um arquivo .env, então a conversão para e mostra essa chave em vez de gravar uma linha quebrada. Renomeie a chave no JSON ou escolha outro separador, se foi ele que introduziu o caractere.