メインコンテンツにスキップ

CSV ↔ JSON コンバーター

CSVとJSON形式間の双方向変換をサポートする無料オンラインツールです。

Examples

CSV Example:

name,age,city
John,30,New York
Jane,25,Los Angeles
Bob,35,Chicago

JSON Example:

[
  {"name": "John", "age": "30", "city": "New York"},
  {"name": "Jane", "age": "25", "city": "Los Angeles"},
  {"name": "Bob", "age": "35", "city": "Chicago"}
]

主要機能

  • 双方向変換: CSV → JSON、JSON → CSV
  • 区切り文字選択: カンマ、セミコロン、タブ、パイプ
  • ヘッダーオプション: 最初の行をヘッダーとして使用
  • JSONインデント: 2/4スペースまたは圧縮
  • スワップ機能: 結果を入力に素早く切り替え
  • 即座にコピー: 変換結果をコピー

CSVとは?

CSV (Comma-Separated Values)は、カンマで値を区切るテキスト形式です。

CSV例

name,age,city
John,30,New York
Jane,25,Los Angeles
Bob,35,Chicago

特徴

  • シンプルで軽量
  • Excelで簡単に開ける
  • スプレッドシートデータ交換に適している
  • ネスト構造は表現不可

JSONとは?

JSON (JavaScript Object Notation)は、JavaScriptオブジェクト形式のデータ構造です。

JSON例

[
{"name": "John", "age": "30", "city": "New York"},
{"name": "Jane", "age": "25", "city": "Los Angeles"},
{"name": "Bob", "age": "35", "city": "Chicago"}
]

特徴

  • 構造化されたデータ表現
  • ネスト構造サポート
  • Web APIで広く使用
  • JavaScriptと自然に統合

変換オプション

区切り文字 (Delimiter)

区切り文字文字使用例
カンマ,最も一般的 (標準CSV)
セミコロン;ヨーロッパ圏 (数値にカンマを使用)
タブ\tTSVファイル、コピー/貼り付け
パイプ``

ヘッダー行

ヘッダー含む:

name,age,city
John,30,New York

[{"name": "John", "age": "30", "city": "New York"}]

ヘッダーなし:

John,30,New York

[["John", "30", "New York"]]

使用例

1. Excel → JSON

# Excelからコピー
Product,Price,Stock
Apple,1000,50
Banana,500,100

# JSONに変換
[
{"Product": "Apple", "Price": "1000", "Stock": "50"},
{"Product": "Banana", "Price": "500", "Stock": "100"}
]

2. APIデータ → CSV

# APIレスポンス
[
{"id": 1, "name": "Item A", "price": 100},
{"id": 2, "name": "Item B", "price": 200}
]

# CSVにエクスポート
id,name,price
1,Item A,100
2,Item B,200

3. データベースバックアップ

# SQLの結果をCSVとして保存
user_id,username,email
1,john_doe,john@example.com
2,jane_smith,jane@example.com

# JSONに変換してNoSQLにインポート

4. 設定ファイル変換

# config.json
{
"settings": [
{"key": "theme", "value": "dark"},
{"key": "language", "value": "ja"}
]
}

# CSVにエクスポート
key,value
theme,dark
language,ja

プログラミング例

JavaScript

// CSV → JSON
const csv = `name,age,city
John,30,New York
Jane,25,Los Angeles`;

const lines = csv.split('\n');
const headers = lines[0].split(',');
const result = [];

for (let i = 1; i < lines.length; i++) {
const obj = {};
const values = lines[i].split(',');
headers.forEach((header, index) => {
obj[header] = values[index];
});
result.push(obj);
}

console.log(JSON.stringify(result, null, 2));

// JSON → CSV
const json = [
{name: 'John', age: 30, city: 'New York'},
{name: 'Jane', age: 25, city: 'Los Angeles'}
];

const headers = Object.keys(json[0]);
const csv = [
headers.join(','),
...json.map(row =>
headers.map(header => row[header]).join(',')
)
].join('\n');

console.log(csv);

Python

import csv
import json

# CSV → JSON
with open('data.csv', 'r') as f:
reader = csv.DictReader(f)
data = list(reader)

with open('data.json', 'w') as f:
json.dump(data, f, indent=2)

# JSON → CSV
with open('data.json', 'r') as f:
data = json.load(f)

with open('data.csv', 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)

注意事項

CSVの制限事項

  1. ネスト構造: CSVはフラットなデータのみ表現可能
  2. データタイプ: すべての値が文字列として扱われる
  3. 特殊文字: カンマや改行を含む場合は引用符が必要

JSONの制限事項

  1. ファイルサイズ: CSVより容量が大きい
  2. 可読性: 複雑な構造は可読性が低い
  3. Excel互換性: 直接開けない (変換が必要)

CSV形式の注意事項

引用符の処理

# 値にカンマがある場合は引用符で囲む
name,description
"Smith, John","Software Developer"
"Doe, Jane","Data Analyst, Manager"

エスケープ

# 引用符内の引用符は2つ
name,quote
John,"He said ""Hello"""

よくある質問

Q: CSVの空の値はどう処理されますか?

A: JSONで空文字列("")に変換されます。

Q: JSONのネストされたオブジェクトはどうなりますか?

A: このツールはフラットな構造のみをサポートします。ネストされたオブジェクトは文字列に変換される可能性があります。

Q: 大容量ファイルも処理できますか?

A: ブラウザのメモリに依存します。非常に大きなファイルはサーバー側ツールを使用してください。

Q: Excelファイルを直接変換できますか?

A: いいえ。まずExcelでCSVとして保存してから使用してください。

実用的なヒント

1. データクリーニング

変換前にデータをクリーンアップし、不要なスペースや特殊文字を削除します。

2. エンコーディング

ファイルのエンコーディングを確認し、UTF-8を使用することをお勧めします。

3. バックアップ

大規模なデータを変換する前に、元のファイルをバックアップしてください。

4. 検証

変換後、データが正しく変換されたことを確認してください。

関連ツール

💬 このツールは役に立ちましたか?

このCSV ↔ JSONコンバーターは、データアナリスト、開発者、データサイエンティストにとって必須のツールです。ExcelデータをAPIに統合したり、JSONデータをスプレッドシートで分析したりする際に便利です。

プライバシー保護

このツールは完全にクライアント側で動作します。アップロードまたは入力したデータはサーバーに送信されず、ブラウザ内でのみ処理されます。機密データも安全に変換できます。