CSV vs Excel vs JSON, diukur pada satu tabel 10.000 baris
Kami memproses satu tabel 10.000 baris lewat CSV, Excel, dan JSON dengan enam konverter. Berikut ukuran file, ukuran dalam ZIP, waktunya, dan setiap sel yang kembali dengan nilai berbeda.
Oleh PulsarKit ·
Jawaban singkat
Untuk tabel datar, CSV menghasilkan file teks terkecil: 1,2 MB untuk 10.000 baris kami. Baris yang sama menjadi 2,7 MB sebagai JSON berindentasi dan 2 MB sebagai NDJSON. Setelah dikemas dalam ZIP, CSV dan JSON hampir sama: 357 KB dibandingkan 398 sampai 424 KB.
Perbedaan yang lebih besar muncul saat data dikonversi kembali. Konversi bolak-balik lewat Excel atau lewat JSON, dengan pengaturan bawaan, mengubah 10.960 dari 100.000 sel, dan bukan sel yang sama. Satu pengaturan membuat konversi bolak-balik lewat Excel menghasilkan data yang persis sama. Hanya JSON yang mempertahankan field bersarang: begitu data melewati CSV atau spreadsheet, struktur bersarang itu tidak pernah kembali. Jadi, pilih format berdasarkan apa yang akan membaca file itu berikutnya.
Cara kami mengukur
Pada 21 Oktober 2026, kami membuat tabel uji dengan sebuah skrip: 10.000 baris dan 10 kolom berisi data rekaan. Tabel itu berisi ID dengan nol di depan seperti 000001, barcode 13 digit, dan nomor rekening 19 digit. Ada juga tanggal ISO dan nominal dengan dua desimal, sekitar separuhnya negatif. Nama memakai campuran huruf Latin, huruf beraksen, dan huruf Sirilik, dengan emoji di setiap baris keseratus. Satu dari seratus catatan berisi koma, tanda kutip, dan baris baru. Kolom kupon kosong di 3.096 baris, dan setiap nomor telepon diawali tanda plus.
Kami memprosesnya dengan enam konverter di pulsarkit.com: CSV ke Excel, Excel ke CSV, CSV ke JSON, JSON ke CSV, Excel ke JSON, dan JSON ke Excel. Kami memakai Chrome 155 di MacBook 2023. Keenam alat itu bekerja di dalam tab browser, dan pengaturannya tetap bawaan kecuali yang kami sebutkan. Waktu diukur dari saat tombol ditekan sampai tombol Unduh aktif. Skrip kami sendiri lalu membandingkan setiap sel yang kembali dengan aslinya, dan kami membaca jenis sel di dalam setiap buku kerja. Ukuran dalam ZIP berasal dari ZIP standar, Deflate tingkat 6.
Ukuran, ukuran dalam ZIP, dan kecepatan
CSV menulis nama kolom sekali, di baris paling atas. JSON mengulanginya di setiap record. Dengan indentasi bawaan dua spasi, CSV ke JSON mengubah tabel itu menjadi 2,7 MB, 2,3 kali ukuran CSV. NDJSON, yaitu satu record ringkas per baris, menjadi 2 MB. JSON formatter dengan mode Minify mengubah file berindentasi itu menjadi 2 MB yang sama, 23,6% lebih kecil.
ZIP menghapus sebagian besar selisih itu, karena kunci yang berulang justru paling mudah dikompres. Dalam ZIP, CSV menjadi 357 KB, NDJSON 398 KB, dan JSON berindentasi 424 KB.
File XLSX sendiri sudah berupa ZIP, jadi ukurannya bergantung pada program yang menulisnya. Sheet dari CSV ke Excel, setelah disimpan ulang oleh LibreOffice Calc, berukuran 753 KB. Bila yang penting hanya ukuran, kirim CSV dalam ZIP.
Dari segi kecepatan, tidak ada format yang unggul. Kami mengukur waktu 60 kali proses, dan median konversi 10.000 baris itu sekitar sepertiga detik. Dari 60 proses itu, 49 selesai dalam waktu kurang dari setengah detik. Yang paling lambat, proses Excel ke CSV pertama dalam sesi kami, butuh 2 detik.
Apa yang berubah setelah bolak-balik
Lewat Excel: CSV ke Excel, lalu Excel ke CSV. Nol di depan, nomor rekening 19 digit, barcode, baris baru di dalam catatan, emoji, dan sel kosong semuanya kembali apa adanya. Dua kolom berubah. Setiap true dan false kembali sebagai TRUE dan FALSE, karena buku kerja menyimpannya sebagai nilai logika. Selain itu, 960 nominal kehilangan nol di belakang, jadi 612.40 menjadi 612.4: buku kerja menyimpan angkanya, bukan cara angka itu ditulis.
Lewat JSON: CSV ke JSON, lalu JSON ke CSV. Sebanyak 960 nominal yang sama kehilangan nol di belakang, dengan alasan yang sama. Setiap nomor telepon kembali dengan apostrof di depannya, seperti '+1 202 555 0117. JSON ke CSV menambahkan apostrof pada setiap nilai yang diawali +, =, -, atau @ dan bukan angka biasa. Dengan begitu, spreadsheet tidak bisa menjalankannya sebagai rumus. Sel kosong menjadi string kosong di JSON, sedangkan Excel ke JSON menulis null untuk 3.096 sel yang sama. JSON yang Anda dapatkan bergantung pada jalurnya, kecuali Anda mengatur “Sel kosong menjadi” ke null di CSV ke JSON.
Di browser yang diatur ke UTC atau UTC+4, setiap tanggal melewati CSV ke Excel tanpa berubah. CSV ke Excel menulis setiap tanggal sebagai tengah malam UTC, jadi browser yang diatur ke waktu New York juga tidak menggesernya.
Satu pengaturan menghapus semua perubahan di jalur Excel: “Jenis sel” diatur ke “Semua sebagai teks” di CSV ke Excel. Baik di waktu New York maupun di UTC+4, konversi bolak-balik itu lalu mengembalikan seluruh 100.000 sel persis seperti yang ditulis. Harganya adalah sheet yang hanya berisi sel teks, termasuk nominal. Teks juga cocok untuk barcode. Dengan pengaturan bawaan, kode 13 digit kami menjadi angka dalam format Umum. Dokumentasi Microsoft menyebut format Umum memakai notasi ilmiah untuk angka 12 digit atau lebih.
Data bersarang tidak kembali
JSON sungguhan jarang datar, jadi kami memberi setiap record objek alamat dan daftar tag, 3,8 MB dengan indentasi. JSON ke CSV memecah alamat menjadi kolom bernama address.city dan address.zip, serta menggabungkan tag ke satu sel, misalnya new, wholesale. JSON ke Excel melakukan hal yang sama.
Setelah dikonversi kembali ke JSON, kedua file tidak kembali ke bentuk lamanya. Keduanya menghasilkan kunci datar seperti address.city, sedangkan field tags menjadi string, bukan daftar. Jalur CSV juga mengubah jenis data: 6.017 dari 10.000 kode pos, yaitu yang tidak diawali nol seperti 78701, kembali sebagai angka, sedangkan 02134 tetap teks. Di jalur itu, kupon kosong, yang di file kami bernilai null, kembali sebagai string kosong. Jalur Excel mempertahankan setiap kode pos sebagai teks dan setiap null tetap null.
Format mana yang dipilih
Bila orang akan mengurutkan, menyaring, dan menjumlahkan datanya, pilih XLSX. Format ini menyimpan nominal sebagai angka, tanggal sebagai tanggal, serta true atau false sebagai nilai logika. Bila file akan dibaca program, pilih JSON. Format ini menyimpan angka, true, false, dan null, dan di antara ketiganya hanya JSON yang bisa memuat field bersarang. NDJSON berukuran sama dengan JSON hasil minify dan menaruh satu record di setiap baris.
Bila file hanya berpindah antarsistem, CSV dalam ZIP adalah yang terkecil dari ketiganya. Pemisah, encoding, dan byte order mark masih bisa membuat CSV bermasalah saat dibuka di Excel. Panduan kami, CSV ke Excel dan sebaliknya tanpa merusak data, membahas semuanya.
Alat yang dipakai di artikel ini
Baca berikutnya
- Alternatif Convertio: apa yang setara dan di mana file Anda diprosesPada 23 Oktober 2026, kami mencocokkan seluruh 25.637 konversi di daftar Convertio sendiri dengan PulsarKit. Sebanyak 193 punya padanan, 130 di antaranya di browser; arsip, font, dan CAD tidak punya padanan.
- Alternatif CloudConvert: apa yang setara dan di mana file Anda diprosesPada 22 Oktober 2026, kami mencocokkan 2.091 konversi di halaman format CloudConvert dengan PulsarKit. Sebanyak 190 punya padanan, 125 di antaranya di browser; arsip, file CAD, dan font tidak punya padanan.
- CSV ke Excel dan sebaliknya tanpa merusak dataFile CSV yang masuk ke Excel lalu keluar lagi bisa berakhir sedikit berbeda dari file awalnya, dengan cara yang mudah terlewat.