CSV to JSON: The Complete Conversion Guide
著者: Salty Deprecated Software Engineer
この記事はAIの支援を受けて作成され、正確性と品質についてチームが審査しました。すべての技術情報と例は検証済みです。
CSV (Comma-Separated Values) has been the universal data exchange format for decades. Spreadsheets export it. Databases dump it. Clients send it. But modern applications — APIs, web apps, config systems — speak JSON.
Converting between the two is something every developer, data analyst, and tech worker does regularly. This guide covers every method — from quick online tools to production-ready code — plus the edge cases that trip people up.
Why Convert CSV to JSON?
- API integration. You received a CSV export but your API endpoint expects JSON.
- Frontend rendering. JavaScript works natively with JSON — parsing CSV in the browser requires extra libraries.
- Database migration. Moving data from a spreadsheet into MongoDB, Firebase, or any document database.
- Configuration files. Your app config is in JSON but you're managing data in a spreadsheet for ease of editing.
- Data analysis. JSON's nested structure lets you represent relationships that flat CSV cannot.
Method 1: Online Converter (Fastest)
When you need a quick conversion — no setup, no code — paste your CSV into an online converter and get JSON back instantly.
Our free CSV to JSON converter handles headers automatically, preserves data types where possible, and runs entirely in your browser. No data is sent to any server.
Input (CSV):
name,email,role
Alice,alice@example.com,Engineer
Bob,bob@example.com,Designer
Output (JSON):
[
{ "name": "Alice", "email": "alice@example.com", "role": "Engineer" },
{ "name": "Bob", "email": "bob@example.com", "role": "Designer" }
]
Method 2: Python
Python's built-in csv and json modules make this straightforward.
import csv, json
with open("data.csv", "r") as f:
reader = csv.DictReader(f)
rows = list(reader)
with open("data.json", "w") as f:
json.dump(rows, f, indent=2)
# DictReader uses the first row as keys automatically
For larger files or when you need more control, use pandas:
import pandas as pd
df = pd.read_csv("data.csv")
df.to_json("data.json", orient="records", indent=2)
Method 3: JavaScript / Node.js
// Pure JS — no dependencies
function csvToJson(csv) {
const lines = csv.trim().split("\n");
const headers = lines[0].split(",").map(h => h.trim());
return lines.slice(1).map(line => {
const values = line.split(",");
return Object.fromEntries(
headers.map((h, i) => [h, values[i]?.trim()])
);
});
}
The code above works for clean CSV but fails when fields contain commas ("New York, NY"), newlines, or escaped quotes. For production use, use a library like papaparse (browser) or csv-parse (Node.js).
Edge Cases That Break Conversions
The hardest part of CSV to JSON isn't the happy path — it's the edge cases:
Quick Reference
| Method | Best For | Handles Edge Cases? |
|---|---|---|
| Online converter | Quick one-off conversions | Usually yes |
| Python (csv module) | Scripts, automation, large files | Yes (RFC 4180 compliant) |
| JavaScript (papaparse) | Browser apps, Node.js | Yes (with library) |
| Command line (mlr) | Batch processing, pipelines | Yes |
For one-off conversions, our free CSV to JSON converter is the fastest option — paste, convert, copy. For recurring conversions, write a Python or Node.js script using the patterns above.
Working with JSON? Read JSON: The Lingua Franca of Modern Software for a deep dive, or use our JSON Formatter to validate and beautify your output. See all our free developer tools.
The IT Hustleの編集用ペンネームで書いています——ノートPC修理技術者、システム管理者、ストレージエンジニア、ソフトウェアエンジニアとしての25年以上の経験を、今はAIエージェントの運用に注いでいます。すべての記事は公開前に人間が確認します。詳しくは編集方針をご覧ください。
最新情報を受け取る
新しいツール、ブログ記事、アップデートをいち早くお届けします。スパムなし。