📊 CSV/JSON変換 の使い方
CSVテキストをJSONに、JSONテキストをCSVに即座に変換できる無料ブラウザツールです。ヘッダー行の有無を切り替えるだけで、オブジェクト配列または配列の配列として出力できます。ExcelやスプレッドシートのデータをそのままコピーしてAPI送信用JSONに変換したり、APIレスポンスのJSONをCSVに落としてExcel分析するなど、データエンジニアやバックエンド開発者の日常業務を効率化します。すべての処理はブラウザ内で完結し、データがサーバーに送信されることはありません。
🚀 今すぐ変換する →📌 このツールでできること
- CSV → JSON(オブジェクト配列):1行目をキー名として使用し、各行を
{"key": "value"}形式のオブジェクトに変換 - CSV → JSON(配列の配列):ヘッダーなしモードで、各行を文字列の配列として変換
- JSON → CSV:オブジェクト配列のJSONをカンマ区切りのCSVテキストに変換
- ヘッダー行の制御:「1行目をヘッダーとして使用する」チェックで出力形式を切り替え
- 変換結果の行数表示:変換したレコード件数を確認できる
- クリップボードコピー:変換結果をワンクリックでコピー
- 日本語・マルチバイト対応:
ensure_ascii=Falseで日本語をそのまま出力。文字化けなし - ダブルクォート・カンマ含むフィールド対応:CSV標準仕様に従って引用符付きフィールドを正しく処理
- 大容量データ対応:最大500KBまでの入力に対応
🚀 使い方
-
変換方向を選択
「CSV → JSON」または「JSON → CSV」タブを選択します。入力データの形式に合わせて切り替えてください。
-
入力テキストを貼り付け
変換したいCSVまたはJSONテキストを入力欄に貼り付けます。ExcelやGoogleスプレッドシートからセルをコピーするとTSV(タブ区切り)になる場合があるため、CSVとして貼り付けるときはカンマ区切りになっているか確認してください。
-
ヘッダー行の設定(CSV→JSON時)
「1行目をヘッダーとして使用する」チェックボックスで、ヘッダーの有無を切り替えます。チェックONでオブジェクト配列(例:
[{"name":"田中","age":"30"}])、OFFで配列の配列(例:[["田中","30"]])に変換されます。API送信やDBインポート用途ではオブジェクト配列が一般的です。 -
「変換」をクリック
変換結果が出力欄に表示されます。変換されたレコード件数も表示されるので、入力データとの整合性を確認できます。
-
結果をコピーして利用
「コピー」ボタンでクリップボードに保存できます。そのままコードエディタやAPIクライアントに貼り付けて活用してください。
📊 活用例
スプレッドシートデータをAPI送信用JSONに変換
ExcelやGoogleスプレッドシートで管理している顧客リストや商品マスターをCSV形式でコピーし、そのままJSONオブジェクト配列に変換できます。変換後のJSONをfetch APIやPostmanに貼り付けて一括登録・更新に利用できます。ヘッダー行が自動でキー名になるため、手動でJSONを組み立てる手間が不要です。
APIレスポンスをExcelで分析
REST APIが返すJSONオブジェクト配列をCSVに変換し、ExcelやGoogleスプレッドシートで集計・グラフ化できます。例えば注文データや分析結果をJSON形式で取得し、表形式に変換して非エンジニアのメンバーと共有する場面で活用されます。
テストデータの準備・管理
CSVで一元管理しているテストケース(入力値・期待値)をJSONに変換し、テストコード(Jest・pytest等)で直接読み込めます。テストデータをスプレッドシートで管理・メンテナンスしつつ、CI/CDでは変換後のJSONを使う運用が可能です。
旧システムからのデータ移行
レガシーシステムがCSVでエクスポートするデータを、新システムのインポートAPIが求めるJSON形式に変換できます。フィールド名をヘッダー行で制御できるため、カラム名の対応付けを事前に整理しておけば変換作業がスムーズです。文字コードの問題が発生しやすい場面ですが、本ツールはUTF-8で処理するため日本語も安全に変換できます。
⚙️ 技術的背景
本ツールはPythonの標準ライブラリ csv および json モジュールを使用しています。
- CSV→JSON(ヘッダーあり):
csv.DictReaderを使用。1行目をキー名として使用し、各行をオブジェクトに変換 - CSV→JSON(ヘッダーなし):
csv.readerを使用。各行を文字列の配列に変換 - JSON→CSV:JSONが配列のオブジェクトの場合、最初のオブジェクトのキーをヘッダー行として使用
- 日本語対応:JSON出力時は
ensure_ascii=Falseを指定し、日本語をそのままUnicode文字列として出力 - 最大入力サイズ:500KB
CSV と JSON の使い分けガイド
CSVは行・列の表形式データを扱うのに適しており、Excelや各種DBとの親和性が高いです。一方JSONはネストされた構造(配列・オブジェクトの入れ子)を表現でき、Web APIやNoSQLデータベースとの親和性が高いです。
- CSV が向いている場面:行数が多いフラットな表データ、Excelで開く必要がある場合、ファイルサイズを小さくしたい場合
- JSON が向いている場面:API通信・Web開発、ネストした構造を持つデータ、設定ファイルやコンフィグ
変換時の注意点
文字エンコード:本ツールはUTF-8を前提として処理します。Windowsで作成したCSVファイルはShift_JIS(CP932)でエンコードされていることがあり、その場合は事前にUTF-8に変換してください。
改行を含むフィールド:RFC 4180のCSV仕様では、ダブルクォートで囲まれたフィールド内の改行は許可されています。本ツールも標準的な引用符付きフィールドの改行を正しく処理します。
特殊文字:カンマ・ダブルクォート・改行を含むフィールドは必ずダブルクォートで囲む必要があります。フィールド内のダブルクォートは ""(2つ連続)でエスケープします。本ツールはこれらをCSV標準仕様に従って処理します。
📚 関連書籍 PR
※ 本リンクはアフィリエイト広告を含みます。
❓ よくある質問
日本語(マルチバイト文字)は正しく変換されますか?
はい、JSON出力時は ensure_ascii=False で日本語をそのまま出力します。文字化けは発生しません。ただし入力CSVがUTF-8でない場合(ShiftJISなど)は事前にUTF-8へ変換する必要があります。
カンマを含むフィールドは正しく処理されますか?
ダブルクォート(")で囲まれたフィールドはCSV標準仕様(RFC 4180)に従って正しく処理されます。例えば "田中,太郎" のように引用符で囲まれていれば、カンマを含んでいても1つのフィールドとして認識されます。
改行を含むセルはどう処理されますか?
ダブルクォートで囲まれたフィールド内の改行は、CSV標準仕様に従って1つのフィールドとして扱われます。JSON変換後の値にも改行文字(\n)が含まれます。ただし引用符なしの改行はレコードの区切りとして扱われます。
JSONはオブジェクト形式({"key": "value"})も変換できますか?
JSON→CSV変換は配列形式([{"key":"value"}, ...])のJSONが必要です。単一オブジェクトは配列で包んでから変換してください(例:[{"name":"田中"}])。
ヘッダー行なしのCSVはどう変換されますか?
「1行目をヘッダーとして使用する」チェックをOFFにすると、各行が文字列の配列として変換されます(例:[["田中","30"],["鈴木","25"]])。キー名がない配列形式のJSONが出力されます。
数値や真偽値はJSON型として変換されますか?
CSVはすべての値を文字列として扱うため、変換後のJSONでも数値・真偽値はすべて文字列(ダブルクォートあり)として出力されます。数値型として扱いたい場合は、変換後のJSONをプログラム側でパースする際に型変換を行ってください。