Skip to content

Konverter JSON ke CSV

Konversi JSON ke CSV di browser. Preset RFC 4180, Excel-EU, TSV, Pipe. Flatten objek bertingkat atau Stringify. 100% privat, tanpa unggah.

Tanpa Pelacakan Berjalan di Browser Gratis
Preset
Opsi · , · auto · LF · header · no BOM · flatten
Delimiter
Sertakan baris header
Kutipan
Akhir baris
BOM UTF-8
Bertingkat
0 karakter 0 baris
Output CSV
0 baris · 0 kolom
Ditinjau untuk kepatuhan RFC 4180, penanganan locale Excel-EU, deteksi otomatis NDJSON, dan pelestarian presisi bilangan bulat besar — Go Tools Engineering Team · May 8, 2026

Apa Itu CSV dan Mengapa Mengonversi dari JSON?

CSV (Comma-Separated Values) adalah format data tabular tertua dan paling didukung secara luas dalam komputasi — setiap aplikasi spreadsheet, setiap database, setiap alat analitik, dan sebagian besar bahasa pemrograman memiliki dukungan CSV kelas-satu. JSON, sebaliknya, adalah format universal untuk respons API, konfigurasi, dan pertukaran data terstruktur. Mengonversi di antara keduanya adalah salah satu pekerjaan paling umum dalam data engineering: Anda menerima JSON dari API atau database NoSQL, dan Anda butuh CSV untuk dimuat ke Excel untuk analisis, ke tabel Postgres lewat COPY, atau ke gudang BigQuery / Snowflake. Alat ini dibangun untuk jalur konversi itu dan menangani empat skenario yang sebagian besar konverter online lakukan dengan buruk.

Alat ini memiliki empat perbedaan penting dibandingkan konverter online pada umumnya:

**1. Parser State-Machine RFC 4180.** CSV terlihat sederhana tetapi aturan kutipannya halus: field yang dibungkus dalam tanda kutip ganda dapat berisi koma, newline tertanam, dan tanda kutip ganda yang di-escape (digandakan, seperti ""). Parser split-by-comma yang naif gagal pada data dunia nyata — alamat dengan koma, field teks multi-baris, dan nilai yang dikutip yang berisi tanda kutip. Alat ini mengimplementasikan parser state-machine yang benar mengikuti RFC 4180 (spek IETF untuk CSV), dengan benar menangani field yang dikutip, delimiter tertanam, line ending tertanam, dan tanda kutip yang di-escape di setiap arah. Output round-trippable melalui modul csv Python, PostgreSQL COPY, AWS S3 SELECT, dan parser sesuai standar mana pun.

**2. Flatten Satu Arah / Stringify Reversibel.** JSON bertingkat secara fundamental tidak kompatibel dengan bentuk tabular datar CSV, dan sebagian besar konverter secara diam-diam merusak data saat menemukan objek atau array bertingkat. Alat ini memberi Anda pilihan eksplisit: mode Flatten menghasilkan kunci bertanda titik (customer.address.city) dan kunci ber-indeks (items.0.sku) untuk tata letak spreadsheet paling bersih — terbaca di Excel tetapi lossy untuk round-trip. Mode Stringify menyimpan array dan objek sebagai JSON di dalam satu sel — lebih jelek tetapi sepenuhnya round-trippable: CSV → JSON → CSV menghasilkan data identik saat dipasangkan dengan Infer types pada arah balik. Pilih berdasarkan tujuan Anda: analisis di Excel (Flatten) atau round-trip pipeline (Stringify).

**3. Deteksi Bilangan Bulat Besar.** Tipe Number JavaScript menggunakan double precision IEEE 754 dan secara diam-diam membulatkan bilangan bulat di atas 2^53 - 1 (9007199254740991). Hal ini mengganggu JSON dunia nyata: ID snowflake Twitter, ID Discord, field MongoDB Long, dan resourceVersion Kubernetes semuanya bilangan bulat 64-bit yang melebihi rentang aman. Sebagian besar alat JSON berbasis browser secara diam-diam menghasilkan angka yang salah tanpa peringatan. Alat ini mendeteksi nilai bilangan bulat besar saat parsing, menampilkan banner peringatan yang mencantumkan field yang terpengaruh, dan mempertahankan digit aslinya sebagai string di output CSV agar Excel dan Google Sheets tidak memotongnya menjadi notasi ilmiah.

**4. Privasi 100% Berbasis Browser.** Data JSON Anda — yang sering berisi PII pengguna, ekspor database internal, kunci API yang tertanam dalam payload, dan rahasia produksi — tidak pernah meninggalkan browser Anda. Tidak ada data yang dikirim ke server mana pun, tidak ada logging, tidak ada analitik yang menangkap input. Anda dapat memverifikasi ini di tab Network browser Anda. Ini adalah satu-satunya cara aman untuk menangani data sensitif di alat online. Lihat arah balik dengan mengklik Tukar atau gunakan Konverter JSON ke YAML kompanion kami saat YAML adalah target Anda. Perlu memvalidasi JSON sebelum mengonversi? Coba JSON Formatter kami.

Kekuatan CSV adalah universalitas dan kesederhanaan: setiap alat membacanya, parser-nya kecil, dan format file-nya dapat dibaca manusia di editor teks mana pun. Kelemahannya adalah tidak adanya informasi tipe (semuanya string sampai Anda memberitahu parser sebaliknya), tidak ada dukungan struktur bertingkat native, dan keanehan spesifik locale (titik koma Excel-EU, CRLF Windows vs LF Unix). Kekuatan JSON justru sebaliknya: tipe yang presisi, bertingkat native, dan spek ketat yang diparsing identik di mana saja. Alat yang tepat tergantung pada konsumen: manusia yang membaca spreadsheet → CSV, mesin yang mengonsumsi API → JSON. Konverter ini menangani jembatan di kedua arah.

// Input JSON
[
  { "id": 1, "name": "Alice", "role": "admin" },
  { "id": 2, "name": "Bob", "role": "editor" }
]

// Output CSV (RFC 4180 preset: comma + CRLF + no BOM)
id,name,role
1,Alice,admin
2,Bob,editor

// Same input with Stringify mode + nested data
[
  { "id": 1, "tags": ["a", "b"] }
]

// Becomes
id,tags
1,"[""a"",""b""]"

Fitur Utama

Sesuai RFC 4180

Parser state-machine ketat mengikuti spesifikasi CSV IETF: penanganan benar untuk field yang dikutip, delimiter tertanam, CR/LF tertanam, dan tanda kutip ganda yang di-escape (digandakan). Output round-trip bersih melalui csv Python, PostgreSQL COPY, dan AWS S3 SELECT.

Preset Excel, TSV, dan Pipe

Preset satu klik untuk empat target paling umum: RFC 4180 (koma + CRLF), Excel (titik koma + CRLF + BOM UTF-8 untuk locale EU), TSV (Tab + LF), dan Pipe (| + LF). Beralih antar format tanpa mengutak-atik lima opsi terpisah secara manual.

Flatten atau Stringify Data Bertingkat

Penanganan bertingkat eksplisit: Flatten menghasilkan kunci bertanda titik (customer.address.city) untuk analisis spreadsheet yang bersih, Stringify menyimpan array dan objek sebagai JSON di dalam satu sel untuk round-trip lossless. Pilih berdasarkan apakah Anda butuh analisis di Excel atau round-trip pipeline.

Deteksi Bilangan Bulat Besar

Bilangan bulat di atas 2^53 dideteksi saat parsing dan dipertahankan sebagai string di CSV — ID Twitter, snowflake Discord, field MongoDB Long, dan resourceVersion K8s tetap tepat alih-alih dibulatkan secara diam-diam oleh tipe number IEEE 754 JavaScript.

Deteksi Otomatis NDJSON

JSON yang dipisahkan baris (.ndjson, .jsonl) dideteksi otomatis — tempel log streaming, ekspor event API, atau output data lake langsung tanpa membungkusnya secara manual ke dalam array. Setiap baris menjadi satu baris di CSV.

Dua Arah dengan Tukar

Satu tombol Tukar arah membalik konversi di tempat: input menjadi CSV, output menjadi JSON, teks saat ini dipertahankan. Round-trip data Anda lewat kedua arah untuk memverifikasi konversi lossless sebelum mengirimnya ke pipeline.

Contoh

Respons REST API

[{"id":1,"name":"Alice Chen","email":"alice@example.com","role":"admin"},{"id":2,"name":"Bob Garcia","email":"bob@example.com","role":"editor"},{"id":3,"name":"Carol Singh","email":"carol@example.com","role":"viewer"},{"id":4,"name":"Dan Müller","email":"dan@example.com","role":"viewer"}]

Output API yang umum. Dengan Header aktif, Anda mendapat CSV tabular yang bersih dan siap digunakan di Excel.

GitHub Issues API

[{"id":1001,"title":"Bug: login redirects to 404","state":"open","labels":["bug","priority:high"],"user":{"login":"alice"}},{"id":1002,"title":"Feature: dark mode toggle","state":"open","labels":["enhancement"],"user":{"login":"bob"}},{"id":1003,"title":"Docs: update README","state":"closed","labels":["docs","good-first-issue"],"user":{"login":"carol"}}]

Diambil dari /repos/{owner}/{repo}/issues. Flatten aktif, header aktif — memunculkan user.login sebagai kolom yang sudah di-flatten.

MongoDB mongoexport

[{"_id":{"$oid":"6634a1b2c3d4e5f600000001"},"email":"alice@example.com","metadata":{"signupDate":"2026-01-15T10:30:00Z","preferences":{"newsletter":true,"theme":"dark"}}},{"_id":{"$oid":"6634a1b2c3d4e5f600000002"},"email":"bob@example.com","metadata":{"signupDate":"2026-02-20T14:15:00Z","preferences":{"newsletter":false,"theme":"light"}}}]

Bentuk ekspor MongoDB. Pilih mode Stringify jika Anda berencana melakukan round-trip CSV→JSON.

Log Event NDJSON

{"event":"signup","user":"alice","ts":1715000000}
{"event":"login","user":"alice","ts":1715000060}
{"event":"checkout","user":"alice","ts":1715000300}

JSON yang dipisahkan baris (.ndjson/.jsonl) terdeteksi otomatis — tempel saja isi file langsung.

Pesanan E-commerce Bertingkat

[{"id":"ord-001","customer":{"name":"Alice Chen","email":"alice@example.com","address":{"city":"Seattle","country":"US"}},"items":[{"sku":"SKU-100","qty":2},{"sku":"SKU-205","qty":1}]},{"id":"ord-002","customer":{"name":"Bob Garcia","email":"bob@example.com","address":{"city":"Madrid","country":"ES"}},"items":[{"sku":"SKU-100","qty":1}]}]

Mode Flatten menghasilkan kunci bertanda titik (customer.address.city, items.0.sku). Beralih ke Stringify untuk menyimpan array/objek sebagai JSON dalam satu sel.

Hasil Tes Postman

[{"name":"GET /users returns 200","status":"pass","duration":142},{"name":"POST /users creates record","status":"pass","duration":287},{"name":"GET /users/999 returns 404","status":"fail","duration":98,"error":"Expected 404, got 500"},{"name":"DELETE /users/1 returns 204","status":"pass","duration":156}]

Ekspor tes Postman/Newman. Baris dengan bentuk campuran (sebagian punya error) akan diisi dengan sel kosong — Anda akan melihat peringatan Schema notes.

Cara Menggunakan

  1. 1

    Tempel JSON Anda

    Masukkan atau tempel JSON Anda ke kolom input di atas. Alat menerima array objek, objek tunggal, dan NDJSON (JSON dipisahkan baris) — dideteksi otomatis. Anda juga dapat klik 'Muat contoh' untuk mencoba sampel seperti respons REST API, ekspor MongoDB, atau log event NDJSON.

  2. 2

    Pilih preset (atau atur Options)

    Klik RFC 4180 (default), Excel (titik koma EU + BOM), TSV (Tab), atau Pipe untuk menyetel format target dalam satu klik. Buka panel Options untuk kontrol mendetail: Delimiter, Header, Quote (Auto/Always), Line ending (LF/CRLF), BOM, dan Nested (Flatten/Stringify).

  3. 3

    Salin atau Unduh CSV

    Klik Copy untuk mengambil CSV ke clipboard, atau Download untuk menyimpannya sebagai file .csv (.tsv dengan preset TSV) yang siap untuk Excel, Google Sheets, PostgreSQL COPY, atau pipeline data apa pun. Untuk round-trip, klik Tukar arah untuk mengonversi CSV kembali ke JSON di tempat.

Jebakan Konversi Umum

Nilai Tingkat Atas adalah Primitif

CSV pada dasarnya tabular — baris-baris field. Sebuah angka, string, atau boolean tunggal tidak punya struktur baris/kolom untuk diproyeksikan. Nilai JSON tingkat atas harus berupa objek (tabel satu baris) atau array (tabel multi-baris). Bungkus primitif dalam objek atau array terlebih dahulu.

✗ Salah
42
✓ Benar
[{"value": 42}]

Array Bentuk Campuran (baris dengan kunci berbeda)

Ketika baris di array JSON memiliki kunci berbeda (sebagian punya field error, sebagian tidak), alat menggabungkan semua kunci di seluruh baris dan mengisi sel yang hilang dengan nilai kosong. Peringatan Schema notes muncul agar Anda tahu kolom telah digabungkan. Ini biasanya baik-baik saja, tetapi verifikasi output jika alat hilir mengharapkan skema ketat.

✗ Salah
[
  {"name": "GET /users", "status": "pass"},
  {"name": "GET /users/999", "status": "fail", "error": "500"}
]
✓ Benar
// Output CSV (note empty cell in row 1)
name,status,error
GET /users,pass,
GET /users/999,fail,500

Bilangan Bulat Besar Terpotong oleh Excel

ID snowflake Twitter, ID Discord, dan bilangan bulat 64-bit lainnya melebihi rentang aman JavaScript (2^53 - 1) dan kehilangan presisi saat JSON.parse() membacanya. Bahkan jika CSV mempertahankan digit, Excel akan menampilkannya dalam notasi ilmiah secara default. Solusinya ada dua: simpan ID sebagai string dalam JSON Anda sebelum mengonversi, dan aktifkan BOM (atau gunakan preset Excel) agar Excel mempertahankan sel sebagai teks.

✗ Salah
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Benar
{"id": "9007199254740993"}
// CSV preserves the string; Excel displays exactly

Koma Tertanam Tidak Dikutip

Jika Anda membangun CSV dengan tangan menggunakan join(',') yang naif, setiap field yang berisi koma (Smith, Jr. atau 1,234.56) akan merusak batas kolom — parser melihat kolom ekstra di tempat yang seharusnya satu. Mode Auto Quote di alat ini mengikuti RFC 4180 dan secara otomatis membungkus setiap field yang berisi delimiter, tanda kutip ganda, CR, atau LF dalam tanda kutip ganda.

✗ Salah
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Benar
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

File Excel-EU Tidak Terbaca sebagai CSV-Koma

Locale Excel Eropa (Jerman, Prancis, Spanyol, Italia, dll.) memesan koma untuk pemisah desimal dan menggunakan titik koma sebagai delimiter field. CSV-koma standar terbuka dengan setiap baris runtuh ke kolom A. Solusinya adalah preset Excel: ia beralih ke ; + CRLF + BOM UTF-8 sehingga Excel mengurai file dengan benar di locale mana pun.

✗ Salah
id,name,price
1,Alice,1,234.56
// Excel-EU mis-parses 1,234.56 as two columns
✓ Benar
// Excel preset output: ; + CRLF + BOM
id;name;price
1;Alice;1234,56
// Excel-EU reads cleanly with comma decimal

NDJSON Tidak Terdeteksi (bentuk input)

Deteksi otomatis NDJSON memerlukan satu nilai JSON valid per baris, tanpa kurung array di awal atau akhir. Jika Anda menempel array JSON dari array, atau file Anda punya [ di awal dan ] di akhir, alat memperlakukannya sebagai satu nilai JSON tunggal, bukan NDJSON. Lepas kurung pembungkus dan pastikan setiap baris adalah objek JSON yang berdiri sendiri.

✗ Salah
[
  {"event": "signup"},
  {"event": "login"}
]
// Detected as a regular JSON array (works, but not NDJSON path)
✓ Benar
{"event": "signup"}
{"event": "login"}
// Each line is one JSON value — auto-detected as NDJSON

Kasus Penggunaan Umum

Respons API ke Spreadsheet
Tempel respons REST API (array objek user/order/event) dan dapatkan CSV tabular bersih yang siap untuk Excel, Google Sheets, atau Numbers. Kasus penggunaan paling umum — analis dan PM butuh data berbentuk spreadsheet, engineer mengirim JSON dari backend.
Ekspor MongoDB ke Gudang Data
Konversi output JSON mongoexport (dengan pembungkus $oid dan dokumen metadata bertingkat) menjadi CSV untuk dimuat ke BigQuery, Snowflake, atau Redshift. Mode Stringify mempertahankan bentuk bertingkat secara lossless saat alat hilir mendukung JSON-dalam-sel.
Triase GitHub Issues
Tarik issue dari /repos/{owner}/{repo}/issues, tempel JSON, dan dapatkan CSV datar dengan id, title, state, labels, dan user.login sebagai kolom. Masukkan ke Sheets untuk memfilter, mengurutkan, dan menetapkan selama sprint planning.
Tinjauan Log Event NDJSON
Log streaming dari Cloud Logging, Datadog, Vector, atau pipeline Anda sendiri sering tiba sebagai NDJSON (.ndjson, .jsonl). Tempel isi file langsung — terdeteksi otomatis — dan dapatkan CSV untuk analisis ad-hoc tanpa membangun pipeline ETL nyata.
Ekstraksi Pesanan E-commerce
Konversi JSON order bertingkat (customer.address.city, array items) ke CSV datar untuk finance, fulfillment, atau tinjauan fraud. Mode Flatten menghasilkan satu kolom per field daun, siap dimuat ke Excel untuk pelaporan ad-hoc.
Laporan Tes Postman/Newman
Ekspor tes Postman menyertakan baris bentuk campuran (sebagian dengan field error opsional). Tempel JSON, dapatkan CSV dengan semua kunci digabungkan dan sel yang hilang terisi — sempurna untuk berbagi laporan tes gagal dengan non-engineer di Sheets.

Detail Teknis

Parser State-Machine RFC 4180
Kedua arah menggunakan parser state-machine terbatas yang benar mengikuti RFC 4180. State mencakup UnquotedField, QuotedField, AfterQuote, RowEnd, dan EndOfInput. Parser dengan benar menangani field yang dikutip yang berisi delimiter, CR/LF tertanam di dalam field yang dikutip, tanda kutip ganda yang di-escape (digandakan, seperti ""), dan newline di akhir. Ini menghasilkan output yang round-trip secara lossless melalui modul csv Python, PostgreSQL COPY, AWS S3 SELECT, dan parser sesuai standar mana pun.
Algoritma Deteksi Bilangan Bulat Besar
Sebelum melewatkan JSON melalui JSON.parse() (yang akan secara diam-diam membulatkan bilangan bulat besar lewat IEEE 754), alat menjalankan pemindaian regex pada teks JSON mentah mencari literal bilangan bulat di luar rentang aman (-2^53+1 hingga 2^53-1). Saat terdeteksi, path field yang terpengaruh dicatat dan banner peringatan Big-integer muncul di bawah output. Penulis CSV kemudian mempertahankan nilai-nilai ini sebagai string, memastikan presisi tepat melalui Excel, Google Sheets, dan konsumen hilir yang sadar teks mana pun.
BOM dan Enkoding UTF-8 untuk Excel
Semua input dan output adalah UTF-8. BOM UTF-8 opsional (0xEF 0xBB 0xBF) ditambahkan di awal output saat toggle BOM aktif atau saat preset Excel dipilih. Excel di Windows menggunakan BOM untuk mendeteksi enkoding UTF-8 — tanpanya, Excel jatuh kembali ke locale sistem (Windows-1252 di AS, Windows-1251 di Rusia, dll.) dan mengacaukan karakter non-ASCII. Parser modern (csv Python, Pandas, jq, PostgreSQL) umumnya tidak butuh BOM dan mungkin menyertakannya sebagai karakter aneh di awal sel pertama, jadi biarkan BOM nonaktif untuk pipeline non-Excel.

Praktik Terbaik

Pilih Preset Sebelum Mengutak-atik Opsi
Preset RFC 4180, Excel, TSV, dan Pipe menyetel lima opsi sekaligus (delimiter, line ending, mode quote, BOM, header). Pilih preset terdekat dahulu, lalu utak-atik opsi individual hanya jika perlu — ini menghindari kesalahan umum mengubah satu opsi dan lupa yang lain (misalnya, beralih ke titik koma tetapi membiarkan LF, yang masih salah diparsing oleh Excel-EU di Windows).
Flatten untuk Analisis, Stringify untuk Round-Trip
Gunakan Flatten saat tujuannya Excel, Sheets, atau analisis sekali pakai — kunci bertanda titik menghasilkan tata letak spreadsheet paling bersih. Gunakan Stringify saat Anda perlu round-trip CSV → JSON → CSV tanpa kehilangan data — array dan objek bertahan sebagai JSON di dalam satu sel. Beralih di tengah ekspor dan menjalankan ulang tergolong murah; pilih berdasarkan konsumen.
Gunakan BOM Hanya untuk Excel
BOM UTF-8 diperlukan agar Excel di Windows mendeteksi enkoding dengan benar. Setiap parser lain (csv Python, Pandas, jq, PostgreSQL COPY, BigQuery) entah mengabaikan BOM atau menyertakannya sebagai karakter aneh di awal sel pertama, merusak nama kolom. Biarkan BOM nonaktif untuk pipeline dan aktifkan (atau gunakan preset Excel) hanya saat tujuannya Excel.
Simpan ID Besar sebagai String di JSON
ID snowflake Twitter, ID Discord, field MongoDB Long, dan resourceVersion K8s adalah bilangan bulat 64-bit yang melebihi rentang aman JavaScript (2^53 - 1). Simpan sebagai string JSON ("id": "9007199254740993") sebelum mengonversi — CSV akan mempertahankan digit dengan tepat, sementara literal numerik akan dibulatkan secara diam-diam oleh JSON.parse().
Validasi Bentuk Baris Sebelum Memuat
Baris bentuk campuran (sebagian objek dengan kunci yang tidak dimiliki yang lain) digabungkan dengan sel kosong di output, dan alat menampilkan peringatan Schema notes. Untuk konsumen skema-ketat (BigQuery, Redshift COPY), validasikan bahwa semua baris berbagi kunci yang sama sebelum mengekspor — atau tangani nilai yang hilang secara eksplisit di pipeline Anda. Gunakan JSON Formatter kami untuk memeriksa bentuk input terlebih dahulu.

Pertanyaan yang Sering Diajukan

Apa fungsi alat ini?
Alat ini mengonversi JSON ke CSV langsung di browser Anda, dengan dukungan dua arah: klik Tukar arah untuk mengonversi CSV kembali ke JSON di panel yang sama. Tempel JSON di area input dan alat menghasilkan output CSV seketika — tanpa unggah, tanpa daftar, tidak ada yang meninggalkan perangkat Anda. Output mengikuti preset yang Anda pilih (RFC 4180, Excel, TSV, atau Pipe) sehingga Anda bisa menempelnya langsung ke Excel, Google Sheets, perintah COPY database, atau pipeline data apa pun. Alat ini menangani array objek datar, struktur bertingkat (lewat mode Flatten atau Stringify), input NDJSON yang dipisahkan baris, dan nilai bilangan bulat besar yang akan kehilangan presisi di aplikasi spreadsheet.
Apakah data saya diunggah ke mana pun?
Tidak. Semua konversi berjalan 100% di sisi klien di browser Anda menggunakan JavaScript. Data JSON Anda tidak pernah ditransmisikan, tidak pernah disimpan di server mana pun, tidak pernah dicatat, dan tidak pernah dianalisis. Hal ini membuat alat ini aman untuk respons API yang berisi PII, ekspor database internal, dump MongoDB, dan data sensitif apa pun. Anda dapat memverifikasi ini di tab Network browser Anda — menempel JSON memicu nol permintaan jaringan. Alat ini tidak menggunakan cookie untuk data input dan tidak ada analitik pihak ketiga yang akan menangkap apa yang Anda tempel.
Apa perbedaan antara mode Flatten dan Stringify?
Mode Flatten menghasilkan kunci bertanda titik untuk objek bertingkat dan kunci ber-indeks untuk array bertingkat (customer.address.city, items.0.sku) sehingga setiap nilai daun berada di kolomnya sendiri. Ini adalah tata letak paling mudah dibaca untuk analisis di Excel atau BigQuery, tetapi lossy untuk round-trip karena struktur kunci bertanda titik tidak dapat direkonstruksi sempurna. Mode Stringify menyimpan array dan objek sebagai JSON di dalam satu sel ({"name":"Alice","city":"Seattle"}) — lebih jelek di spreadsheet, tetapi sepenuhnya round-trippable: CSV → JSON → CSV menghasilkan data identik. Pilih Flatten untuk analisis, Stringify untuk keamanan round-trip. Tentukan sebelum mengonversi; berganti di tengah sesi akan menjalankan ulang konversi pada input saat ini.
Bagaimana penanganan bilangan bulat besar seperti ID Twitter atau kunci Snowflake?
Bilangan bulat besar (di atas 2^53 - 1, atau 9007199254740991) dideteksi saat parsing JSON dan banner peringatan muncul di bawah output. Alat ini mempertahankan digit aslinya sebagai string di CSV agar Excel dan Google Sheets tidak memotongnya menjadi notasi ilmiah. Hal ini penting karena IEEE 754 double-precision float JavaScript secara diam-diam membulatkan bilangan bulat di atas 2^53 — misalnya, 9007199254740993 menjadi 9007199254740992. Untuk mempertahankan presisi saat menghasilkan JSON di hulu, simpan ID sebagai string ("id": "9007199254740993"). Alat akan mempertahankannya sebagai string di CSV tanpa kehilangan presisi sedikit pun.
Mengapa Excel menampilkan CSV saya dalam satu kolom?
Locale Excel Eropa (Jerman, Prancis, Spanyol, Italia, dll.) mengharapkan delimiter titik koma karena koma dipakai sebagai pemisah desimal. Saat Anda membuka CSV berdelimiter koma di Excel-EU, setiap baris runtuh ke kolom A. Gunakan preset Excel di alat ini — preset ini mengganti delimiter ke ;, line ending ke CRLF, dan menambahkan BOM UTF-8 sehingga Excel mendeteksi enkoding dan batas kolom dengan benar. Jika Anda berbagi CSV antar wilayah, opsi yang lebih aman adalah TSV (delimiter Tab) yang ditangani Excel secara konsisten di setiap locale.
Apakah alat ini mendukung NDJSON atau JSON Lines?
Ya. NDJSON (.ndjson) dan JSONL (.jsonl) adalah format yang dipisahkan baris di mana setiap baris adalah satu nilai JSON valid. Tempel isi file langsung ke area input — alat akan mendeteksi otomatis format dengan mencari beberapa nilai JSON tingkat atas yang dipisahkan newline, dan memperlakukan setiap baris sebagai satu baris di output CSV. Ini adalah bentuk alami untuk log streaming, ekspor event API, dan banyak pipeline data lake. NDJSON tidak memerlukan array pembungkus, jadi Anda tidak perlu menggabungkan baris secara manual menjadi satu dokumen JSON.
Apa itu RFC 4180?
RFC 4180 adalah spesifikasi IETF yang mengkodifikasi format CSV de facto pada tahun 2005. Spesifikasi ini menentukan aturan untuk delimiter (umumnya koma), line ending (CRLF), baris header opsional, dan yang paling penting aturan kutipan: field yang berisi delimiter, tanda kutip ganda, CR, atau LF harus dibungkus dalam tanda kutip ganda, dan tanda kutip ganda yang tertanam di-escape dengan menggandakannya (""). Preset RFC 4180 di alat ini menghasilkan output yang ketat sesuai spek: delimiter koma, line ending CRLF, tanpa BOM, escape tanda kutip ganda otomatis. Ini adalah pilihan paling aman untuk interoperabilitas dengan parser di Python (modul csv), PostgreSQL COPY, AWS S3 SELECT, dan sebagian besar pipeline data.
Mengapa beberapa sel dibungkus tanda kutip dan yang lain tidak?
Mode Quote default adalah Auto, yang mengikuti RFC 4180: sel dibungkus dalam tanda kutip ganda hanya jika berisi delimiter, tanda kutip ganda, carriage return, atau newline. Hal ini menghasilkan CSV yang paling bersih dan paling mudah dibaca manusia — nilai seperti Alice atau 42 tetap tanpa kutipan, sementara nilai seperti Smith, Jr. atau Line 1\nLine 2 akan dibungkus. Beralih ke mode Always quote untuk membungkus setiap sel, bahkan yang sederhana — berguna saat alat hilir punya parser CSV yang bermasalah dan salah menafsirkan nilai tanpa kutipan, atau ketika pipeline tim Anda mengharapkan setiap field dikutip demi konsistensi.
Bisakah saya melakukan round-trip CSV → JSON → CSV tanpa kehilangan data?
Ya, jika input-nya datar (tanpa objek atau array bertingkat). Untuk data bertingkat, Anda harus menggunakan mode Stringify — ia menyimpan array dan objek sebagai JSON di dalam satu sel, yang round-trip secara lossless kembali ke struktur asli saat Anda membalik dengan Tukar arah dan Infer types. Mode Flatten bersifat satu arah: ia menghasilkan kunci bertanda titik (customer.address.city) yang tidak dapat direkonstruksi sempurna karena parser tidak dapat membedakan kunci bertitik dari path bertingkat. Alat mendeteksi struktur bertingkat dan menampilkan peringatan Schema notes saat keamanan round-trip berisiko sehingga Anda dapat berganti mode sebelum mengekspor.
Bagaimana cara mendapatkan file TSV?
Klik chip preset TSV. Ini mengganti delimiter ke Tab, line ending ke LF, dan menonaktifkan BOM — format standar untuk nilai dipisahkan tab yang digunakan oleh perangkat Unix (cut, awk), gudang data (BigQuery, Snowflake), dan sebagian besar locale Excel tanpa ambiguitas. TSV umumnya lebih aman daripada CSV-koma untuk berbagi lintas-locale karena Tab kecil kemungkinannya muncul di dalam field teks, sehingga menghilangkan sebagian besar edge case kutipan. Simpan output dengan ekstensi .tsv atau .tab dan sebagian besar alat akan mengenalinya secara otomatis.
Apa yang terjadi pada input yang sangat besar?
Di atas 100.000 karakter atau 2.000 baris, konversi langsung secara otomatis beralih ke mode manual: tombol Convert muncul di banner info dan konversi hanya berjalan saat Anda mengkliknya. Hal ini mencegah thread utama browser terblokir pada setiap penekanan tombol selama serialisasi berat. Untuk output di atas 5 MB atau 50.000 baris, alat memotong pratinjau di layar ke 500 baris pertama dan menampilkan banner Showing the first 500 of N rows — namun tombol Download tetap menghasilkan file lengkap yang berisi setiap baris. Batas atas keras adalah input 10 MB; di atas itu alat menampilkan error dan meminta Anda mengurangi input.
Enkoding apa saja yang didukung?
Input dan output keduanya UTF-8. UTF-8 mencakup setiap set karakter modern termasuk emoji, ideograf CJK, Arab, Ibrani, dan combining marks. Satu-satunya nuansa enkoding adalah BOM UTF-8 (Byte Order Mark) opsional: Excel di Windows secara tradisional membutuhkan BOM untuk mendeteksi UTF-8 dengan benar, jika tidak ia jatuh kembali ke locale sistem dan mengacaukan karakter non-ASCII. Aktifkan BOM (atau gunakan preset Excel, yang mengaktifkan BOM secara default) saat Anda berencana membuka CSV di Excel. Biarkan BOM nonaktif untuk yang lain — sebagian besar parser modern (PostgreSQL, Pandas, jq, csv Python) akan tersedak atau menyertakan BOM sebagai karakter aneh di awal sel pertama.