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

CSV verilerini JSON dizisi veya nesne biçimine dönüştürün

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
CSV burada görünecek…

CSV'den JSON'a Dönüşüm Nedir?

CSV (Virgülle Ayrılmış Değerler), her satırın bir veri kaydını ve kayıt içindeki alanların genellikle virgül olan bir ayırıcıyla birbirinden ayrıldığı düz metin tablo biçimidir. CSV, RFC 4180 ile resmileştirilmiş ve kişisel bilgisayarların ilk günlerinden bu yana standart bir veri alışverişi biçimi olmuştur. Elektronik tablolar, veritabanları ve veri dışa aktarım araçlarının tümü CSV üretir; çünkü CSV basit, kompakt ve neredeyse tüm programlama dilleri tarafından okunabilir.

JSON (JavaScript Object Notation), yapılandırılmış verileri anahtar-değer çiftleri ve sıralı diziler olarak temsil eder. CSV'nin aksine JSON, iç içe nesneleri, türlendirilmiş değerleri (sayılar, boolean, null) ve değişken uzunluklu kayıtları destekler. JSON, JavaScript motorları tarafından yerel olarak anlaşıldığından tarayıcı-sunucu veri alışverişi ile REST API yanıtları için baskın biçim hâline gelmiştir. Bu özellikler JSON'ı web API'leri, yapılandırma dosyaları ve MongoDB ile CouchDB gibi NoSQL veritabanları için varsayılan biçim yapar.

CSV'den JSON'a dönüştürmek, tablonun her satırını bir JSON nesnesine eşlemek, başlık satırını özellik adları ve hücre değerlerini özellik değerleri olarak kullanmak anlamına gelir. Sonuç genellikle bir JSON nesne dizisidir. Bu dönüşüm, düz tablo verilerini bir REST API, bir frontend veri tablosu bileşeni veya belge odaklı bir veritabanı gibi yapılandırılmış JSON girişi bekleyen bir sisteme beslemek istediğinizde gereklidir.

Bu Aracı Neden Kullanmalısınız?

Bu dönüştürücü, CSV'nizi tarayıcıda ayrıştırır, JSON çıktısını anında oluşturur ve verilerinizi asla sunucuya göndermez.

Anında Dönüşüm
CSV yapıştırın ve hemen JSON çıktısı alın. Sunucu gidiş-dönüşü veya dosya yükleme beklemeye gerek yok. Dönüşüm siz yazarken gerçekleşir.
🔒
Gizlilik Öncelikli İşleme
Verileriniz tarayıcı sekmenizde kalır. Ağ üzerinden hiçbir şey iletilmez. Makinenizden çıkmaması gereken dahili veri kümeleri, kimlik bilgileri veya kişisel veriler için güvenlidir.
🔀
Ayırıcı Otomatik Algılama
Araç virgül, sekme, noktalı virgül ve boru (pipe) ayırıcılarını tanır. Dosyanız yaygın olmayan bir ayırıcı kullanıyorsa ayırıcıyı elle de belirleyebilirsiniz.
📋
Kopyala veya İndir
JSON sonucunu tek tıklamayla panonuza kopyalayın veya .json dosyası olarak indirin. Kodunuzda, API istemcinizde veya veritabanı içe aktarımında doğrudan kullanıma hazır.

CSV'den JSON'a Kullanım Senaryoları

Frontend Geliştirme
Prototip aşamasında React, Vue veya Angular bileşenlerinde sahte veri olarak kullanmak üzere bir tasarım aracından veya elektronik tablodan alınan CSV dışa aktarımını JSON'a dönüştürün.
Backend API Veri Doldurma
CSV veritabanı dökümlerini bir REST veya GraphQL API'sini başlangıç verileriyle doldurmak için JSON yüklerine dönüştürün. Pek çok ORM ve taşıma aracı, başlangıç veri yüklemesi için JSON sabitleri kabul eder.
DevOps Yapılandırması
CSV envanter listelerini veya ortam matrislerini Ansible playbook'larında, Terraform değişken dosyalarında veya CI/CD boru hattı yapılandırmalarında kullanmak üzere JSON'a dönüştürün.
QA Test Verisi Hazırlama
Elektronik tablo tabanlı test matrislerini, veri güdümlü testler için Jest, pytest veya Playwright gibi test çerçeveleri tarafından tüketilebilen JSON dizilerine dönüştürün.
Veri Mühendisliği Boru Hatları
SQL sorgularından veya ETL dışa aktarımlarından elde edilen CSV çıktısını MongoDB, Elasticsearch veya BigQuery'nin JSON içe aktarma moduna yüklemek için JSON'a dönüştürün.
Öğrenci Projeleri ve Öğrenme
Örnek CSV veri kümelerini (Kaggle, devlet açık veri portalları) web geliştirme derslerinde, eğitimlerde veya kişisel projelerde kullanmak üzere hızlıca JSON'a dönüştürün.

CSV Ayırıcı Başvurusu

CSV dosyaları her zaman virgül kullanmaz. Ayırıcı; yerel ayara, dışa aktaran uygulamaya ve verinin içeriğine bağlıdır. İşte en yaygın dört ayırıcı ve her birinin tipik olarak ne zaman kullanıldığı:

AyırıcıStandartUzantıNotlar
Comma (,)RFC 4180 default.csvMost common; Excel default export
Tab (\t)TSV variant.tsvAvoids quoting fields that contain commas
Semicolon (;)European locale CSV.csvUsed where comma is the decimal separator (DE, FR, BR)
Pipe (|)Fixed-width alternative.csvRare in field values, good for messy data

CSV ve JSON: Yapısal Farklılıklar

İki biçim arasındaki fark, dönüşüm sırasında başlık eşlemesinin, tür çıkarımının ve eksik değer işlemenin neden açık kararlar gerektirdiğini ortaya koymaktadır.

CSV
Düz, satır odaklı biçim. Her kaydın aynı sayıda alanı vardır. Tüketici türleri çıkarsamadıkça tüm değerler dizedir. İç içe yapı veya değişken uzunluklu kayıt desteği yoktur. RFC 4180'e göre başlık satırı isteğe bağlıdır; ancak anlamlı JSON dönüşümü için gereklidir.
JSON
Ağaç yapılı, kendini tanımlayan biçim. Her nesnenin farklı anahtarları olabilir. Değerler türlendirilmiştir: dize, sayı, boolean, null, nesne veya dizi. Rastgele iç içe derinliği destekler. Özellik sırası JSON belirtimi (ECMA-404) tarafından garanti edilmez; ancak çoğu ayrıştırıcı ekleme sırasını korur.

Kod Örnekleri

Popüler dillerde ve CLI araçlarında CSV'yi programatik olarak JSON'a nasıl dönüştüreceğiniz:

JavaScript (browser / Node.js)
// Simple CSV string → JSON array
const csv = `name,age,city
Alice,30,Berlin
Bob,25,Tokyo`

const [headerLine, ...rows] = csv.trim().split('\n')
const headers = headerLine.split(',')
const json = rows.map(row => {
  const values = row.split(',')
  return Object.fromEntries(headers.map((h, i) => [h, values[i]]))
})
// → [{ name: "Alice", age: "30", city: "Berlin" }, ...]

// With the built-in fetch + a library (Papa Parse)
import Papa from 'papaparse'
const result = Papa.parse(csvString, { header: true, dynamicTyping: true })
console.log(result.data) // typed numbers and booleans
Python
import csv, json, io

csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""

reader = csv.DictReader(io.StringIO(csv_string))
data = [row for row in reader]
print(json.dumps(data, indent=2))
# → [{"name": "Alice", "age": "30", "city": "Berlin"}, ...]

# With type coercion (age as int)
import pandas as pd
df = pd.read_csv(io.StringIO(csv_string))
print(df.to_json(orient="records", indent=2))
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
Go
package main

import (
	"encoding/csv"
	"encoding/json"
	"fmt"
	"strings"
)

func main() {
	input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
	r := csv.NewReader(strings.NewReader(input))
	records, _ := r.ReadAll()

	headers := records[0]
	var result []map[string]string
	for _, row := range records[1:] {
		obj := make(map[string]string)
		for i, h := range headers {
			obj[h] = row[i]
		}
		result = append(result, obj)
	}

	out, _ := json.MarshalIndent(result, "", "  ")
	fmt.Println(string(out))
	// → [{"age":"30","city":"Berlin","name":"Alice"}, ...]
}
CLI (jq + Miller)
# Using Miller (mlr) — handles quoting, types, and edge cases
mlr --icsv --ojson cat data.csv
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]

# Using csvjson from csvkit (Python-based)
csvjson data.csv

# Using jq with @csv (reverse: JSON → CSV)
# For CSV → JSON, pipe through Miller or Python
cat data.csv | python3 -c "
import csv, json, sys
reader = csv.DictReader(sys.stdin)
json.dump(list(reader), sys.stdout, indent=2)
"

Sıkça Sorulan Sorular

Dönüştürücü başlık satırı olmayan CSV dosyalarını nasıl işler?
CSV'nizde başlık satırı yoksa dönüştürücü "field1", "field2" gibi otomatik oluşturulan anahtarlar kullanır. En iyi sonuç için dönüştürmeden önce bir başlık satırı ekleyin ya da JSON çıktısındaki anahtarları sonradan yeniden adlandırın.
Virgül veya satır sonu içeren tırnak içine alınmış alanlara ne olur?
Ayrıştırıcı RFC 4180 tırnaklama kurallarını izler. Çift tırnak içine alınan alanlar virgül, satır sonu ve hatta çift tırnak içerebilir ("" olarak kaçışlanır). Dönüştürücü dış tırnakları kaldırır ve iç içeriği tek bir JSON dize değeri olarak korur.
Dönüşüm sayılar ve boolean gibi veri türlerini korur mu?
CSV türsüz bir biçimdir; tüm hücre değerleri dizedir. Bu dönüştürücü, veri kaybını önlemek için varsayılan olarak dize değerleri çıkarır. Türlendirilmiş çıktıya ihtiyacınız varsa uygulamanızda JSON sonucunu ayrıştırın ve alanları açıkça dönüştürün. Papa Parse (JavaScript) ve pandas (Python) gibi kütüphaneler ayrıştırma sırasında dinamik türleme seçenekleri sunar.
Virgül yerine noktalı virgül veya sekme kullanan CSV dosyalarını dönüştürebilir miyim?
Evet. Araç virgül, sekme, noktalı virgül ve boru (pipe) ayırıcılarını destekler. Açılır listeden doğru ayırıcıyı seçin ya da otomatik algılamanın belirlemesine izin verin. Noktalı virgül; virgülün ondalık ayırıcı olarak kullanıldığı Avrupa yerel ayarlarında Excel'den yapılan CSV dışa aktarımlarında yaygındır.
CSV girişi için dosya boyutu sınırı var mı?
İşlem tamamen tarayıcınızda gerçekleştiğinden pratik sınır, cihazınızın kullanılabilir belleğine bağlıdır. Modern donanımda 10-20 MB'a kadar olan dosyalar genellikle sorunsuz dönüşür. Çok büyük dosyalar (yüzlerce MB) için, her şeyi belleğe yüklemeden veriyi satır satır işleyen Node.js'teki Papa Parse veya Python'ın csv modülü gibi akış tabanlı bir ayrıştırıcı kullanın.
Farklı sayıda sütuna sahip CSV satırlarını nasıl işlerim?
Düzensiz CSV'ler (başlıktan daha az veya fazla alana sahip satırlar) gerçek dünya dışa aktarımlarında yaygındır. Bu dönüştürücü eksik alanları boş dizelerle doldurur ve başlık sayısının ötesindeki fazla alanları yok sayar. Verileriniz tutarlı şekilde düzensizse, kaynak dosyada kaçışlanmamış ayırıcılar veya eksik tırnaklar olup olmadığını inceleyin.
JSON dizi çıktısı ile JSON nesne çıktısı arasındaki fark nedir?
Nesnelerden oluşan JSON dizisi standart çıktıdır: her CSV satırı dizideki bir nesne olur ve başlık adları anahtar olarak kullanılır. Bazı araçlar, her başlığın o sütundaki tüm değerlerin dizisiyle birlikte bir anahtar olduğu "sütun odaklı" çıktı da sunar. Nesne dizisi biçimi API'ler, veritabanları ve frontend veri bağlama için daha yaygındır.