Skip to content
Konverter JSON ⇄ CSV
Tools

Konverter JSON ⇄ CSV

Baru

Konversikan array JSON ke CSV dan CSV kembali ke JSON, dengan pengutipan yang tepat.

Runs entirely in your browser. Nothing is uploaded.

Ubah JSON ke CSV dan CSV ke JSON di browser Anda

Konverter JSON ke CSV ini mengubah array JSON berisi objek menjadi CSV yang bersih dan siap-spreadsheet — dan mengubah CSV kembali menjadi JSON terstruktur — tanpa mengunggah apa pun. Tempel data Anda, jatuhkan file, atau muat contoh, lalu balik toggle arah untuk pergi ke arah mana pun. Hasilnya langsung tampil di sebelah kanan dengan tabel pratinjau, sehingga Anda bisa mengecek kolomnya sebelum Copy atau Download.

Tool ini menangani bagian-bagian rumit CSV untuk Anda: nilai yang mengandung koma, tanda kutip, atau baris baru dibungkus dan di-escape saat keluar, dan diparsing dengan benar saat masuk, sehingga data Anda bisa bolak-balik antara JSON dan CSV tanpa rusak.

Flatten JSON bertingkat menjadi CSV

JSON dunia nyata jarang benar-benar datar, dan di situlah kebanyakan konverter kesulitan. Aktifkan Flatten nested dan tool ini memperluas objek dan array bertingkat menjadi kolom dot-notation: objek address menjadi address.city dan address.country, sementara array roles menjadi roles.0 dan roles.1. Ini memungkinkan Anda flatten JSON bertingkat ke CSV dalam satu klik alih-alih menulis script.

Tool seperti ConvertCSV.com dan csvjson.com menangani JSON datar sederhana dengan baik tetapi membutuhkan pemrosesan manual untuk struktur bertingkat. Di sini, Anda cukup menekan satu toggle. Ingin menjaga sub-objek tetap utuh? Biarkan flattening dimatikan dan setiap nilai bertingkat disimpan sebagai teks JSON di dalam satu sel, yang kembali langsung ke struktur aslinya saat Anda membalik arah.

Buka CSV Anda di Excel atau Google Sheets

Spreadsheet tidak bisa membaca JSON secara langsung, tetapi setiap aplikasi spreadsheet utama membaca CSV tanpa plugin atau langkah konversi apa pun. Jalur tercepat dari JSON ke Excel adalah mengonversi di sini lalu membuka file yang diunduh. Pilih delimiter koma untuk Excel AS dan Google Sheets, atau titik koma untuk lokal Eropa yang secara default memakai delimiter itu di Excel — Jerman, Prancis, Belanda, dan sebagian besar Eropa Selatan serta Timur — dan kolomnya langsung sejajar tanpa wizard Text-to-Columns. Tab memberi Anda TSV yang bisa langsung ditempel ke grid sheet.

Untuk Google Sheets, Anda juga bisa menyalin hasil CSV, membuka sheet kosong, lalu menempel — Sheets otomatis mendeteksi delimiter dan memisahkannya menjadi kolom. Jika Anda rutin mengambil JSON dari API dan membutuhkannya di Sheets, tool browser ini lebih cepat daripada menulis Google Apps Script untuk pekerjaan sekali pakai. Tidak perlu akun, tidak ada kuota yang perlu dikhawatirkan, dan konversi selesai dalam waktu kurang dari satu detik berapa pun jumlah baris JSON Anda.

Pilih delimiter, header, dan kolom Anda

Anda mengendalikan format output. Aktifkan atau matikan baris header, ganti delimiter antara koma, titik koma, dan tab, serta gunakan chip kolom untuk menyertakan atau membuang field tertentu — berguna saat respons API mengembalikan tiga puluh key padahal Anda hanya perlu lima. Urutan kolom selalu mengikuti urutan kemunculan pertama key di JSON Anda, sehingga CSV cocok persis dengan yang Anda harapkan tanpa pengurutan alfabetis apa pun.

Antarmuka chip kolom juga mengatasi masalah umum: respons REST API sering menyertakan field internal server seperti _id, __v, atau updated_at yang tidak ingin Anda tampilkan di spreadsheet untuk pelanggan. Klik chip tersebut untuk mengecualikannya dan pratinjau langsung diperbarui. Set kolom yang dipilih diingat untuk sesi saat ini, jadi jika Anda menempelkan JSON baru dengan skema yang sama, pilihannya tetap bersih. Untuk output TSV, delimiter tab menghindari konflik quoting dengan data padat koma seperti alamat atau deskripsi — opsi berguna saat mengalirkan output ke tool command-line lain.

CSV ke JSON dengan tipe data cerdas

Ke arah sebaliknya, tempel atau unggah CSV dan tool membaca baris pertama sebagai header dan setiap baris berikutnya sebagai objek, sekaligus menangani field berkutip dengan koma dan baris baru di dalamnya. Delimiter terdeteksi otomatis, dan dengan Parse angka & boolean aktif, 42 menjadi angka dan true menjadi boolean alih-alih teks, memberi Anda output CSV ke JSON yang bersih dan bertipe, siap untuk API atau file konfigurasi.

Ini berguna untuk mengimpor data spreadsheet ke database, membangun file konfigurasi dari CSV yang dibagikan, atau memberi makan komponen frontend yang mengharapkan array JSON. JSON output diformat dengan indentasi agar mudah dibaca, bukan diminifikasi, sehingga Anda bisa memeriksanya langsung. Jika Anda butuh JSON ringkas untuk payload API produksi, salin hasilnya dan minifikasi dengan tool JSON formatter mana pun. Konversi ini menangani hingga ribuan baris tanpa melambat karena berjalan sepenuhnya dalam JavaScript di tab browser Anda, tanpa round-trip server yang menambah latensi.

Bagaimana perbandingannya dengan ConvertCSV, csvjson, dan konverter online lain

ConvertCSV.com adalah opsi populer tetapi mengunggah file Anda ke servernya, menerapkan batas ukuran file 1 MB di tingkat gratis, dan menampilkan iklan di seluruh halaman hasil. csvjson.com rapi dan ramah developer tapi juga server-side — data Anda melintasi jaringan. json-csv.com menawarkan tingkat gratis tapi membatasi jumlah konversi gratis per hari. Mr. Data Converter minimalis dan berbasis browser tapi sudah bertahun-tahun tidak diperbarui dan tidak memiliki flatten bertingkat.

Tool ini sepenuhnya client-side tanpa upload, tanpa batas ukuran file (selain memori perangkat), tanpa batas konversi harian, dan tanpa iklan. Untuk ekspor sensitif — data pelanggan, respons API dengan data pribadi, analitik internal — tidak ada yang meninggalkan perangkat Anda. Anda bisa memutus koneksi internet setelah halaman dimuat dan tetap melanjutkan konversi secara offline. Tanpa daftar akun, tanpa biaya, tanpa kompromi pada privasi.

JSON vs CSV: data hierarkis versus tabel datar

JSON (JavaScript Object Notation), dibakukan sebagai RFC 8259 pada 2017, dirancang untuk merepresentasikan data hierarkis dan bertingkat. Sebuah objek bisa berisi objek atau array lain hingga kedalaman berapa pun: {"user": {"name": "Alice", "address": {"city": "NYC"}}} adalah JSON valid yang membawa struktur secara alami. Inilah sebabnya JSON menjadi format dominan untuk REST API, file konfigurasi, dan database dokumen — satu dokumen JSON bisa mengkodekan satu entitas lengkap dengan semua relasinya tanpa join atau tabel sekunder apa pun.

CSV (Comma-Separated Values), dibakukan sebagai RFC 4180 pada 2005, merepresentasikan data tabular datar: baris dan kolom, persis seperti spreadsheet. Tidak ada konsep bertingkat secara native. Data pengguna yang sama di atas tidak bisa muat dalam satu baris CSV tanpa flattening — meruntuhkan alamat bertingkat menjadi kolom top-level seperti address_city — atau tanpa mengkodekan objek bertingkat sebagai teks JSON literal di dalam sel. Perbedaan struktural mendasar inilah yang membuat konversi selalu melibatkan trade-off: JSON lebih baik untuk API, konfigurasi, dan data hierarkis kompleks; CSV lebih baik untuk software spreadsheet, impor database massal, dan analis data yang bekerja sehari-hari di Excel atau Google Sheets.

Implikasi praktisnya adalah konversi JSON-ke-CSV selalu bersifat lossy untuk apa pun di luar array datar berisi objek. Setelah dokumen bertingkat dalam diratakan ke CSV, mengembalikannya ke struktur asli membutuhkan pengetahuan tentang skema aslinya. Untuk alur kerja round-trip — membaca dari API, memeriksa di spreadsheet, menulis kembali ke API — menjaga JSON sebagai sumber kebenaran dan memakai CSV hanya sebagai tampilan perantara adalah pola paling aman.

Cara kerja konversi JSON ke CSV di balik layar

Mengubah array JSON berisi objek menjadi CSV melibatkan beberapa keputusan yang tidak sepele. Keputusan pertama adalah pembuatan header: karena objek berbeda dalam array yang sama mungkin memiliki key berbeda, konverter yang benar harus mengambil gabungan semua key di seluruh objek dan memakai gabungan itu sebagai baris header. Objek yang tidak memiliki suatu key cukup mendapat sel kosong di kolom tersebut — ini bukan error. Keputusan kedua adalah urutan key: kebanyakan konverter mengikuti urutan kemunculan pertama sehingga urutan kolom output bisa diprediksi dan cocok dengan objek pertama dalam array.

Masalah yang lebih sulit adalah flatten key bertingkat. Saat sebuah objek berisi objek bertingkat, konverter harus memilih pemisah untuk nama key gabungan: address.city (dot notation), address_city (underscore), atau address-city (hyphen) semuanya pilihan umum. Dot notation paling mudah dipahami tapi bisa bentrok dengan nama properti yang sudah mengandung titik. Field array memunculkan keputusan bercabang lain: array seperti "tags": ["node", "js"] bisa ditangani dengan tiga cara — di-stringify sebagai nilai sel tunggal node,js, diperluas menjadi kolom berindeks tags.0 dan tags.1, atau diperluas menjadi beberapa baris (satu baris per elemen, menduplikasi semua field lain). Setiap pendekatan cocok untuk konsumen hilir yang berbeda.

Preservasi tipe data adalah masalah struktural lainnya. CSV adalah format khusus string: angka JSON 42 dan string JSON "42" ditulis identik di CSV. null menjadi string kosong; undefined juga dihilangkan sebagai kosong. true dan false menjadi teks literal true dan false. Saat Anda mengubah CSV kembali ke JSON tanpa langkah inferensi tipe, setiap nilai menjadi string. Opsi Parse angka & boolean di tool ini menerapkan kembali inferensi tipe pada perjalanan kembali, tapi jika data Anda memiliki kolom yang kebetulan hanya berisi digit dan seharusnya berupa string (kode pos seperti 07001, misalnya), Anda perlu menanganinya secara eksplisit — nol di depan pada kode pos akan hilang jika nilainya diparsing sebagai angka.

Edge case format CSV dan RFC 4180

RFC 4180 adalah memo dua halaman, bukan standar lengkap, dan menyisakan cukup banyak hal yang tidak dispesifikasikan sehingga menimbulkan masalah interoperabilitas nyata. Gotcha paling umum adalah quoting: field apa pun yang mengandung koma, tanda kutip ganda, atau baris baru harus dibungkus dengan tanda kutip ganda. Tanda kutip ganda di dalam field berkutip harus digandakan sendiri: nilai He said "hello" ditulis sebagai "He said ""hello""". Konverter yang tidak menangani ini dengan benar menghasilkan CSV cacat yang rusak saat diimpor ke Excel atau database. Tool ini otomatis membungkus dan meng-escape semua field seperti itu saat ekspor dan mengurainya dengan benar saat impor.

Akhir baris adalah sumber inkonsistensi lain. RFC 4180 menetapkan CRLF (\r\n) sebagai pemisah record. Banyak tool berbasis Unix hanya menghasilkan \n, dan kebanyakan parser modern menerima keduanya — tapi versi Excel lama di Windows mengharapkan CRLF dan bisa menghasilkan baris kosong tambahan di akhir file jika diberi CSV LF-only. BOM (Byte Order Mark) adalah masalah terkait: RFC 4180 sama sekali tidak menyinggung encoding, tapi Excel di Windows secara historis membuka CSV memakai encoding lokal sistem (sering Windows-1252), yang merusak karakter non-ASCII pada nama, alamat, dan simbol mata uang. Menambahkan BOM UTF-8 (\xEF\xBB\xBF) sebagai tiga byte pertama memberi sinyal ke Excel bahwa file itu UTF-8, menjaga semua konten Unicode. BOM tidak terlihat di text editor dan tidak berbahaya bagi setiap parser yang menghormati UTF-8, tapi ia adalah pembeda antara spreadsheet penuh karakter kacau dan yang tampil benar.

Tab-separated values (TSV) menghindari masalah quoting-koma sepenuhnya: karena karakter tab hampir tidak pernah muncul di data nyata, field jarang perlu diberi kutip sama sekali, membuat TSV lebih mudah dihasilkan dan diparsing dengan logika string-split sederhana. TSV umum dipakai di bioinformatika, pipeline data science, dan alur kerja mana pun di mana data itu sendiri mengandung banyak koma — alamat pos, deskripsi produk, dan field teks bebas adalah contoh utama. Selector delimiter di tool ini memungkinkan Anda menghasilkan TSV dengan satu klik. Satu catatan: sebagian konsumen TSV tidak menangani field berkutip atau tab tertanam, jadi perlakukan TSV sebagai pilihan tepat saat data Anda bersih dan padat koma, bukan pengganti universal untuk CSV.

Frequently asked questions

Bagaimana cara mengubah JSON ke CSV?

Tempel atau unggah array JSON berisi objek, biarkan arah tetap di JSON → CSV, dan CSV siap-spreadsheet langsung muncul di sebelah kanan — lalu klik Copy atau Download. Contohnya, [{"id":1,"name":"Ada"},{"id":2,"name":"Alan"}] menjadi baris header id,name diikuti 1,Ada dan 2,Alan. Setiap objek menjadi satu baris dan setiap key menjadi satu kolom. Seluruh konversi berlangsung di browser Anda, jadi tidak ada data yang meninggalkan perangkat dan tidak ada batas ukuran file dari server.

Bagaimana cara mengubah CSV ke JSON?

Ubah arah ke CSV → JSON (atau cukup unggah file .csv dan arahnya otomatis berbalik). Baris pertama dibaca sebagai header kolom dan setiap baris berikutnya menjadi objek, sehingga id,name / 1,Ada / 2,Alan menjadi [{"id":"1","name":"Ada"},{"id":"2","name":"Alan"}]. Biarkan opsi Parse angka & boolean aktif agar 1 dibaca sebagai angka dan true sebagai boolean, bukan teks. Konversinya instan dan hasilnya adalah JSON valid yang bisa langsung Anda tempel ke API, file konfigurasi, atau code editor mana pun.

Bagaimana cara flatten JSON bertingkat menjadi CSV?

Aktifkan opsi Flatten nested dan objek atau array bertingkat akan diperluas menjadi kolom dot-notation. {"name":"Ada","address":{"city":"London"},"roles":["engineer","writer"]} menjadi kolom name, address.city, roles.0 dan roles.1 — satu nilai per sel. Jika flattening dimatikan, nilai bertingkat tetap utuh sebagai teks JSON di dalam satu sel sehingga bisa kembali sempurna ke struktur aslinya saat Anda membalik arah konversi. Kebanyakan konverter online seperti ConvertCSV.com tidak mendukung flatten bertingkat, sehingga Anda harus memproses JSON secara manual terlebih dahulu.

Bagaimana cara mengubah JSON ke Excel?

Ubah JSON Anda ke CSV di sini, unduh file .csv-nya, lalu buka di Excel atau Google Sheets — keduanya membaca CSV secara native dan otomatis memisahkannya menjadi kolom. Untuk versi Excel Eropa yang memakai delimiter titik koma, pilih opsi Semicolon terlebih dahulu agar kolom langsung sejajar tanpa perlu Text-to-Columns manual. Anda tidak perlu ekspor .xlsx terpisah untuk sebagian besar alur kerja data. Google Sheets juga menerima impor CSV langsung lewat File → Import. Ini adalah jalur tercepat dari JSON mentah menjadi spreadsheet untuk data berapa pun volumenya.

Bagaimana cara mengubah file JSON besar?

Karena konversi berjalan sepenuhnya di browser Anda, tidak ada upload dan tidak ada batas ukuran file dari server — satu-satunya batas adalah memori perangkat Anda. File berukuran puluhan megabyte yang biasanya ditolak oleh konverter online seperti ConvertCSV.com atau csvjson.com karena batas upload umumnya tetap berjalan lancar di sini. Unggah file alih-alih menempelkannya untuk pengalaman paling mulus pada input besar. Pratinjau langsung menampilkan 200 baris pertama sementara hasil lengkapnya tetap tersedia untuk disalin atau diunduh secara instan.

Apakah aman mengonversi JSON dan CSV secara online?

Ya — konverter ini 100% berjalan di sisi klien. Data JSON dan CSV Anda tidak pernah meninggalkan browser: tidak ada upload, tidak ada server, dan tidak ada pencatatan log. Bahkan ekspor rahasia yang berisi data pribadi atau bisnis tetap sepenuhnya berada di perangkat Anda. Anda bisa membuktikannya dengan memuat tool ini, memutus koneksi internet, lalu tetap melanjutkan konversi — tool ini terus berfungsi tanpa koneksi jaringan sama sekali. Bandingkan dengan ConvertCSV.com, csvjson.com, dan tool sejenis, yang mengharuskan Anda mengunggah file ke server mereka untuk diproses.

Bagaimana cara mengubah array objek JSON ke CSV?

Array objek adalah bentuk paling ideal untuk konverter ini. Tool mengambil gabungan semua key dari setiap objek sebagai header kolom, sesuai urutan kemunculan pertama, sehingga baris dengan field yang hilang tetap sejajar dan celahnya menjadi sel kosong. Satu objek tunggal pun bisa diproses — ia diperlakukan sebagai tabel satu baris. Jika objek Anda dibungkus dalam properti seperti {"data":[…]}, tempelkan saja bagian array di dalamnya. Ini menangani format output JSON paling umum dari REST API, ekspor database, dan tool analitik.

Delimiter apa yang sebaiknya saya pakai?

Gunakan koma untuk CSV standar, Excel versi AS, dan Google Sheets. Pilih titik koma untuk lokal Eropa yang secara default memakai delimiter itu di Excel (Jerman, Prancis, Belanda, dan sebagian besar Eropa Selatan serta Timur). Gunakan tab untuk file TSV atau saat Anda ingin menempelkan hasil langsung ke grid sel spreadsheet. Delimiter apa pun yang Anda pilih, nilai apa pun yang mengandung karakter tersebut, tanda kutip ganda, atau baris baru otomatis dibungkus dan di-escape dengan tanda kutip ganda agar output tetap valid dan bisa diparsing.

Bisakah saya mengonversi array bertingkat?

Bisa. Dengan Flatten nested aktif, array diperluas menjadi kolom berindeks — "tags":["a","b"] menjadi tags.0 dan tags.1 — sehingga setiap elemen mendapat selnya sendiri di spreadsheet. Dengan flattening dimatikan, seluruh array ditulis sebagai teks JSON seperti ["a","b"] di dalam satu sel, yang kembali bersih menjadi array asli saat Anda membalik arah ke CSV → JSON. Kedua pendekatan menjaga data Anda tanpa kehilangan apa pun; pilihan yang tepat tergantung apakah Anda perlu setiap nilai di kolom sendiri atau lebih suka menjaga strukturnya tetap utuh.

Bagaimana cara mengubah JSON ke CSV dengan Python?

Gunakan modul bawaan json dan csv: muat list dengan json.load(open('data.json')), lalu gunakan csv.DictWriter(f, fieldnames=rows[0].keys()), panggil writer.writeheader() dan writer.writerows(rows). Cara pintas dengan pandas adalah pd.read_json('data.json').to_csv('data.csv', index=False). Untuk konversi sekali pakai, tool browser ini tidak memerlukan instalasi Python, pip, ataupun virtualenv — dan juga otomatis melakukan flatten data bertingkat, yang tidak dilakukan DictWriter dengan sendirinya. Untuk pipeline otomatis atau job terjadwal, Python lebih cocok; untuk pekerjaan ad-hoc, menempel di sini lebih cepat.

Kenapa JSON saya tidak bisa dikonversi?

Ada dua hal yang perlu dicek. Pertama, bentuknya: agar menghasilkan tabel, JSON sebaiknya berupa objek atau array objek. Array nilai polos seperti [1,2,3] tetap bisa diproses tapi hanya menjadi satu kolom nilai tunggal. Kedua, sintaksnya: JSON mengharuskan key dan nilai string memakai tanda kutip ganda, dan tidak boleh ada koma berlebih di akhir. Jadi {name:'Ada',} gagal karena key tidak berkutip dan ada koma berlebih, sedangkan {"name":"Ada"} berhasil. Pesan error merah di bawah kotak input menunjukkan baris dan posisi karakter persis tempat parser gagal.

Bagaimana cara menjaga urutan kolom?

Kolom mengikuti urutan kemunculan pertama key di JSON Anda dan urutan itu dipertahankan dari awal hingga akhir konversi. Jadi id, name, email tetap id, name, email di output, tidak diurutkan alfabetis. Gunakan chip kolom di bawah kedua panel untuk membuang atau menyertakan field tertentu — berguna saat respons API mengembalikan tiga puluh key padahal Anda hanya perlu lima. Pratinjau dan unduhan CSV keduanya diperbarui secara instan saat Anda mengubah pilihan kolom, dan kolom yang tersisa tetap dalam urutan aslinya.

Apakah ini bekerja di iPhone dan Android?

Ya — konverter ini sepenuhnya responsif dan bekerja di Safari pada iPhone, Chrome pada Android, dan browser mobile modern lainnya. Anda bisa menempelkan JSON langsung dari clipboard, atau memakai file picker untuk mengunggah file JSON atau CSV dari aplikasi Files atau folder Downloads di perangkat Anda. Konversinya instan bahkan di ponsel karena semuanya berjalan secara lokal dalam JavaScript — tidak ada upload yang harus ditunggu dan tidak ada round-trip ke server. Hasilnya bisa disalin ke clipboard atau diunduh sebagai file di OS mobile mana pun.

Bagaimana cara mengubah respons API JSON ke CSV?

Salin respons API dari tab Network browser Anda (F12 → Network → klik request → Response) atau dari tool seperti Postman, curl, atau Insomnia. Tempelkan langsung ke kotak input JSON di sini. Jika respons dibungkus dalam envelope seperti {"data":[...],"status":"ok"}, tempelkan saja bagian array di dalamnya. Konverter menangani array berukuran berapa pun tanpa perlu instalasi atau menulis script. Untuk konversi berulang, pandas Python atau jq di script shell lebih cocok; untuk pekerjaan sekali pakai yang cepat, menempel di sini hanya butuh waktu kurang dari sepuluh detik.

Bagaimana perbandingannya dengan ConvertCSV.com dan csvjson.com?

ConvertCSV.com mengunggah file Anda ke servernya dan menerapkan batas 1 MB di tingkat gratis — berguna untuk dataset publik kecil tapi bermasalah untuk file besar atau sensitif. csvjson.com ramah developer dan lebih rapi tapi tetap server-side, artinya data Anda melintasi jaringan. json-csv.com membatasi jumlah konversi gratis per hari. Mr. Data Converter berbasis browser tapi sudah bertahun-tahun tidak diperbarui dan tidak bisa menangani JSON bertingkat. Tool ini sepenuhnya client-side tanpa upload, tanpa batas ukuran selain memori perangkat, tanpa batas harian, tanpa iklan, dan tanpa daftar akun — data Anda tidak pernah meninggalkan perangkat.