Skip to content

CSV'den JSON'a Dönüştürücü

CSV'yi tarayıcınızda JSON'a dönüştürün. RFC 4180, tür çıkarımı, başlık satırı, büyük tam sayı güvenli. %100 gizli, yükleme yok.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Ön ayar
Seçenekler · , · auto · LF · header · no BOM · flatten
Ayırıcı
İlk satır başlık
Türleri çıkar (sayı, boolean, null)
0 karakter 0 satır
JSON Çıktı
0 satır · 0 sütun
RFC 4180 uyumluluğu, Tür Çıkarımı doğruluğu, büyük tam sayı hassasiyet koruması ve başlıksız otomatik adlar davranışı için incelendi — Go Tools Engineering Team · May 9, 2026

JSON nedir ve neden CSV'den dönüştürülür?

JSON (JavaScript Object Notation); API yanıtları, yapılandırma dosyaları ve yapılandırılmış veri değişimi için evrensel biçimdir — her modern programlama dili, her veritabanı ve her web çerçevesi birinci sınıf JSON desteğine sahiptir. CSV (Comma-Separated Values) ise en eski ve en yaygın desteklenen tablo biçimidir — her elektronik tablo uygulaması, her veritabanı dışa aktarımı ve her analitik aracı bunu üretebilir. İkisi arasında dönüştürme, veri mühendisliğindeki en yaygın işlerden biridir: bir elektronik tablodan, veritabanı dökümünden veya üçüncü taraf dışa aktarımdan bir CSV alırsınız ve bir API'yi beslemek, bir ön ucu doldurmak ya da bir NoSQL deposuna yüklemek için JSON'a ihtiyaç duyarsınız. Bu araç, bu dönüşüm yolu için inşa edilmiştir ve çoğu çevrimiçi dönüştürücünün bozduğu dört senaryoyu işler.

Bu araç, tipik çevrimiçi CSV'den JSON'a dönüştürücülere kıyasla dört önemli farka sahiptir:

**1. RFC 4180 Durum Makinesi Ayrıştırıcısı.** CSV basit görünür; ancak tırnaklama kuralları inceliklidir: çift tırnakla sarılmış bir alan virgül, gömülü yeni satır ve kaçırılmış çift tırnak (ikiye katlanmış, "" gibi) içerebilir. Saf virgülle bölme ayrıştırıcıları gerçek dünya verilerinde — virgül içeren adresler, çok satırlı metin alanları ve tırnak içeren tırnaklı değerlerde — bozulur. Bu araç, RFC 4180'i (CSV için IETF spesifikasyonu) izleyen uygun bir durum makinesi ayrıştırıcısı uygular; tırnaklanmış alanları, gömülü ayırıcıları, gömülü satır sonlarını ve kaçırılmış tırnakları her yönde doğru biçimde işler. Çıktı; Python'un csv modülü, PostgreSQL COPY, AWS S3 SELECT ve uyumlu herhangi bir ayrıştırıcı üzerinden gidiş-dönüş yapabilir.

**2. Büyük Tam Sayı Güvenli Tür Çıkarımı.** Türleri çıkar açıkken sayısal dizeler sayıya, true/false boolean'a, boş hücreler null'a dönüşür. Ancak çıkarım hattının iki önemli koruması vardır: başında sıfır olan dizeler (007, 0123) tanımlayıcıları gösterdiği için dize olarak tutulur — sayıya dönüştürmek bunları sessizce kaldırır. Ve 2^53 - 1 (9007199254740991) üzerindeki tam sayılar IEEE 754 hassasiyet kaybını önlemek için yine dize olarak tutulur. Twitter snowflake ID'leri, Discord ID'leri, MongoDB Long alanları ve K8s resourceVersion sessizce yuvarlanmak yerine birebir kalır. ISO tarih dizeleri bilinçli olarak dize tutulur — JSON'un yerel tarih türü yoktur.

**3. Başlık Otomatik Adları veya İlk Satırı Kullan.** Başlık açık (varsayılan), ilk satırı sütun adları olarak ele alır ve sonraki her satır bu adlarla anahtarlanmış bir JSON nesnesi olur. Başlık kapalıyken ayrıştırıcı sütunlara col1, col2, col3 olarak otomatik ad verir — başlık satırı olmayan ham veri dökümleri için kullanışlıdır. Ayırıcı çip satırı en yaygın dört ayırıcıyı kapsar: virgül (RFC 4180 varsayılanı), noktalı virgül (Excel-EU yerel ayarları), Tab (Unix araçlarından ve veri ambarlarından gelen TSV) ve pipe (yüksek-virgül alanları). Çipi seçin ve ayrıştırın — tipik gerçek dünya CSV'leri için elle yapılandırma gerekmez.

**4. %100 Tarayıcı Tabanlı Gizlilik.** Genellikle kullanıcı kişisel verileri, dahili veritabanı dışa aktarımları, müşteri kayıtları ve üretim dışa aktarımları içeren CSV verileriniz tarayıcınızdan asla ayrılmaz. Hiçbir veri sunucuya gönderilmez, kayıt altına alınmaz, girdiyi yakalayan analitik kullanılmaz. Bunu tarayıcınızın Ağ sekmesinde doğrulayabilirsiniz. Bu, çevrimiçi bir araçta hassas verileri işlemenin tek güvenli yoludur. Yönü değiştir'e tıklayarak ters yönü görebilir veya CSV hedefiniz olduğunda tamamlayıcı JSON'dan CSV'ye Dönüştürücü aracımızı kullanabilirsiniz. Tüketmeden önce JSON çıktısını doğrulamanız mı gerekiyor? JSON Biçimlendirici aracımızı deneyin.

JSON'un güçlü yönleri kesin türler, yerel iç içe yapı ve her yerde aynı şekilde ayrıştırılan katı bir spesifikasyondur — veriyi tüketen bir makine olduğunda doğru biçim. CSV'nin güçlü yönleri evrensellik ve insan tarafından okunabilirliktir — bir insan elektronik tabloyu açtığında doğru biçim. Doğru araç tüketiciye bağlıdır: elektronik tablo okuyan insan → CSV, API tüketen makine → JSON. Bu dönüştürücü, köprüyü her iki yönde de kurar.

// Input CSV (comma + LF, header on, infer types on)
id,name,active,score
1,Alice,true,98.5
2,Bob,false,87
3,Carol,true,

// Output JSON
[
  { "id": 1, "name": "Alice", "active": true, "score": 98.5 },
  { "id": 2, "name": "Bob", "active": false, "score": 87 },
  { "id": 3, "name": "Carol", "active": true, "score": null }
]

// Same input with Header off (no first-row keys)
1,Alice,true,98.5
2,Bob,false,87

// Becomes
[
  { "col1": 1, "col2": "Alice", "col3": true, "col4": 98.5 },
  { "col1": 2, "col2": "Bob", "col3": false, "col4": 87 }
]

Temel Özellikler

RFC 4180 Durum Makinesi Ayrıştırıcısı

IETF CSV spesifikasyonunu izleyen katı durum makinesi ayrıştırıcısı: tırnaklanmış alanların, gömülü ayırıcıların, gömülü CR/LF'nin ve kaçırılmış çift tırnakların (ikiye katlanmış) doğru işlenmesi. Çıktı; Python csv, PostgreSQL COPY ve AWS S3 SELECT üzerinden temiz biçimde gidiş-dönüş yapar.

Büyük Tam Sayı Güvenli Tür Çıkarımı

Türleri çıkar açıkken sayısal dizeler sayıya, true/false boolean'a, boş hücreler null'a dönüşür. 2^53 - 1 üzerindeki tam sayılar IEEE 754 hassasiyet kaybını önlemek için dize olarak kalır; başında sıfır olan dizeler (007, 0123) tanımlayıcı anlamını korumak için dize olarak kalır.

Otomatik Adlarla Başlık Açık/Kapalı

Başlık açık (varsayılan), ilk satırı JSON anahtarları olarak kullanır. Başlık kapalıyken sütunlara sırayla col1, col2, col3 olarak otomatik ad verilir — başlık satırı olmayan ham veri dökümleri ve makine tarafından üretilen CSV'ler için kullanışlıdır. Otomatik adlar belirleyici ve hat dostudur.

Virgül, Noktalı Virgül, Tab, Pipe Ayırıcıları

En yaygın dört ayırıcı için tek tıkla Ayırıcı çipleri: `,` (RFC 4180 varsayılanı), `;` (Excel-EU yerel ayarları), `\t` (Unix araçlarından, BigQuery'den, Snowflake'ten gelen TSV) ve `|` (yüksek-virgül serbest metin alanları). Ayrıştırıcı modları anında değiştirir — dosyaları önce dönüştürmek gerekmez.

Büyük Tam Sayı Algılama

2^53 üzerindeki tam sayılar ayrıştırma sırasında algılanır ve JSON'da dize olarak korunur — Twitter snowflake ID'leri, Discord ID'leri, MongoDB Long alanları ve K8s resourceVersion, JavaScript'in IEEE 754 sayı türü tarafından sessizce yuvarlanmak yerine birebir kalır.

Yönü Değiştir ile Çift Yönlü

Tek bir Yönü değiştir düğmesi dönüşümü yerinde çevirir: girdi JSON olur, çıktı CSV olur, mevcut metin korunur. Bir hatta göndermeden önce kayıpsız dönüşümü doğrulamak için verinizi her iki yönde gidiş-dönüş yapın.

Örnekler

Başlıklı Elektronik Tablo Dışa Aktarımı

id,name,email,role
1,Alice,alice@example.com,admin
2,Bob,bob@example.com,editor
3,Carol,carol@example.com,viewer
4,Dan,dan@example.com,viewer

Bir elektronik tablodan standart CSV. Başlık açık ve Türleri çıkar açıkken temiz, türlü JSON elde edersiniz: tam sayılar tam sayı kalır; boolean/null değerler algılanır.

Tab Ayrılmış Günlük Dışa Aktarımı (TSV)

ts	event	user	duration
2026-05-09T10:00:00Z	signup	alice	142
2026-05-09T10:01:00Z	login	alice	87
2026-05-09T10:02:00Z	checkout	alice	312
2026-05-09T10:03:00Z	logout	alice	44

Ayırıcı olarak `\t` (Tab) seçin. Varsayılan Başlık açıkken ilk satır otomatik olarak anahtarlar şeklinde kullanılır.

Excel-EU CSV (noktalı virgül ayırıcı, CRLF)

id;name;price
1;Alice;1234,56
2;Bob;9876,54
3;Carol;42,00

DE/FR/IT/ES yerel ayarlarındaki Excel, virgül ondalık işareti olduğu için `;` ayırıcı yayar. Ayırıcı çipinden `;` seçin — gerisini ayrıştırıcı halleder.

Gömülü Virgül ve Kaçırılmış Tırnaklar

name,role,note
"Smith, Jr.",admin,"He said ""hi"""
"Doe, Jane",editor,"Two
lines"

Standart RFC 4180 tırnaklama: tırnaklı alanlar ayırıcı ve kaçırılmış tırnak (ikiye katlanmış) içerebilir. Ayrıştırıcı bir durum makinesidir — tırnak içinde asla bölmez.

Büyük Tam Sayı ID'li CSV

id,event,user
9007199254740993,signup,alice
9007199254740994,login,bob
9007199254740995,checkout,carol

Büyük tam sayılar JavaScript'in güvenli aralığını (2^53 - 1) aşar. Türleri çıkar açıkken ayrıştırıcı bunu algılar ve hassasiyeti korumak için değeri dize olarak tutar — kısaltma olmaz.

Başlıksız CSV

1,Alice,admin
2,Bob,editor
3,Carol,viewer
4,Dan,viewer

Başlık'ı kapatın; sütunlar otomatik olarak `col1`, `col2`, `col3` adını alır. Başlık satırı olmayan ham veri dökümleri için bunu kullanın.

Nasıl Kullanılır

  1. 1

    CSV'nizi yapıştırın

    CSV'nizi yukarıdaki giriş alanına girin veya yapıştırın. Araç; virgül, noktalı virgül, Tab ve pipe ile ayrılmış verileri kabul eder. Elektronik tablo dışa aktarımı, TSV günlüğü veya noktalı virgüllü Excel-EU CSV'si gibi bir örnek denemek için «Örnek yükle» düğmesine de tıklayabilirsiniz.

  2. 2

    Ayırıcıyı seçin (veya Tab)

    Ayırıcıyı tek tıkla değiştirmek için `,` (varsayılan), `;` (Excel-EU noktalı virgül), `\t` (TSV) veya `|` (Pipe) düğmesine tıklayın. İnce denetim için Seçenekler panelini açın: Başlık açık/kapalı ve Türleri çıkar açık/kapalı. Başlık kapalıyken sütunlar otomatik olarak col1, col2, col3 adını alır.

  3. 3

    JSON'u Kopyalayın veya İndirin

    JSON'u panonuza almak için Kopyala'ya veya kodunuz, API'niz ya da hattınız için hazır bir .json dosyası olarak kaydetmek için İndir'e tıklayın. Gidiş-dönüşler için JSON'u yerinde CSV'ye dönüştürmek üzere Yönü değiştir'e tıklayın.

Yaygın Dönüştürme Tuzakları

Kaynakta Tırnaklanmamış Gömülü Virgül

CSV'niz saf bir join(',') ile elle oluşturulduysa, virgül içeren her alan (Smith, Jr. veya 1,234.56) sütun sınırlarını bozar — ayrıştırıcı bir tane olması gereken yerde fazladan sütun görür. Çözüm, RFC 4180 uyarınca sorunlu alanı çift tırnak içine almaktır. Bu araç tırnaklanmış alanları doğru biçimde işler; ancak kaynak CSV'nin uygun tırnaklama kullanması gerekir.

✗ Yanlış
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Doğru
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

Excel-EU Noktalı Virgüllerinin Virgül Olarak Ayrıştırılması

Avrupa Excel yerel ayarları (Almanya, Fransa, İspanya, İtalya vb.), virgül ondalık ayırıcı için ayrıldığı için noktalı virgülle ayrılmış CSV yayar. Ayırıcıyı `,` (varsayılan) bırakırsanız her satır gömülü noktalı virgüllerle tek bir sütuna sıkışır. `;` Ayırıcı çipini seçin — ayrıştırıcı noktalı virgül moduna geçer ve doğru sütunları üretir.

✗ Yanlış
// Wrong delimiter (default comma) on Excel-EU file
id;name;price
1;Alice;1234,56
// Each row becomes one column: { col1: "1;Alice;1234,56" }
✓ Doğru
// Correct: pick `;` Delimiter chip
id;name;price
1;Alice;1234,56
// Output: { id: 1, name: "Alice", price: "1234,56" }

JSON.parse Sonrası Hassasiyetini Kaybeden Büyük Tam Sayı ID'leri

Twitter snowflake ID'leri, Discord ID'leri ve diğer 64 bitlik tam sayılar JavaScript'in güvenli aralığını (2^53 - 1) aşar ve JSON.parse() bunları sayı olarak okuduğunda hassasiyet kaybeder. Türleri çıkar açıkken bu araç güvenli sınırın üzerindeki değerleri algılar ve onları dize olarak tutarak rakamları birebir korur. Sayısal türe geri dönüştürmek için kodunuzda BigInt("9007199254740993") kullanın.

✗ Yanlış
// Without big-int detection
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Doğru
// With Infer types on, big integers stay as strings
{"id": "9007199254740993"}
// Use BigInt(value) in code to preserve precision

Başlık Satırı Boşluk İçeriyor

CSV başlığınız `id, name, email` ise (virgüllerden sonra boşluklarla), JSON anahtarları başında boşluk dahil olmak üzere "id", " name", " email" olur. Ayrıştırıcı, RFC 4180 uyarınca başlığı verildiği gibi birebir korur. Çözüm, ya yapıştırmadan önce kaynak CSV'yi temizlemek ya da alt akışta anahtarları yeniden adlandırmaktır (jq 'with_entries(.key |= ltrimstr(" "))' veya JavaScript Object.fromEntries(Object.entries(o).map(([k,v]) => [k.trim(), v]))).

✗ Yanlış
id, name, email
1, Alice, alice@example.com
// Output keys: "id", " name", " email" (with leading spaces)
✓ Doğru
id,name,email
1,Alice,alice@example.com
// Output keys: "id", "name", "email" (clean)

Tutarsız Satır Uzunluğu

CSV'deki satırların farklı sütun sayılarına sahip olduğunda (bazılarının sondaki virgüllerle, bazılarının olmadan), ayrıştırıcı eksik hücreleri boş dizelerle (veya Türleri çıkar açıkken null ile) doldurur ve başlık uzunluğunun ötesindeki fazlalıkları atar. Satırların normalleştirildiğini bilmeniz için bir Şema notları uyarısı görünür. Bu genellikle iyidir; ancak alt akış tüketicileri katı bir satır biçimi bekliyorsa çıktıyı doğrulayın.

✗ Yanlış
name,role,note
Alice,admin
Bob,editor,first day
// Row 1 is short by one cell
✓ Doğru
// Output (note empty/null cell in row 1)
[
  { "name": "Alice", "role": "admin", "note": null },
  { "name": "Bob", "role": "editor", "note": "first day" }
]

Tarih Dizelerinin Beklenmedik Şekilde Zorla Çevrilmesi

ISO 8601 tarih dizeleri (2026-05-09T10:00:00Z), JSON çıktısında bilinçli olarak dize olarak tutulur — JSON'un yerel tarih türü yoktur; bu nedenle zorla çevirme ya serileştirme sonrası hayatta kalmayan bir JavaScript Date nesnesi ya da saat dilimi bilgisini kaybeden bir sayısal epoch üretirdi. Bu, tasarım gereğidir. Tarihleri kullanım noktasında new Date(value) ya da seçtiğiniz tarih kütüphanesiyle ayrıştırın. Yalnızca tarihleri korumak için Türleri çıkar'ı kapatmayın — bu, sayıları da dize olarak tutar.

✗ Yanlış
// Expecting a Date object in the output
ts,event
2026-05-09T10:00:00Z,signup
// Output ts is the string "2026-05-09T10:00:00Z", NOT a Date
✓ Doğru
// Correct: parse at the point of use in your code
const rows = JSON.parse(output);
const when = new Date(rows[0].ts);
// when is now a Date object

Yaygın Kullanım Senaryoları

Elektronik Tablo Dışa Aktarımından API İçe Aktarımına
Excel, Google E-Tablolar veya Numbers'tan dışa aktarılmış bir CSV'yi yapıştırın ve bir REST API'ye POST, GraphQL mutasyonu veya toplu içe aktarma uç noktası için hazır bir nesne dizisi JSON elde edin. En yaygın kullanım senaryosu — analistler elektronik tablo verisi üretir, mühendisler arka ucu beslemek için türlü JSON'a ihtiyaç duyar.
Excel Dışa Aktarımından Araçlara
Excel CSV dışa aktarımlarını (`;` çipiyle Excel-EU noktalı virgülle ayrılmış dosyalar dahil) JavaScript araçları, jq betikleri veya JSON okuyan herhangi bir sistemle işlenmek üzere JSON'a dönüştürün. Ayrıştırıcı; BOM ayırma ve CRLF satır sonlarını doğru biçimde işler; böylece Excel dışa aktarımları ilk satırda bozulmaz.
TSV Günlüğünden Analitiğe
BigQuery dışa aktarımlarından, Snowflake yüklemelerinden, Vector hatlarından veya Unix araçlarından (cut, awk) gelen Tab ile ayrılmış günlükler genellikle .tsv olarak gelir. Tab Ayırıcı çipini seçin ve anlık analiz, dashboard alımı veya hat aşaması dönüşümü için hazır türlü bir JSON dizisi alın.
Veritabanı CSV Dökümünden ETL'ye
PostgreSQL COPY TO CSV çıktısını, MySQL SELECT INTO OUTFILE'ı veya herhangi bir veritabanı CSV dökümünü; bir NoSQL deposuna yüklemek, JavaScript ETL hattına beslemek veya satır ayrılmış JSON olarak BigQuery'ye göndermek için JSON'a dönüştürün. Büyük tam sayı algılama, JavaScript'in güvenli aralığını aşan sayısal ID'leri korur.
Postman/Newman CSV Test Sonucu Tüketimi
Postman test çalıştırmaları, istek başına başarı/başarısızlık CSV raporları dışa aktarır. Programatik tüketim için JSON'a dönüştürün — bir durum dashboard'una, alarm hattına veya test sonucu toplayıcıya besleyin. Karışık biçimli satırlar (başarısız testlerin fazladan bir error sütunu vardır) boş/null doldurmalarla işlenir.
Küçük CSV'den Hızlı JSON Yapılandırmasına
Küçük bir sabit CSV'niz mi var — para birimi kodları, ülke adları, ürün SKU'ları — ve bir yapılandırma dosyası ya da JavaScript sabiti için JSON dizisine mi ihtiyacınız var? Yapıştırın, kopyalayın, yapıştırın. Türleri çıkar açıkken sayılar ve boolean'lar doğru biçimde türlenir; Başlık açıkken bir .json dosyasına bırakmaya hazır adlı alanlı nesnelerden oluşan bir dizi elde edersiniz.

Teknik Ayrıntılar

RFC 4180 Durum Makinesi Ayrıştırıcısı İç Yapısı
Ayrıştırıcı, RFC 4180'i izleyen uygun bir sonlu durum makinesi uygulamasıdır. Durumlar arasında UnquotedField, QuotedField, AfterQuote, RowEnd ve EndOfInput yer alır. Ayrıştırıcı; ayırıcıyı içeren tırnaklı alanları, tırnaklı alanlardaki gömülü CR/LF'yi, kaçırılmış çift tırnakları (ikiye katlanmış, "" gibi) ve sondaki yeni satırları doğru biçimde işler. Bu, Python'un csv modülü, PostgreSQL COPY, AWS S3 SELECT ve uyumlu herhangi bir ayrıştırıcı üzerinden kayıpsız gidiş-dönüş yapan çıktı üretir. Durum makinesi ayırıcı farkındadır; bu nedenle `,`'den `;` veya `\t`'ye geçmek tırnaklama anlamını değiştirmez — yalnızca alan ayırıcısını.
Tür Çıkarımı Algoritması
Türleri çıkar açıkken her hücre sıralı bir algılama hattından geçer. İlk olarak boş bir hücre JSON null olur. İkinci olarak değişmez true ve false dizeleri JSON boolean olur. Üçüncü olarak başında sıfır olan dizeler (^0[0-9]+$) tanımlayıcı anlamını korumak için dize olarak tutulur — sayıya dönüştürmek baştaki sıfırları sessizce kaldırır. Dördüncü olarak tam sayı değişmezleri güvenli tam sayı sınırına (-2^53+1 ila 2^53-1) karşı sınanır; bu aralığın dışındaki değerler IEEE 754 hassasiyet kaybını önlemek için dize olarak tutulur. Beşinci olarak ISO 8601 tarih dizeleri regex ile algılanır ve bilinçli olarak dize olarak tutulur — JSON'un yerel tarih türü yoktur. Beş korumadan da hayatta kalan her şey Number() üzerinden (sayısal) dönüştürülür ya da dize olarak tutulur (geri kalan her şey).
BOM Ayırma ve Kodlama İşleme
Tüm girdi UTF-8 olarak kabul edilir. İsteğe bağlı UTF-8 BOM (0xEF 0xBB 0xBF), mevcut olduğunda ilk satırın ilk hücresinden sessizce ayrılır — bu, ilk sütun adının başında BOM baytlarının kaçak bir karakter olarak dahil edilmesini önler (Windows'taki Excel genellikle BOM yayar ve saf ayrıştırıcıları bozar). Diğer kodlamalar (Windows-1252, ISO-8859-1) otomatik algılanmaz; metin bu araca ulaştığında tarayıcı File API'si baytları zaten UTF-8 olarak çözmüş olurdu. UTF-8 olmayan girdiniz varsa yapıştırmadan önce iconv veya düzenleyicinizin kodlama dışa aktarımı seçeneğiyle dönüştürün.

En İyi Uygulamalar

Virgül Olmayan Veri için Ayırıcıyı Açıkça Seçin
Otomatik algılamaya güvenmeyin. CSV'niz noktalı virgül (Excel-EU), Tab (BigQuery, Snowflake veya Unix araçlarından gelen TSV) veya pipe (yüksek-virgül alanları) kullanıyorsa yapıştırmadan önce eşleşen Ayırıcı çipine tıklayın. Ayrıştırıcı ayırıcı farkındadır: çipi değiştirmek girdiyi anında yeniden ayrıştırır. Bu, ayrıştırıcı yanlış ayırıcıyı kullandığı için her satırın tek bir hücreye sıkıştığı en yaygın CSV'den JSON'a hata modundan kaçındırır.
Türlü JSON için Türleri Çıkar'ı Açık Tutun
Türleri çıkar açıkken (varsayılan), türlü JSON elde edersiniz: sayılar sayı olarak, boolean'lar boolean olarak, boş hücrelerin göründüğü yerlerde null. Çoğu tüketicinin istediği budur — API'ler, ön uçlar, JavaScript kodu. Yalnızca her hücrenin alt akış tür katılığı için (kaynak baytları birebir karşılaştıran tür-katı tüketiciler, doğrulama hatları) dize olarak korunması gerektiğinde Türleri çıkar'ı kapatın. Algılama hattı; başında sıfır olan dizeler, büyük tam sayılar ve ISO tarihleri için korumalara sahiptir; böylece çıkarım açıkken bile tanımlayıcılar ve tarihler güvende kalır.
ID'leri Yukarı Akış CSV'sinde Dize Olarak Tırnaklayın
CSV'niz, kontrol ettiğiniz bir veritabanı veya hat tarafından üretiliyorsa büyük sayısal ID'leri (Twitter snowflake'leri, Discord ID'leri, K8s resourceVersion) tırnaklı CSV dizeleri ("9007199254740993") olarak yayın; böylece Tür Çıkarımı'ndan temiz biçimde geçerler. Ayrıştırıcı bunları her durumda dize olarak tutar (büyük tam sayı algılama 2^53 - 1 üzerindeki değerleri yakalar); ancak açık tırnaklama en sağlam yukarı akış sözleşmesidir ve hassasiyet konusunda her türlü belirsizliği önler.
Başlık Satırı İlk Satır Olmalı
Başlık açık (varsayılan), ilk satırı sütun adları olarak otomatik algılar. CSV'nizin başlıktan önce yorumları, boş satırları veya meta verisi varsa yapıştırmadan önce bunları kaldırın — ayrıştırıcı baştaki veri olmayan satırları atlamaz. Başlıksız CSV'ler (ham dışa aktarımlar, makine tarafından üretilen dökümler) için Başlık'ı kapatın; sütunlar sırayla otomatik olarak col1, col2, col3 olarak adlandırılacaktır. Başlıksız bir dosyaya bir tane ekleyerek başlık taklit etmeye çalışmayın; ya Başlık'ı kapatın ya da kaynağı düzeltin.
CSV → JSON → CSV Gidiş-Dönüşleri için Stringify Modu Kullanın
Veriyi her iki yönde gidiş-dönüş (CSV → JSON → CSV) yapmayı planlıyorsanız, ters yön (JSON → CSV), iç içe dizi veya nesnelerin kayıpsız hayatta kalabilmesi için Stringify moduna ihtiyaç duyar. Ters yöndeki Düzleştir modu, CSV ayrıştırıcısı tarafından kusursuz biçimde yeniden oluşturulamayan noktalı anahtarlar (customer.address.city) yayar. Tam ters yön referansı ve gidiş-dönüş test notları için JSON'dan CSV'ye dönüştürücü aracımıza bakın.

Sıkça Sorulan Sorular

Bu araç ne işe yarar?
CSV'yi doğrudan tarayıcınızda JSON'a dönüştürür ve çift yönlü destek sunar: aynı panelde JSON'u tekrar CSV'ye dönüştürmek için Yönü değiştir'e tıklayın. CSV'yi giriş alanına yapıştırın; araç anında JSON çıktısı üretir — yükleme yok, kayıt yok, hiçbir şey makinenizden ayrılmaz. Ayrıştırıcı RFC 4180 uyumludur; virgül, noktalı virgül (Excel-EU), Tab (TSV) ve pipe için ayırıcı çiplerini işler ve Türleri çıkar seçeneği sayısal dizeleri sayılara, true/false değerlerini boolean'a, boş hücreleri null'a dönüştürür. Araç ayrıca; aksi takdirde JSON.parse üzerinden hassasiyetini kaybedecek büyük tam sayı ID'lerini, tırnaklı alanlardaki gömülü virgülleri, kaçırılmış çift tırnakları (ikiye katlanmış) ve otomatik adlandırılmış sütunlara (col1, col2, col3) sahip başlıksız verileri işler.
Verilerim herhangi bir yere yükleniyor mu?
Hayır. Tüm dönüştürme, JavaScript kullanılarak %100 istemci tarafında, tarayıcınızda çalışır. CSV verileriniz hiçbir zaman iletilmez, hiçbir sunucuda saklanmaz, kayıt altına alınmaz ve analiz edilmez. Bu, aracı kişisel veri içeren elektronik tablo dışa aktarımları, dahili veritabanı CSV dökümleri, müşteri kayıtları ve hassas veriler için güvenli kılar. Bunu tarayıcınızın Ağ sekmesinde doğrulayabilirsiniz — CSV yapıştırmak sıfır ağ isteği tetikler. Araç, girdi verileriniz için cookie kullanmaz ve yapıştırdıklarınızı yakalayacak üçüncü taraf analitik hizmetleri içermez.
Tür Çıkarımı nasıl çalışır?
Türleri çıkar açıkken, ayrıştırılan her hücre JSON'a yerleştirilmeden önce küçük bir algılama hattından geçirilir: sayısal dizeler (1, 42, -3.14) sayıya, true/false boolean'a, boş dizeler ve değişmez null değer JSON null'a dönüşür; geri kalan her şey dize olarak kalır. İki önemli koruma vardır. İlki, 007 veya 0123 gibi başında sıfır olan dizeler sayısal görünseler de dize olarak tutulur — başında sıfırlar değerin bir tanımlayıcı olduğunu gösterir (posta kodları, telefon kodları, sıra ID'leri) ve sayıya dönüştürmek bu sıfırları sessizce kaldırır. İkincisi, 2^53 - 1 (9007199254740991) üzerindeki tam sayılar IEEE 754 hassasiyet kaybını önlemek için yine dize olarak tutulur. ISO tarih dizeleri (2026-05-09T10:00:00Z) bilinçli olarak dize olarak bırakılır — JSON'un yerel tarih türü yoktur; bu nedenle bunları zorla çevirmek serileştirme sonrası hayatta kalmayan bir JavaScript Date nesnesi üretirdi.
Büyük tam sayılar neden dize olarak tutuluyor?
JavaScript'in Number türü IEEE 754 çift duyarlık kullanır ve tam sayıları yalnızca 2^53 - 1 (9007199254740991) değerine kadar tam olarak temsil edebilir. Gerçek dünya tanımlayıcıları — Twitter snowflake ID'leri, Discord ID'leri, MongoDB Long alanları, K8s resourceVersion — bu güvenli aralığı aşan 64 bitlik tam sayılardır. Ayrıştırıcı bunlarda Number() çağırırsa sonuç sessizce yuvarlanır (9007199254740993 değeri 9007199254740992'ye dönüşür). Türleri çıkar hattı, güvenli tam sayı sınırının üzerindeki değerleri algılar ve bunları dize olarak tutar; böylece rakamlar bozulmadan hayatta kalır. Çıktının altında etkilenen alanları listeleyen bir uyarı başlığı belirir. Kodda hassasiyetle geri dönüştürmek için JSON dize değeri üzerinde BigInt("9007199254740993") kullanın.
CSV'm noktalı virgül kullanıyor — nasıl ayrıştırırım?
Avrupa Excel yerel ayarları (Almanya, Fransa, İspanya, İtalya vb.) virgül ondalık ayırıcı için ayrıldığı için noktalı virgülle ayrılmış CSV yayar. Ayırıcı satırındaki `;` çipine (veya tam Seçenekler panelini açıp `;` seçeneğini) tıklayın; ayrıştırıcı anında noktalı virgül moduna geçer. Bu tür dosyaların içindeki virgül ondalıklı sayısal değerler (1234,56), Avrupa ondalık gösterimi yerel ayara özgü olduğundan Tür Çıkarımı tarafından dize olarak tutulur — sayısal değerlere ihtiyacınız varsa bunları kodda dönüştürün. Ayrıştırıcı yeni ayırıcıyla RFC 4180 tırnaklama kurallarını uygulamaya devam eder; böylece içlerinde noktalı virgül bulunan tırnaklı alanlar doğru biçimde işlenir.
TSV (Tab ayrılmış) destekli mi?
Evet. Ayırıcı satırındaki Tab çipine tıklayın; ayrıştırıcı virgül yerine Tab karakterlerinde böler. TSV, yerel ayarlar arası CSV paylaşımı için en temiz biçimdir çünkü Tab'ın metin alanlarında görünme olasılığı düşüktür ve çoğu tırnaklama sınır durumunu ortadan kaldırır. Unix araçlarının (cut, awk), veri ambarlarının (BigQuery, Snowflake) varsayılan çıktısıdır ve Excel tarafından her yerel ayarda iyi desteklenir. .tsv veya .tab dosyanızın içeriğini doğrudan yapıştırın — ayrıştırıcının geri kalanı (başlık otomatik adları, tür çıkarımı, büyük tam sayı algılama) aynı şekilde çalışır.
CSV'mde başlık satırı yoksa ne olur?
Seçenekler panelinde Başlık'ı kapatın. Ayrıştırıcı ilk satırı sütun adları yerine veri olarak kabul edecek ve sütun başına bir tane olmak üzere otomatik anahtarlar üretecek: col1, col2, col3, …. Çıktı JSON, bu sentetik anahtarlara sahip nesnelerden oluşan bir dizidir. Bu; başlığı atlayan veritabanlarından gelen ham dışa aktarımlar, sabit biçimli düz dosyalar ve makine tarafından üretilen CSV'ler için kullanışlıdır. Farklı anahtar adları istiyorsanız önce otomatik adlarla dönüştürün, ardından alt akış hattınızda anahtarları yeniden adlandırın (jq, JavaScript map vb.). Araç, anahtarları veri sezgilerinden çıkarmaz — Başlık kapalıyken her zaman col1, col2, col3 üretir.
Gömülü virgüllü tırnaklı alanları işleyebilir mi?
Evet. Ayrıştırıcı uygun bir RFC 4180 durum makinesidir: bir açılış çift tırnağı gördüğünde QuotedField durumuna geçer ve sonraki kaçırılmamış çift tırnağa kadar her şeyi (ayırıcılar ve gömülü satır sonları CR/LF dahil) tek bir alan olarak ele alır. Kaçırılmış çift tırnaklar (ikiye katlanmış, "" gibi) doğru biçimde tek tırnağa daraltılır. Bu, `"Smith, Jr."` ifadesinin `Smith, Jr.` içeren tek bir alan olarak ayrıştırıldığı ve `"He said ""hi"""` ifadesinin `He said "hi"` olarak ayrıştırıldığı anlamına gelir. Saf virgülle bölme ayrıştırıcıları gerçek dünya verilerinde bozulur; bu araç bozulmaz.
Tarihlerim neden dize olarak tutuluyor?
Tasarım gereği. JSON'un yerel tarih türü yoktur — yalnızca dizeler, sayılar, boolean'lar, null, diziler ve nesneler. ISO 8601 tarih dizeleri (2026-05-09T10:00:00Z), JSON çıktısında birebir aynı şekilde dize olarak tutulur; bu, doğru ve kayıpsız temsildir. Ayrıştırıcı bunları JavaScript Date nesnelerine dönüştürseydi, oluşan JSON'u serileştirmek farklı bir çıktı üretirdi (yararlı bir gidiş-dönüş temsili olmayan bir nesne veya saat dilimi bilgisini kaybeden bir sayısal zaman damgası). Tarihleri JSON'da dize olarak tutun ve kullanım noktasında new Date(value) ya da seçtiğiniz tarih kütüphanesiyle ayrıştırın. Bu, her büyük JSON-CSV hattının davranışıyla eşleşir: Pandas, jq ve Python csv + json modülleri.
Satırların uzunlukları farklıysa ne olur?
Karışık biçimli satırlar (başlıktan daha fazla veya daha az sütuna sahip olanlar) başlık uzunluğuna eşleşecek şekilde doldurulur. Başlık sayısının ötesindeki fazla hücreler atılır ve eksik hücreler boş dizeye (veya Türleri çıkar açıkken ve ayrıştırıcı boş bir değer gördüğünde null'a) ayarlanır. Çıktının altında bir Şema notları uyarısı görünür; böylece satırların normalleştirildiğini bilirsiniz. Bu, anahtarları birleştiren alt akış araçları için genellikle iyidir; ancak tüketiciniz katı satır biçimi tutarlılığı bekliyorsa çıktıyı doğrulayın. En yaygın neden, bazı satırlardaki sondaki virgüllerdir veya yukarı akış dışa aktarıcıların gömülü satır sonu içeren tırnaklı alanları yanlış saymasıdır.
Ne kadar büyük bir dosya yapıştırabilirim?
100.000 karakter veya 2.000 satır üzerinde, canlı dönüştürme otomatik olarak manuel moda geçer: bir bilgi başlığında bir Dönüştür düğmesi belirir ve dönüştürme yalnızca tıkladığınızda çalışır. Bu, yoğun ayrıştırma sırasında her tuş vuruşunda tarayıcının ana iş parçacığının bloke olmasını engeller. 5 MB veya 50.000 satır üzerindeki çıktılar için araç, ekrandaki JSON önizlemesini ilk 500 satıra kısaltır ve N satırın ilk 500'ü gösteriliyor başlığı görüntüler — ancak İndir düğmesi yine de her satırı içeren tam dosyayı üretir. Kesin üst sınır 10 MB girdidir; bunun üzerinde araç bir hata gösterir ve girdiyi azaltmanızı ister.
JSON → CSV → JSON gidiş-dönüşü yapabilir miyim?
Evet, JSON düz olduğunda (iç içe nesne veya dizi yoksa). İç içe veriler için ters yön (JSON → CSV), dizi ve nesneleri tek hücre içinde JSON olarak korumak üzere Stringify moduna ihtiyaç duyar — bu, Türleri çıkar açıkken bu CSV → JSON dönüştürücüsü üzerinden kayıpsız gidiş-dönüş yapar. Panelin üst kısmındaki Yönü değiştir'e tıklayarak JSON'dan CSV'ye moduna geçin ve gidiş-dönüşü doğrulayın. Ters yöndeki Düzleştir modu tek yönlüdür: noktalı anahtarlar (customer.address.city) üretir ve bunlar CSV'den kusursuz biçimde yeniden oluşturulamaz. Tam Stringify desteğiyle ters yön için JSON'dan CSV'ye dönüştürücü aracımıza bakın.