CSV↔JSON / TSV変換ツール

CSVをJSONに、JSONをCSVに変換。TSV・セミコロン・パイプ区切りにも対応。ファイルのドラッグ&ドロップ読み込みと変換結果のダウンロードに対応。入力データはサーバーに送信されません。

CSV 入力
JSON 出力

使い方

① 左のテキストエリアにCSVまたはJSONを貼り付けるか、ファイルをドラッグ&ドロップします(.csv / .json / .tsv / .txt 対応)。
② 変換モード(CSV→JSON / JSON→CSV / CSV→TSV / TSV→CSV)を選択します。
③ 区切り文字・ヘッダー行の有無・JSON形式を設定すると、右ペインにリアルタイムで変換結果が表示されます。「コピー」ボタンで結果をクリップボードにコピーするか、「ダウンロード」ボタンでファイルとして保存できます。

ヘッダー行ありでCSV→JSON変換をする場合、JSON形式として「配列of連想配列([{"名前":"田中"}])」と「配列of配列([["田中"]])」を選択できます。JSON→CSV変換では、配列of連想配列・配列of配列のどちらも自動判定して変換します。

CSVとJSONの違い

CSV(Comma-Separated Values)は、値をカンマ(または他の区切り文字)で区切ったプレーンテキスト形式です。表計算ソフト(Excel、Googleスプレッドシート)との親和性が高く、業務システムのデータ入出力や大量データの管理でよく使われます。構造がシンプルで人が読みやすい反面、数値・文字列・日付などのデータ型情報は持ちません。フィールド内にカンマや改行が含まれる場合は RFC 4180 に従ってダブルクォートで囲む必要があります。

JSON(JavaScript Object Notation)は、キーと値のペアで構成されるデータ交換フォーマットです。Web API・設定ファイル・NoSQL データベースの形式として広く使われています。数値・文字列・配列・オブジェクト・真偽値・null といったデータ型を表現でき、階層構造のデータも扱えます。JavaScript をはじめ多くのプログラミング言語で標準的にサポートされています。

TSV(Tab-Separated Values)は CSV のタブ区切り版です。フィールド内にカンマが含まれるデータを扱う場合でもクォートが不要なケースが多く、データベースのエクスポートや統計ツールとの連携でよく使われます。Excel へのコピー&ペーストでも自動的に列として認識されるため、スプレッドシートとの連携に便利です。

CSV と JSON はそれぞれ得意な用途があります。CSV は Excel・スプレッドシートとの互換性に優れ、業務システムのマスターデータエクスポートや EC サイトの商品データ管理でよく使われます。JSON は Web API のレスポンス形式として標準的で、React・Vue などのフロントエンドフレームワークや Node.js・Python でネイティブに扱えます。スプレッドシートで管理したデータを API に渡す場面や、レガシーシステムの CSV エクスポートをモダンな API に対応させる場面で、このツールが役立ちます。

よくある質問

Q. 日本語(全角文字)を変換すると文字化けしますか?
A. このツールはブラウザの Unicode(UTF-8)文字列として処理するため、日本語・中国語・韓国語などの全角文字も正しく変換されます。ファイルを読み込む場合も、UTF-8 および UTF-8 BOM 付きファイルに対応しています。Shift-JIS など他のエンコーディングのファイルは、先に文字コード変換ツールで UTF-8 に変換してからご利用ください。
Q. ヘッダー行とは何ですか?
A. CSV の 1 行目をフィールド名(カラム名)として扱うかどうかの設定です。「ヘッダー行あり」で CSV→JSON(配列of連想配列)変換をすると、1 行目のカラム名を JSON オブジェクトのキーとして使用します。「ヘッダー行なし」の場合は、すべての行がデータとして変換されます(配列of配列形式)。
Q. 大きなファイルも変換できますか?
A. すべての処理はブラウザ内で行われるため、ファイルサイズの上限はデバイスのメモリに依存します。目安として数 MB までのファイルは問題なく処理できます。数十 MB 以上の大容量ファイルには、Node.js の csv-parse ライブラリや Python の pandas などのサーバーサイドツールをお勧めします。
Q. 区切り文字(デリミタ)は何が選べますか?
A. カンマ(,)・セミコロン(;)・パイプ(|)に対応しています。タブ区切りは TSV モードで使用します。ヨーロッパ向けの CSV ではセミコロン区切りが一般的なため、セミコロンにも対応しています。フィールド内に区切り文字が含まれる場合は、RFC 4180 に従い自動的にダブルクォートで囲んで出力されます。
Q. JSON→CSVで配列of配列と配列of連想配列の両方に対応していますか?
A. 対応しています。[{"name":"田中","age":30}] のような配列of連想配列の場合はキーをヘッダー行として自動出力します。[["田中",30]] のような配列of配列の場合はそのまま各行のデータとして変換されます。どちらの形式も自動判定します。