Skip to content

Konverter JSON ke .env

Tempel objek JSON, dapatkan file .env seketika. Hasilkan dotenv secara lokal — kunci dan secret tak pernah keluar dari browser. 100% privat, tanpa unggah.

Tanpa Pelacakan Berjalan di Browser Gratis
Opsi · jaga kunci · tanpa export
0 karakter
.env Output
0 baris
Ditinjau untuk penanganan input khusus objek, pengutipan aman-bolak-balik, perataan nilai bersarang, dan normalisasi kunci — Go Tools Engineering Team · Jun 12, 2026

Apa itu File .env?

File .env (file dotenv) adalah daftar teks biasa berisi pasangan KEY=VALUE yang menyimpan konfigurasi lingkungan dan secret di luar kode sumber Anda. Ini adalah standar de facto untuk Node.js, Vite, Next.js, Python, Ruby, dan Docker Compose — pustaka dotenv memuat file dan menyuntikkan setiap pasangan ke lingkungan proses. Karena umumnya menyimpan password basis data, kunci API, dan token akses, file .env diperlakukan sebagai sensitif dan dijauhkan dari kontrol versi.

Menghasilkan file .env dari JSON adalah kebalikan dari tugas urai-config yang umum: Anda sudah memiliki konfigurasi sebagai objek JSON — dari respons API, ekspor config, dump secrets-manager, atau skrip yang membangun pengaturan secara programatik — dan Anda butuh file .env untuk dijatuhkan ke proyek atau diserahkan ke kontainer. Konverter ini menelusuri kunci tingkat atas objek JSON Anda dan menulis satu baris KEY=VALUE yang dikutip dengan benar per properti.

Alat ini dibangun di sekitar beberapa keputusan yang disengaja:

**1. Pengutipan aman-bolak-balik.** Angka dan boolean ditulis telanjang, null menjadi nilai kosong, dan setiap string yang mengandung spasi, baris baru, # atau tanda kutip otomatis dikutip ganda dan di-escape. Hasilnya terurai kembali dengan bersih melalui dotenv dan melalui Konverter .env ke JSON pendamping, jadi sebuah nilai tidak pernah berubah makna pada perjalanan bolak-balik.

**2. Penanganan penyarangan yang jujur.** File .env bersifat datar menurut definisinya. Alih-alih diam-diam membuang data bersarang, alat ini menserialkan setiap objek atau array bersarang menjadi string JSON ringkas dan memperingatkan Anda kunci mana yang diratakan, agar Anda dapat memutuskan apakah .env benar-benar target yang tepat.

**3. Normalisasi kunci opsional.** Kunci disimpan apa adanya secara default untuk menghindari kehilangan informasi. Aktifkan Normalkan kunci untuk mengonversi camelCase atau kebab-case ke konvensi UPPER_SNAKE_CASE yang dipakai variabel lingkungan, dengan peringatan untuk kunci apa pun yang masih tidak bisa membentuk nama yang valid.

**4. Privasi 100% berbasis browser.** JSON yang Anda tempel — biasanya justru kredensial yang akan Anda tulis ke .env — tidak pernah meninggalkan browser. Tidak ada unggahan, tidak ada perjalanan bolak-balik server, tidak ada pencatatan; verifikasi nol permintaan jaringan di tab Network DevTools.

Sebelum mengonversi, Anda dapat memvalidasi atau mempercantik JSON dengan JSON Formatter, atau meng-unescape string JSON dengan JSON Escape. Jika konfigurasi Anda lebih baik diekspresikan dengan struktur, JSON ke YAML mempertahankan penyarangan yang tidak bisa dilakukan .env datar.

// Generate .env lines from a JSON object in Node.js
const config = {
  DATABASE_URL: 'postgres://user:pass@localhost:5432/mydb',
  PORT: 8080,
  DEBUG: true,
  NOTE: 'value with spaces',
};

const needsQuotes = (s) => /[\s#"'\n]/.test(s);

const env = Object.entries(config)
  .map(([key, value]) => {
    if (typeof value === 'string') {
      return needsQuotes(value)
        ? `${key}=${JSON.stringify(value)}`
        : `${key}=${value}`;
    }
    return `${key}=${value ?? ''}`; // null -> empty value
  })
  .join('\n');

console.log(env);
// DATABASE_URL=postgres://user:pass@localhost:5432/mydb
// PORT=8080
// DEBUG=true
// NOTE="value with spaces"

Fitur Utama

Pengutipan Aman-Bolak-Balik

Angka dan boolean ditulis telanjang, null menjadi nilai kosong, dan string dengan spasi, baris baru, # atau tanda kutip otomatis dikutip ganda dan di-escape agar terurai kembali dengan bersih melalui dotenv.

Penanganan Penyarangan yang Jujur

Objek dan array bersarang tidak bisa berada di .env datar, jadi masing-masing diserialkan menjadi string JSON ringkas dan sebuah peringatan mencantumkan persis kunci mana yang diratakan — tidak pernah perubahan diam-diam.

Normalisasi Kunci Opsional

Jaga kunci apa adanya secara default — dengan peringatan untuk kunci apa pun yang bukan nama env valid — atau aktifkan Normalkan kunci untuk mengonversi camelCase dan kebab-case ke konvensi UPPER_SNAKE_CASE yang dipakai variabel lingkungan.

Awalan export Opsional

Tambahkan export di awal setiap baris agar file .env yang dihasilkan dapat di-source langsung di shell, sesuai gaya skrip CI dan deploy.

Konversi Langsung

Output .env diperbarui seketika saat Anda mengetik atau menempel JSON. Input besar (lebih dari 200KB) beralih ke mode manual dengan tombol Konversi untuk menjaga browser tetap responsif.

Privasi 100% Berbasis Browser

Semua konversi berjalan secara lokal di browser Anda. JSON yang Anda tempel — kunci API, kredensial, token — tidak pernah diunggah, tidak pernah dicatat, dan tidak pernah disimpan di server mana pun.

Contoh

Objek config ke .env

{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "PORT": 8080,
  "DEBUG": true,
  "LOG_LEVEL": "info",
  "API_KEY": "sk_live_abc123"
}
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
PORT=8080
DEBUG=true
LOG_LEVEL=info
API_KEY=sk_live_abc123

Objek config JSON datar menjadi file .env yang bersih. Angka dan boolean ditulis tanpa tanda kutip; string biasa ditulis apa adanya. Siap disimpan sebagai .env dan dimuat dengan dotenv.

Nilai yang perlu dikutip

{
  "GREETING": "Hello, World",
  "MOTD": "line one\nline two",
  "COLOR": "#ff0000",
  "NOTE": "value with # hash",
  "EMPTY": null
}
GREETING="Hello, World"
MOTD="line one\nline two"
COLOR="#ff0000"
NOTE="value with # hash"
EMPTY=

String yang mengandung spasi, baris baru, #, atau tanda kutip otomatis dibungkus dalam kutip ganda dan di-escape agar bertahan melalui perjalanan bolak-balik melalui dotenv. Nilai null menjadi penugasan kosong (KEY=).

Normalkan kunci ke UPPER_SNAKE_CASE

{
  "databaseUrl": "postgres://localhost/mydb",
  "poolSize": 10,
  "enable-signup": true
}
DATABASE_URL=postgres://localhost/mydb
POOL_SIZE=10
ENABLE_SIGNUP=true

Dengan opsi Normalkan kunci aktif, kunci camelCase dan kebab-case dikonversi ke konvensi UPPER_SNAKE_CASE yang dipakai variabel lingkungan. Dengan opsi nonaktif, kunci asli disimpan apa adanya.

Objek bersarang diratakan menjadi string JSON

{
  "APP_NAME": "my-app",
  "FEATURES": { "signup": true, "beta": false },
  "REGIONS": ["us-east-1", "eu-west-1"]
}
APP_NAME=my-app
FEATURES="{\"signup\":true,\"beta\":false}"
REGIONS="[\"us-east-1\",\"eu-west-1\"]"

File .env bersifat datar, jadi objek dan array bersarang tidak dapat direpresentasikan secara native. Alat ini menserialkan setiap nilai bersarang menjadi string JSON ringkas dan mengutipnya ganda, serta menampilkan peringatan yang mencantumkan kunci mana yang diratakan agar perilakunya tidak pernah diam-diam.

Cara Menggunakan

  1. 1

    Tempel Objek JSON Anda

    Masukkan atau tempel objek JSON datar ke bidang input di atas. Anda juga dapat mengklik 'Muat contoh' untuk mencoba objek config, nilai yang perlu dikutip, atau objek bersarang.

  2. 2

    Lihat Output .env Langsung

    File .env muncul seketika di panel output. Aktifkan 'Normalkan kunci' untuk nama UPPER_SNAKE_CASE, atau 'Tambah awalan export' jika file akan di-source di shell.

  3. 3

    Salin atau Unduh

    Klik Salin untuk mengambil .env ke clipboard, atau Unduh untuk menyimpannya sebagai file .env — siap dijatuhkan ke proyek Anda dan dimuat dengan dotenv.

Jebakan JSON Umum

Array atau Skalar Tingkat Atas

File .env adalah sekumpulan variabel bernama yang datar, jadi input harus berupa objek JSON. Array tingkat atas atau nilai telanjang seperti string atau angka tidak memiliki nama kunci untuk dipetakan ke variabel, dan alat ini melaporkan kesalahan. Bungkus data Anda dalam objek dengan kunci deskriptif terlebih dahulu.

✗ Salah
["a", "b", "c"]
✓ Benar
{"ITEMS": "a,b,c"}

Sintaks JSON Tidak Valid

Input harus berupa JSON yang valid. Koma di akhir, kutip tunggal, dan kunci tak berkutip adalah kesalahan umum yang disalin dari JavaScript dan menyebabkan kesalahan parse dengan baris dan kolom. Gunakan kutip ganda untuk semua kunci dan nilai string serta hapus koma di akhir.

✗ Salah
{'PORT': 8080,}
✓ Benar
{"PORT": 8080}

Mengharapkan Struktur Bersarang di .env

Objek dan array bersarang tidak dapat direpresentasikan secara native di file .env datar. Alat ini menserialkannya menjadi string JSON dan memperingatkan Anda, tetapi nilai menjadi satu string buram tunggal. Jika Anda butuh struktur dipertahankan, konversi ke YAML alih-alih .env.

✗ Salah
{"DB": {"host": "localhost", "port": 5432}}
✓ Benar
{"DB_HOST": "localhost", "DB_PORT": 5432}

Kunci yang Bukan Nama Variabel Valid

Sebagian besar shell dan loader hanya menerima nama variabel yang cocok dengan [A-Za-z_][A-Za-z0-9_]* — kunci yang diawali digit atau mengandung spasi atau tanda hubung tidak valid. Dengan kunci dijaga apa adanya, alat ini memperingatkan Anda tentang kunci semacam itu; Normalkan kunci memperbaiki kapitalisasi dan tanda hubung tetapi tidak dapat menyelamatkan nama yang diawali digit, jadi ganti nama kunci tersebut di JSON Anda.

✗ Salah
{"2fa-enabled": true}
✓ Benar
{"TWO_FA_ENABLED": true}

String Tak Berkutip yang Perlu Dikutip

Jika Anda menulis JSON dengan tangan, ingat bahwa nilai dengan spasi atau # tetap harus berupa string JSON yang valid (dalam kutip ganda). Alat ini lalu mengutip ulang untuk .env secara otomatis. Kesalahannya adalah melupakan kutip JSON di sisi input, yang menghasilkan JSON tidak valid.

✗ Salah
{"MSG": Hello World}
✓ Benar
{"MSG": "Hello World"}

Kasus Penggunaan Umum

Hasilkan .env dari Ekspor Config
Ambil ekspor konfigurasi JSON dari API, dasbor pengaturan, atau secrets manager dan ubah menjadi file .env siap pakai untuk pengembangan lokal atau kontainer.
Susun Templat .env
Bangun objek JSON yang mendeskripsikan variabel yang dibutuhkan layanan baru, konversi ke .env, dan commit .env.example agar rekan tim tahu persis kunci mana yang harus diisi.
Jembatani Alat Berbasis JSON ke dotenv
Beberapa alat mengeluarkan konfigurasi sebagai JSON sementara runtime Anda mengharapkan .env. Konversi output JSON ke format dotenv agar kedua sisi pipeline sepakat pada variabel yang sama.
Hasilkan File env Shell yang Dapat Di-source
Aktifkan awalan export untuk menghasilkan file yang dapat Anda source langsung di shell atau langkah CI, mengubah blob config JSON menjadi variabel lingkungan terekspor dalam sekali tempel.
Konfigurasi Bolak-Balik
Pasangkan ini dengan Konverter .env ke JSON untuk menyunting konfigurasi sebagai JSON terstruktur dan menulisnya kembali ke .env — pengutipan aman-bolak-balik menjamin nilai bertahan di kedua arah.
Normalkan Kunci Campuran-Kapital
Konversi objek JSON dengan kunci camelCase atau kebab-case menjadi .env dengan nama variabel UPPER_SNAKE_CASE yang konsisten menggunakan opsi Normalkan kunci, sesuai konvensi variabel lingkungan.

Detail Teknis

Input Khusus Objek dengan Serialisasi Bertipe
Input diurai dengan JSON.parse() native browser dan harus berupa objek tingkat atas; array dan skalar ditolak dengan kesalahan yang jelas. Setiap properti tingkat atas diserialkan menurut tipe: angka dan boolean ditulis telanjang, null menjadi nilai kosong (KEY=), dan string ditulis langsung kecuali jika mengandung spasi, baris baru, # atau tanda kutip, yang dalam hal itu dikutip ganda dan di-escape untuk keamanan bolak-balik.
Nilai Bersarang dan Normalisasi Kunci
Objek dan array bersarang diserialkan dengan JSON.stringify ringkas, dikutip ganda dan di-escape, dengan peringatan yang menyebut kunci yang diratakan. Langkah Normalkan kunci opsional mengonversi kunci ke UPPER_SNAKE_CASE, menyelesaikan sebagian besar nama tidak valid; ketika kunci dijaga apa adanya, kunci apa pun yang tidak cocok dengan [A-Za-z_][A-Za-z0-9_]* memicu peringatan nama tidak valid. Awalan export opsional dapat ditambahkan ke setiap baris.
Berbasis Browser — Tanpa Unggah, Tanpa Server
Semua pemrosesan terjadi sepenuhnya di mesin JavaScript browser Anda; tidak ada data JSON yang ditransmisikan melalui jaringan kapan pun. Serializer ditulis sendiri tanpa dependensi eksternal, karena pustaka dotenv Node tidak aman untuk browser. Input lebih besar dari 200KB beralih dari mode langsung ke mode manual (klik Konversi eksplisit) untuk menjaga browser tetap responsif.

Praktik Terbaik

Jaga Kunci Apa Adanya Kecuali Anda Butuh Konvensi env
Biarkan Normalkan kunci nonaktif ketika aplikasi pengonsumsi sudah mengharapkan nama kunci persis di JSON Anda, agar tidak ada yang diganti namanya secara tak terduga. Aktifkan hanya saat Anda secara khusus menginginkan konvensi UPPER_SNAKE_CASE yang lazim dipakai variabel lingkungan.
Ratakan Penyarangan dengan Sengaja, Bukan Tak Sengaja
Nilai bersarang menjadi string JSON buram di .env, yang tidak bisa diurai kembali secara otomatis oleh sebagian besar aplikasi. Ketika Anda melihat peringatan perataan, lebih baik membentuk ulang JSON menjadi kunci datar berawalan (DB_HOST, DB_PORT) sebelum mengonversi, atau pilih format terstruktur seperti YAML.
Percayakan Pengutipan Otomatis untuk Bolak-Balik
Biarkan alat yang memutuskan kapan mengutip — ia hanya mengutip ganda dan meng-escape nilai yang membutuhkannya. Ini menjaga .env tetap mudah dibaca sambil menjamin nilai dengan spasi, baris baru, atau # bertahan dalam perjalanan bolak-balik kembali melalui Konverter .env ke JSON tanpa berubah.
Hasilkan Secret Hanya di Alat Khusus Browser
JSON yang Anda konversi di sini pada dasarnya adalah sekumpulan kredensial. Hanya hasilkan .env di alat yang berjalan sepenuhnya di browser; verifikasi nol permintaan jaringan di DevTools. Konverter ini memenuhi syarat, tidak seperti generator sisi server atau berbasis API.
Validasi Input JSON Terlebih Dahulu
Jika JSON ditulis tangan atau dirakit oleh skrip, validasi dengan JSON Formatter terlebih dahulu untuk menangkap koma di akhir atau kunci tak berkutip, agar Anda mendapatkan .env yang bersih alih-alih kesalahan parse yang membingungkan.

Pertanyaan yang Sering Diajukan

Bagaimana cara mengonversi JSON ke file .env secara online?
Tempel objek JSON ke bidang input di atas. Alat ini menghasilkan file .env seketika di browser Anda — tanpa perlu klik tombol. Setiap properti tingkat atas menjadi baris KEY=VALUE. Anda dapat secara opsional menormalkan kunci ke UPPER_SNAKE_CASE atau menambahkan awalan export dari panel Opsi, lalu klik Salin untuk mengambil hasil atau Unduh untuk menyimpannya sebagai file .env. Semuanya berjalan secara lokal, jadi secret Anda tidak pernah meninggalkan perangkat Anda.
JSON jenis apa yang diterima ini?
Input harus berupa objek JSON (sekumpulan pasangan kunci/nilai di tingkat atas), karena file .env pada dasarnya adalah daftar variabel yang datar. Array tingkat atas atau skalar telanjang seperti string atau angka tidak dapat dipetakan ke variabel lingkungan, jadi alat ini melaporkan kesalahan yang meminta objek. JSON tidak valid juga menghasilkan kesalahan dengan nomor baris dan kolom upaya-terbaik agar Anda dapat menemukan masalahnya dengan cepat.
Bagaimana string, angka, boolean, dan null ditulis?
Angka dan boolean ditulis tanpa tanda kutip (PORT=8080, DEBUG=true). Nilai null menjadi penugasan kosong (KEY=), yang dimuat dotenv sebagai string kosong. String biasa ditulis apa adanya, tetapi string yang mengandung spasi, baris baru, #, atau karakter kutip otomatis dibungkus dalam kutip ganda dan di-escape agar terurai kembali dengan benar. Ini berarti output bolak-balik dengan bersih melalui parser dotenv dan melalui Konverter .env ke JSON pendamping kami.
Apa yang terjadi pada objek dan array bersarang?
File .env tidak dapat merepresentasikan penyarangan — setiap variabel adalah string datar. Ketika sebuah nilai berupa objek atau array bersarang, alat ini menserialkannya menjadi string JSON ringkas dengan JSON.stringify, membungkusnya dalam kutip ganda, dan meng-escape-nya. Peringatan non-pemblokir mencantumkan persis kunci mana yang diratakan dengan cara ini, jadi Anda selalu tahu strukturnya telah dipadatkan. Jika data Anda bersarang dalam, format seperti JSON ke YAML mempertahankan hierarki jauh lebih baik daripada yang bisa dilakukan .env.
Apa yang dilakukan opsi Normalkan kunci?
Secara default kunci JSON asli disimpan persis seperti ditulis, jadi tidak ada data yang hilang — dan dalam mode itu kunci apa pun yang belum menjadi nama variabel lingkungan yang valid (sebagian besar shell dan loader hanya menerima nama yang cocok dengan [A-Za-z_][A-Za-z0-9_]*) ditandai dengan peringatan agar Anda dapat mengganti namanya. Dengan Normalkan kunci aktif, kunci dikonversi ke UPPER_SNAKE_CASE — gaya konvensional untuk variabel lingkungan (databaseUrl menjadi DATABASE_URL, enable-signup menjadi ENABLE_SIGNUP) — yang menyelesaikan sebagian besar nama tidak valid secara otomatis.
Apakah data JSON saya dikirim ke server?
Tidak. Semua konversi terjadi sepenuhnya di browser Anda dengan JavaScript. JSON yang Anda tempel — yang sering menyimpan kunci API, kredensial basis data, dan token yang akan Anda tulis ke file .env — tidak pernah dikirim, tidak pernah disimpan di server mana pun, dan tidak pernah dicatat. Anda dapat memastikannya dengan membuka tab Network browser dan memperhatikan bahwa menempel memicu nol permintaan. Itulah yang membuatnya aman untuk menghasilkan .env produksi asli, bukan hanya sampel.