Skip to content

Konverter .env ke JSON

Tempel file .env, dapatkan JSON seketika. Password, kunci API, dan token tak pernah keluar dari browser — parser dotenv 100% privat, tanpa unggah, gratis.

Tanpa Pelacakan Berjalan di Browser Gratis
Opsi · 2 spasi · string
Indentasi
0 karakter
JSON Output
0 baris
Ditinjau untuk kompatibilitas penguraian dotenv, penanganan kutip dan escape, serta perilaku kunci duplikat — Go Tools Engineering Team · Jun 12, 2026

Apa itu File .env?

File .env (file dotenv) adalah daftar teks biasa berisi pasangan KEY=VALUE yang digunakan untuk menjaga konfigurasi dan secret tetap di luar kode sumber. Ini adalah standar de facto untuk variabel lingkungan di Node.js, Vite, Next.js, Python, Ruby, Docker Compose, dan hampir setiap framework modern — pustaka dotenv dan port-nya memuat file dan menyuntikkan setiap pasangan ke lingkungan proses. Karena file ini umumnya berisi password basis data, kunci API, secret klien OAuth, dan token akses, file ini hampir selalu di-git-ignore dan diperlakukan sebagai sensitif.

Mengonversi file .env ke JSON adalah tugas yang sering muncul: Anda perlu memasukkan konfigurasi ke alat yang membaca JSON, memvalidasinya terhadap JSON Schema, mengimpornya ke secrets manager, menghasilkan objek konfigurasi bertipe, atau sekadar memeriksa .env yang panjang sekilas sebagai data terstruktur. Konverter ini mengubah daftar pasangan datar menjadi satu objek JSON, satu properti per kunci.

Alat ini dibangun di sekitar beberapa keputusan yang disengaja:

**1. String secara default, tipe sesuai kebutuhan.** dotenv tidak pernah memaksa tipe — saat runtime setiap nilai process.env adalah string. Output default menghormati hal itu persis, jadi JSON sesuai dengan apa yang sebenarnya dilihat aplikasi Anda. Saat Anda ingin JSON bertipe, tombol Inferensi tipe opsional menaikkan angka, boolean, dan nilai null tak berkutip, sementara nilai berkutip tetap string karena tanda kutip adalah sinyal eksplisit.

**2. Penguraian dotenv yang setia.** Komentar, baris kosong, awalan export, kutip tunggal vs. ganda, urutan escape, nilai berkutip ganda multi-baris, dan komentar sebaris pada nilai tak berkutip semuanya ditangani sebagaimana pustaka dotenv menanganinya — tanpa kejutan saat Anda membandingkan JSON dengan apa yang dimuat aplikasi Anda.

**3. Keamanan kunci duplikat.** Ketika kunci didefinisikan dua kali, nilai berikutnya menang, dan sebuah peringatan memberitahu Anda kunci mana yang terduplikasi agar secret yang tak sengaja terbayang tidak pernah lolos tanpa diketahui.

**4. Privasi 100% berbasis browser.** Data .env Anda tidak pernah meninggalkan browser. Tidak ada unggahan, tidak ada perjalanan bolak-balik server, dan tidak ada pencatatan — Anda dapat memverifikasi nol permintaan jaringan di tab Network DevTools. Inilah satu-satunya cara yang bertanggung jawab untuk mengonversi .env asli secara online, karena file itu pada dasarnya adalah daftar kredensial.

Setelah mengonversi, Anda dapat mempercantik atau memvalidasi hasilnya dengan JSON Formatter, meng-escape-nya untuk disematkan ke string lain dengan JSON Escape, atau ke arah sebaliknya dengan Konverter JSON ke .env pendamping. Jika konfigurasi Anda berada di YAML, coba YAML ke 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"
// }

Fitur Utama

Penguraian dotenv yang Setia

Menangani komentar, awalan export, kutip tunggal dan ganda, urutan escape (\n \t \r \\ \"), nilai berkutip ganda multi-baris, dan komentar sebaris — persis seperti yang dilakukan pustaka dotenv.

String secara Default, Tipe sesuai Kebutuhan

Nilai adalah string JSON secara default agar sesuai perilaku runtime dotenv. Aktifkan Inferensi tipe untuk menaikkan angka, boolean, dan nilai null tak berkutip; nilai berkutip selalu tetap string.

Peringatan Kunci Duplikat

Jika kunci didefinisikan dua kali, nilai terakhir menang (perilaku dotenv) dan sebuah peringatan mencantumkan setiap kunci yang terduplikasi, sehingga secret yang diam-diam tertimpa tidak bisa lolos tanpa diketahui.

Konversi Langsung

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

Indentasi 2 atau 4 Spasi

Ganti antara indentasi 2 spasi dan 4 spasi untuk output JSON agar sesuai dengan gaya basis kode Anda atau tooling hilir.

Privasi 100% Berbasis Browser

Semua penguraian berjalan secara lokal di browser Anda. Data .env Anda — password basis data, kunci API, token — tidak pernah diunggah, tidak pernah dicatat, dan tidak pernah disimpan di server mana pun.

Contoh

File .env Node / Vite

# 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"
}

File .env Node.js / Vite yang umum. Secara default setiap nilai menjadi string JSON (standar dotenv). Baris komentar dan baris kosong dilewati. Aktifkan Inferensi tipe jika Anda ingin 10 → angka dan true → boolean.

Environment 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"
}

Ubah env_file yang dibaca stack Docker Compose Anda menjadi JSON agar bisa dimuat ke skrip, validator konfigurasi, atau secrets manager. Tidak ada yang diunggah — aman untuk kredensial asli.

Templat secret CI dengan awalan 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"
}

File .env bergaya shell sering mengawali setiap baris dengan export agar bisa di-source. Parser otomatis menghapus awalan export dan memberi Anda kunci JSON yang bersih.

File .env kompleks: tanda kutip, escape, multi-baris, dan komentar sebaris

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": ""
}

Menampilkan setiap kasus tepi dotenv sekaligus: komentar sebaris pada nilai tak berkutip dihapus, nilai berkutip ganda memproses escape \n \t \r \\ \", nilai berkutip tunggal disimpan apa adanya, dan nilai berkutip ganda bisa membentang beberapa baris hingga kutip penutup (berguna untuk kunci PEM).

Cara Menggunakan

  1. 1

    Tempel File .env Anda

    Masukkan atau tempel isi .env Anda ke bidang input di atas. Anda juga dapat mengklik 'Muat contoh' untuk mencoba .env Node/Vite, file env Docker Compose, atau templat secret CI.

  2. 2

    Lihat Output JSON Langsung

    JSON muncul seketika di panel output. Aktifkan 'Inferensi tipe' jika Anda ingin angka dan boolean alih-alih string, dan pilih indentasi 2 atau 4 spasi.

  3. 3

    Salin atau Unduh

    Klik Salin untuk mengambil JSON ke clipboard, atau Unduh untuk menyimpannya sebagai file .json — siap untuk config loader, secrets manager, atau alat apa pun yang membaca JSON.

Jebakan .env Umum

Tanda = Hilang pada Suatu Baris

Setiap baris yang bukan komentar dan tidak kosong harus berupa pasangan KEY=VALUE. Baris tanpa tanda = tidak dapat diurai dan alat ini melaporkan kesalahan dengan nomor baris. Kunci telanjang tanpa nilai harus ditulis sebagai KEY= (nilai kosong).

✗ Salah
DATABASE_URL
DEBUG true
✓ Benar
DATABASE_URL=
DEBUG=true

Spasi di Sekitar Tanda =

dotenv memisah pada tanda = pertama tanpa spasi di sekitarnya. Menulis KEY = value membuat kunci 'KEY ' (dengan spasi di belakang) dan nilai ' value' (dengan spasi di depan). Hapus spasi, atau kutip nilai jika harus mengandung spasi di depan.

✗ Salah
API_KEY = abc123
✓ Benar
API_KEY=abc123

Nilai Tak Berkutip Termakan Komentar Sebaris

Pada nilai tak berkutip, spasi diikuti # memulai komentar sebaris dan segalanya setelahnya dibuang. Jika nilai Anda secara sah mengandung #, bungkus nilai dalam tanda kutip agar # dipertahankan.

✗ Salah
COLOR=#ff0000
✓ Benar
COLOR="#ff0000"

Mengharapkan Escape dalam Kutip Tunggal

Nilai berkutip tunggal bersifat harfiah — \n tetap berupa backslash dan huruf n, ia tidak menjadi baris baru. Gunakan kutip ganda saat Anda ingin urutan escape seperti \n, \t, atau \" diproses.

✗ Salah
GREETING='Hello\nWorld'
✓ Benar
GREETING="Hello\nWorld"

Kutip Ganda Tak Tertutup pada Nilai Multi-baris

Nilai berkutip ganda dapat membentang beberapa baris, tetapi harus ditutup dengan kutip ganda yang cocok. Jika kutip penutup hilang, parser terus melahap baris hingga akhir file. Pastikan secret multi-baris seperti kunci PEM diakhiri dengan kutip penutup.

✗ Salah
KEY="-----BEGIN-----
line two
✓ Benar
KEY="-----BEGIN-----
line two
-----END-----"

Kunci Duplikat Tertimpa Diam-diam

Jika kunci yang sama muncul dua kali, nilai terakhir menang dan yang sebelumnya hilang. Alat ini memperingatkan Anda, tetapi perbaikan terbersih adalah menghapus duplikat agar nilai yang dimaksud tidak ambigu.

✗ Salah
PORT=3000
PORT=8080
✓ Benar
PORT=8080

Kasus Penggunaan Umum

Masukkan Config ke Tooling Berbasis JSON
Konversi file .env ke JSON untuk memuat konfigurasi lingkungan ke alat, skrip, dan SDK yang membaca JSON alih-alih variabel lingkungan — validator konfigurasi, pemeriksa skema, dan generator kode.
Impor Secret ke Manager
Banyak secrets manager (AWS Secrets Manager, Vault, Doppler) menerima JSON untuk impor massal. Konversi file .env ke objek JSON terlebih dahulu, lalu dorong seluruh set dalam satu operasi alih-alih satu variabel pada satu waktu.
Periksa .env Panjang Sekilas
Ubah file .env yang berserakan menjadi JSON yang terstruktur dan ber-indentasi agar Anda dapat memindai kunci, mendeteksi duplikat lewat peringatan, dan meninjau konfigurasi dalam format yang mudah dibaca sebelum melakukan commit.
Hasilkan Objek Config Bertipe
Aktifkan Inferensi tipe untuk mendapatkan angka, boolean, dan null dalam JSON, lalu masukkan ke lapisan config bertipe atau langkah JSON-ke-TypeScript untuk menurunkan antarmuka bagi variabel lingkungan Anda.
Validasi terhadap JSON Schema
Konversi .env ke JSON dan jalankan melalui validator JSON Schema untuk menegakkan kunci wajib, format nilai, dan enum yang diizinkan di CI — menangkap lingkungan yang salah konfigurasi sebelum deploy.
Migrasikan Config env_file Docker Compose
Ubah env_file yang dibaca stack Compose Anda menjadi JSON untuk digunakan di alat orkestrasi lain, server config, atau dokumentasi — tanpa mengekspos kredensial asli ke layanan eksternal mana pun.

Detail Teknis

Penguraian Baris-per-Baris yang Kompatibel dengan dotenv
Input diurai baris per baris. Baris kosong dan baris komentar (karakter non-spasi pertama #) dilewati, awalan export opsional dihapus, dan setiap baris tersisa dipisah pada tanda = pertama menjadi kunci dan nilai. Kunci dipangkas dari spasi di sekitarnya. Nilai mengikuti aturan dotenv: kutip ganda memproses escape \n \t \r \\ \" dan mengizinkan bentangan multi-baris, kutip tunggal harfiah, dan nilai tak berkutip menghapus spasi di belakang dan komentar sebaris.
Inferensi Tipe Opsional
Secara default semua nilai dikeluarkan sebagai string JSON, sesuai perilaku runtime dotenv di mana nilai process.env selalu string. Dengan Inferensi tipe aktif, nilai tak berkutip dinaikkan: string numerik menjadi angka JSON, true/false menjadi boolean, dan nilai kosong atau null menjadi null JSON. Nilai berkutip tidak pernah diinferensi — tanda kutip menandainya sebagai string eksplisit. Kunci duplikat diselesaikan dengan kemenangan-terakhir disertai peringatan.
Berbasis Browser — Tanpa Unggah, Tanpa Server
Semua pemrosesan terjadi sepenuhnya di mesin JavaScript browser Anda; tidak ada data .env yang ditransmisikan melalui jaringan kapan pun. Tidak ada dependensi eksternal karena parser ditulis sendiri — pustaka dotenv Node bergantung pada sistem berkas dan 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

Pertahankan Output String Default untuk Mencocokkan dotenv
dotenv memuat setiap nilai sebagai string, jadi output string default mencerminkan persis apa yang dilihat aplikasi Anda saat runtime. Aktifkan Inferensi tipe hanya saat konsumen hilir memang mengharapkan JSON bertipe — kalau tidak, Anda berisiko ketidakcocokan di mana '0' atau 'false' berperilaku berbeda di JSON daripada di aplikasi yang berjalan.
Kutip Nilai yang Mengandung # atau Spasi
Pada nilai tak berkutip, spasi diikuti # memulai komentar sebaris, dan spasi di belakang dipangkas. Jika nilai secara sah mengandung # (warna hex, URL fragmen) atau spasi yang bermakna, bungkus dalam kutip ganda agar dipertahankan apa adanya di JSON.
Selesaikan Kunci Duplikat di Sumbernya
Alat ini menyimpan nilai terakhir dan memperingatkan Anda ketika kunci terduplikasi, tetapi duplikat di file .env hampir selalu merupakan kesalahan. Hapus baris berlebih agar tidak ada ambiguitas tentang secret mana yang aktif.
Jangan Pernah Tempel Secret Produksi ke Konverter Sisi Server
Karena file .env pada dasarnya adalah daftar kredensial, hanya konversi di alat yang berjalan sepenuhnya di browser. Konverter ini melakukannya — verifikasi nol permintaan jaringan di DevTools — jadi aman untuk secret asli, tidak seperti konverter sisi server atau berbasis API.
Validasi JSON Sebelum Menggunakannya di Hilir
Setelah mengonversi, jalankan JSON melalui JSON Formatter untuk memastikan strukturnya sebelum memasukkannya ke validator skema, impor secrets manager, atau config loader, agar kejutan struktural muncul lebih awal.

Pertanyaan yang Sering Diajukan

Bagaimana cara mengonversi file .env ke JSON secara online?
Tempel isi file .env Anda ke bidang input di atas. Alat ini mengurainya menjadi JSON seketika di browser Anda — tanpa perlu klik tombol. Setiap baris KEY=VALUE menjadi properti JSON. Anda dapat memilih indentasi 2 atau 4 spasi dari panel Opsi, lalu klik Salin untuk mengambil JSON atau Unduh untuk menyimpannya sebagai file .json. Semuanya berjalan secara lokal, jadi secret Anda tidak pernah meninggalkan perangkat Anda.
Apakah nilai dikonversi ke angka dan boolean, atau disimpan sebagai string?
Secara default setiap nilai disimpan sebagai string, persis sesuai standar dotenv. dotenv sendiri tidak pernah memaksa tipe — nilai process.env selalu berupa string — jadi default ini menjaga JSON tetap setia dengan apa yang sebenarnya dilihat aplikasi Anda saat runtime. Jika Anda lebih suka JSON bertipe, aktifkan opsi Inferensi tipe. Dengan opsi ini aktif, nilai tak berkutip yang terlihat seperti angka menjadi angka JSON, true dan false menjadi boolean, dan nilai kosong atau null menjadi null JSON. Nilai berkutip selalu disimpan sebagai string bahkan dengan Inferensi tipe aktif, karena tanda kutip menandakan string eksplisit.
Apa yang terjadi jika kunci yang sama muncul dua kali di file .env saya?
Mengikuti perilaku dotenv, kemunculan terakhir menang — nilai berikutnya menimpa nilai sebelumnya. Karena nilai yang diam-diam terbuang adalah sumber kesalahan konfigurasi yang umum, alat ini juga menampilkan peringatan non-pemblokir yang mencantumkan persis kunci mana yang terduplikasi, sehingga Anda dapat memastikan nilai mana yang akhirnya masuk ke JSON. Output tetap berupa objek JSON yang valid dengan satu entri per kunci.
Bagaimana tanda kutip, escape, dan nilai multi-baris ditangani?
Nilai berkutip ganda memproses urutan escape: \n menjadi baris baru, \t menjadi tab, \r menjadi carriage return, \\ menjadi backslash, dan \" menjadi tanda kutip ganda harfiah. Nilai berkutip ganda juga dapat membentang beberapa baris hingga kutip penutup — praktis untuk kunci privat PEM dan sertifikat. Nilai berkutip tunggal diperlakukan apa adanya tanpa pemrosesan escape, persis seperti shell. Nilai tak berkutip berlanjut hingga akhir baris, dengan spasi di belakang dihapus dan komentar sebaris dibuang (spasi diikuti # memulai komentar). Ini sesuai dengan cara pustaka dotenv mengurai file.
Apakah parser ini konsisten dengan pustaka dotenv?
Ya. Aturan penguraian mengikuti konvensi dotenv yang banyak dipakai: baris komentar # dan baris kosong diabaikan, awalan export opsional dihapus, kunci dipisah pada tanda = pertama, kutip tunggal harfiah, kutip ganda memproses escape dan mengizinkan nilai multi-baris, nilai tak berkutip menghapus spasi di sekitar dan di belakang, dan semua nilai default ke string. Tombol Inferensi tipe opsional adalah kemudahan tambahan di atasnya — nonaktif secara default justru agar output sesuai dengan apa yang akan dimuat dotenv.
Bisakah ia menangani konfigurasi bersarang atau berkelompok?
File .env memang sengaja datar — daftar pasangan kunci/nilai tanpa penyarangan. Konverter ini menghasilkan satu objek JSON datar yang mencerminkan struktur itu satu-banding-satu. Jika aplikasi Anda membaca konfigurasi berkelompok (misalnya DB_HOST dan DB_PORT), kunci tetap datar di JSON; Anda dapat membentuknya ulang dalam kode setelahnya. Jika Anda butuh struktur bersarang sejati, format seperti YAML ke JSON lebih cocok, dan Anda dapat mempercantik hasilnya dengan JSON Formatter.
Apakah data .env saya dikirim ke server?
Tidak. Semua penguraian terjadi sepenuhnya di browser Anda dengan JavaScript. Isi .env Anda — yang biasanya menyimpan password basis data, kunci API, secret OAuth, dan token akses — 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 file memicu nol permintaan. Inilah yang membuatnya aman untuk mengonversi .env produksi asli, bukan hanya sampel yang sudah dibersihkan.