CSV⇔JSON変換ツール
CSV・TSV形式のテキストをJSON配列に、JSON配列をCSVに相互変換します。引用符で囲まれたセル内のカンマ・改行にも対応します。処理はすべてブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。
CSV⇔JSON変換の使い方
変換方向を選ぶ
「CSV→JSON」か「JSON→CSV」を切り替えます。区切り文字(カンマ・タブ・セミコロン)もここで選びます。
データを貼り付ける
CSV(またはTSV)か、オブジェクトの配列形式のJSONを入力欄へ貼り付けます。サンプルボタンでも試せます。
変換してコピーする
「変換する」を押すと結果が表示されます。列数の不一致や不正なJSONがあれば、その内容をエラーで知らせます。
仕組みと考え方
CSVは仕様上シンプルに見えて、セルの中にカンマ・改行・ダブルクォートを含む場合の扱いが仕様(RFC 4180)で決まっています。本ツールはこの仕様に沿った状態機械でCSVを1文字ずつ読み、ダブルクォートで囲まれた区間の中ではカンマや改行をそのまま値の一部として扱い、`""`(ダブルクォート2つ)は`"`1文字として復元します。npmの外部ライブラリは使わず、この処理をブラウザ内のJavaScriptだけで完結させています。
CSV→JSONでは、1行目をヘッダーとして使う設定にすると、その行の値をキーにしたオブジェクトの配列を作ります。使わない設定では `col1, col2...` という機械的なキーを振ります。行によって列数が異なる場合でも変換自体は止めず、足りない列は空文字として補います。JSON→CSVでは逆に、レコードごとに異なるキーを持っていても構わないように「全レコードのキーの和集合」をヘッダーにし、値が無いキーは空セルにします。値にカンマ・引用符・改行が含まれるセルだけを自動的にダブルクォートで囲むため、出力されたCSVは他の表計算ソフトでも正しく開けます。
ネストしたオブジェクトや配列を値に持つJSONをCSVに変換する場合、CSVの1セルは文字列しか表現できないため、その値をそのままJSON文字列として1セルに詰めます。逆方向の変換ではこの文字列を自動で展開し直すことはしないため、複雑な構造を含むデータは往復変換で完全に元へ戻らない場合があります。
使いどころ・注意点
- Excel・Googleスプレッドシートからのコピー&ペーストはタブ区切り(TSV)になることが多いので、区切り文字を「タブ」に切り替える。
- 1行目に項目名がある表形式のデータは「1行目をヘッダーとして使う」を有効にする。
- JSON→CSVでは配列の要素数が多いほど処理に時間がかかるため、数万件を超えるデータは分割して変換する。
- 変換結果はその場でコピーできるだけで、当サイトには保存されない。機密データを扱う場合も外部送信の心配はない。
よくある質問
入力したデータは外部に送信されますか?
いいえ。CSVの解析もJSONの変換もすべてブラウザ内のJavaScriptで行い、当サイトのサーバーへは送信していません。
JSON→CSVで「配列である必要があります」というエラーが出ます。
本ツールが変換できるのは `[{...}, {...}]` の形をしたオブジェクトの配列だけです。最上位が単一のオブジェクトや数値の配列になっている場合は、配列でオブジェクトを囲む形に直してください。
セルの中に改行やカンマが入っているデータを変換すると崩れます。
本ツールはダブルクォートで囲まれたセルの中の改行・カンマを正しく扱いますが、元のCSVがダブルクォートで囲まれていない場合は判別できません。表計算ソフトから保存し直す、またはセル内の改行を別の記号に置き換えてから変換してください。
ネストしたJSON(オブジェクトの中にオブジェクトがある)はどうなりますか?
そのままではCSVの1セルに収まらないため、JSON文字列化した状態で1セルに入れます。表計算ソフトで見るとその列はJSONのテキストのまま表示されます。
列数が行によって違うCSVでもエラーになりませんか?
エラーにはせず、不足している列は空文字として扱います。データの欠落に気づきにくいため、変換前に元データの列数を確認することをおすすめします。