;

CSV ↔ JSON Dönüştürücü

CSV verilerini JSON formatına veya tersine dönüştürün. Sınırlayıcı (delimiter) ve başlık satırı desteği. Tarayıcıda anında çalışır, kayıt gerekmez, ücretsizdir.

CSV ↔ JSON

Çift Yön
İlk Satır Başlık
JSON Girinti
// ÇIKTI —

    

CSV ve JSON Nedir? Aralarındaki Fark Ne?

CSV (Comma-Separated Values), virgülle (veya başka ayıraçla) ayrılmış satırlardan oluşan tablo formatıdır. 1972'den beri var, Excel'in standart dışa aktarım formatıdır. Düz metin olduğu için insan tarafından okunabilir, dosya boyutu küçüktür.

JSON (JavaScript Object Notation), modern web API'lerinin de facto veri formatıdır. İç içe yapıları, dizileri, farklı veri türlerini (string, number, boolean, null) destekler. JavaScript'ten gelmiştir ama bugün her dilde standart kütüphanesi vardır.

Aynı Veri, İki Format

CSV:

ad,yas,sehir
Ahmet,28,Istanbul
Ayse,32,Ankara
Mehmet,45,Izmir

JSON:

[
  {"ad": "Ahmet", "yas": 28, "sehir": "Istanbul"},
  {"ad": "Ayse", "yas": 32, "sehir": "Ankara"},
  {"ad": "Mehmet", "yas": 45, "sehir": "Izmir"}
]

Hangi Format Hangi İş İçin?

CSV Avantajları

  • Excel/Google Sheets uyumu: Çift tıkla aç
  • Düşük dosya boyutu: Header sadece bir kez tekrarlanır
  • Stream işleme kolay: Satır satır okunabilir
  • Veritabanı export/import için uygun: MySQL LOAD DATA, PostgreSQL COPY

JSON Avantajları

  • İç içe yapılar: Bir kullanıcının adresleri, telefonları gibi nested data
  • Veri türleri korunur: Number, boolean, null farklı görünür
  • API'ler için standart: REST API'lerin %95'i JSON döner
  • Schema validation: JSON Schema ile yapı doğrulama

Dönüşüm Zorlukları

CSV → JSON

  • Veri tipi tahmini: "28" string mi number mı? Aracımız akıllı tahmin yapar
  • Quote içeren değerler: "Ali, Veli" gibi içinde virgül olan değerler için tırnak kuralları
  • Newline değerleri: Bir hücre içinde \n varsa CSV bunu özel encode eder
  • Boş hücreler: JSON'da null, "" veya undefined hangisi olmalı?

JSON → CSV

  • Nested objects: {"adres": {"sehir": "..."}} → tek hücreye sığmaz, flatten gerekir
  • Diziler: ["a","b","c"] → CSV'de virgülle birleşir veya "a;b;c" gibi
  • Farklı şemalar: Bir kayıt 3 alan, diğeri 5 alan içeriyorsa CSV header karışır
  • Karakter encoding: JSON UTF-8 default, CSV bazen Windows-1254 (Türkçe) kullanır

Türkçe Karakter ve Encoding

CSV ile en yaygın sorun: Excel CSV'yi UTF-8 olarak açmaz. Türkçe karakterler "ÇğıÖŞüĞİ" yerine "Çğ�Ö�ş�" şeklinde bozuk gözükür. Çözümler:

  • BOM ekleyin: Dosyanın başına U+FEFF karakteri (UTF-8 BOM). Excel UTF-8'i anlar
  • UTF-8 with BOM kaydet: Notepad++ veya VS Code'da explicit seçenek
  • "Veri" menüsünden açın: Excel'de "Get External Data" → "From Text" → UTF-8 seç
  • Google Sheets kullanın: UTF-8 default'tur, sorun yaşamazsınız

Ayıraç Karakteri

Tüm CSV virgülle ayrılmaz. Yaygın alternatifler:

  • Virgül (,): Klasik, Amerika ve uluslararası
  • Noktalı virgül (;): Avrupa, Türkiye (Excel default ondalık virgül kullanır, çakışmasın diye)
  • Tab (\t): TSV - tablar genelde veri içinde olmaz
  • Pipe (|): Veri içinde nadir, log dosyalarında popüler

Türkiye'de Excel açtığınızda CSV genelde noktalı virgülle ayrılmıştır. Aracımız ayıracı otomatik tespit eder.

Pratik Kullanım Senaryoları

  • Veri Migrasyonu: Eski sistemden Excel export → JSON → yeni API
  • API Response → Excel: JSON formatındaki API verisini analiz için Excel'e
  • Bulk Import: 1000 ürünü tek seferde online mağazaya yüklemek için CSV
  • Backup: JSON'daki kullanıcı listesini human-readable yedekleme
  • Reporting: JSON loglarından CSV raporlar üretmek

Sıkça Sorulan Sorular

Excel'de Türkçe karakterler bozuk görünüyor, ne yapmalıyım?

Sorun encoding'dir. Excel klasik CSV açışta UTF-8 değil Windows-1254 sanıyor. Çözüm: (1) Aracımızdan indirdiğiniz CSV dosyasını Notepad ile açın, "Encoding" UTF-8 with BOM seçin, kaydedin (2) Excel'de "Data" menüsü > "From Text" > UTF-8 seçin (3) Google Sheets kullanın - hiç sorun çıkmaz.

JSON içindeki iç içe yapılar CSV'ye nasıl dönüşür?

İç içe nesneler "flatten" edilir - {"adres":{"sehir":"Istanbul"}} → "adres.sehir" başlığı altında "Istanbul" değeri olur. Diziler için iki yöntem var: ya tüm değerleri ";" ile birleştirir ("a;b;c"), ya da her dizi elemanı için ayrı satır üretir. Aracımız ilkini default yapar, daha karmaşık dönüşüm için manuel script gerekebilir.

CSV mi JSON mu daha hızlı işlenir?

CSV satır bazlı stream edilebildiği için büyük dosyalar (1GB+) için CSV daha verimlidir - tüm dosyayı belleğe yüklemek gerekmez. JSON ise parsing aşamasında tüm dosyayı okumak ister (ndjson hariç). Küçük veriler (1-100MB) için fark hissedilmez. API'ler için JSON ergonomik, ETL pipelines için CSV pratiktir.

CSV ile XLSX arasındaki fark nedir?

CSV düz metindir, sadece veri içerir - formül, formatlama, sayfa yok. XLSX (Excel) ise sıkıştırılmış XML formatıdır: formüller, hücre renkleri, birden fazla sayfa, grafikler içerir. CSV daha taşınabilir ve hafif, XLSX daha zengin ama Excel/LibreOffice gerektirir. JSON'a dönüşüm için CSV daha kolaydır.

Aracınız hangi boyutta dosya işleyebilir?

Tarayıcıda çalıştığı için pratik sınır ~10-50MB civarındadır. Bunun üzerinde tarayıcı yavaşlar veya çöker. Daha büyük dosyalar için Python pandas, jq (komut satırı) veya özel ETL araçlarını öneririm. Aracımız hızlı dönüşümler ve orta boyutlu veri için idealdir.

İlgili Araçlar

İlgili Araçlar

;