入出力データはサーバーに送信されず、どこにも保存されません。すべての処理はブラウザ上で完結します。

JSON→CSV変換

CSV区切り文字
ヘッダー行
クォート
CSV出力 行数: 0 · 列数: 0
 

使い方


入力エリアにJSON配列を貼り付けてください。要素がオブジェクトの場合はキーがCSVのカラム見出しになり、プリミティブの場合は「value」見出しの1列テーブルになります。区切り文字(カンマ・セミコロン・タブ=TSV)、ヘッダー行の有無、全フィールド強制クォートを切替可能です。CSV出力はリアルタイムで更新され、ワンクリックでコピーできます。

CSVとは


CSV(Comma-Separated Values)は表計算ソフト(Excel・Google Sheets・Numbers)・データベース・データ解析ツールで広く受け入れられるプレーンテキストの表形式です。各行がレコード、セルは区切り文字(通常カンマ)で分けられます。区切り文字・引用符・改行を含むセルはダブルクォートで囲まれ、内部の引用符は二重化してエスケープされます。本実装はRFC 4180に準拠しています。

変換仕様


全行のキーをunionして見出しとするため、キー欠落は空セルとして出力されエラーにはなりません。ネストしたオブジェクト・配列はJSON文字列化({"x":1})して1つのセル内に収まります。フラットなカラム化が必要な場合は事前に前処理してください。null・undefinedは空セル、数値とブール値はそのまま文字列化されます。プリミティブとオブジェクトが混在する配列は拒否されます。

主な用途


  • APIレスポンスをビジネスユーザー向けの表計算互換CSVとしてエクスポートする。
  • JSONログをExcelやPandasでのデータ解析用にCSV化する。
  • CSV取り込みを前提とするDBやETLパイプライン向けにJSONデータを準備する。
  • デバッグ中にレコードを一覧比較するためのアドホック変換。
  • APIフィクスチャからテスト用のサンプルCSVファイルを生成する。

ヒント


  • カンマを小数点区切りに使う欧州ロケール向けには、セミコロン区切りを選んでください。
  • タブ区切りはTSV形式で、Excelでも受け入れられ、ほとんどのコンテンツでクォートが不要になります。
  • 下流処理がRFC 4180厳密モードを期待する場合は「全フィールドを必ずクォート」を有効にしてください。
  • 別途ヘッダー行が存在する複数CSVを連結する場合は、ヘッダー行を除外して出力できます。
  • ネストしたオブジェクトはJSONとしてインラインで文字列化されます。カラム化が必要な場合は事前にフラット化してください。

プライバシー


すべてのJSONパースとCSVエンコードはブラウザ内で完結します。データがサーバーに送信されたり保存されたりすることはありません。

よくある質問


入力は単一のオブジェクトと配列のどちらを想定していますか?

トップレベルがJSON配列であることを前提としています。要素がオブジェクトならキーが列見出しになり、プリミティブなら「value」という1列のテーブルになります。配列でない単独のオブジェクトなどは変換されません。

行の中にネストしたオブジェクトや配列があるとどうなりますか?

別々の列には展開されません。ネストした値はJSON文字列(例:{"x":1})に戻され、1つのセル内にまとめて出力されます。本当に列に分けたい場合は、変換前にフラット化してください。

個人情報や社内データを含むJSONを変換しても安全ですか?

はい。パースとCSVエンコードはすべてブラウザ内で実行され、アップロード・ログ記録・保存は一切行われません。エクスポートしたユーザー情報や社内データでも、端末の外に出ることなく変換できます。

カンマ区切りではなくTSVファイルを作るにはどうすればよいですか?

区切り文字でタブを選択してください。タブ区切り(TSV)が出力され、Excelやほとんどのスプレッドシートツールでそのまま取り込め、多くの場合フィールドのクォートも不要になります。

配列が無効として拒否されるのはなぜですか?

プリミティブとオブジェクトが混在した配列は、列構造が一意に定まらないため拒否されます。すべてオブジェクト、またはすべてプリミティブに統一してください。オブジェクト行間でキーが欠けている分には、単に空セルになるだけです。