CSV → JSON — ブラウザで CSV スプレッドシートを JSON に変換
CSV スプレッドシートのデータを JSON に変換します。区切り文字・引用フィールド・BOM・型推論に対応。すべてブラウザ内で処理され、アップロードは不要です。
CSV は「ユニバーサルなデータ形式」に最も近い存在です。あらゆる表計算アプリ、あらゆるデータベースのエクスポート、ほとんどの API が生成でき、ほぼすべてのツールが読み込めます。JSON は「ユニバーサルな プログラミング 形式」に最も近い存在です。すべての近代的な言語がネイティブでパースし、すべての Web API が返し、すべての設定スキーマが受け入れます。この 2 つを変換することは、データ作業で最もよくある雑務の 1 つであり、変換は特定的で繰り返されるパターンで厄介です。
厄介なのはフォーマット自体ではありません。変換は数行のコードで済みます。厄介なのはエッジケースです。最もよく現れる 3 つは、ファイルの先頭にある UTF-8 のバイト順マーク(単純なパーサーにはゴミに見える 3 バイト)、区切り文字を含む引用フィールド(クォート内のカンマ)、そしてヨーロッパ版 Excel が小数点としてカンマを使うため区切りにセミコロンを使う習慣です。行儀の良い CSV → JSON ツールは設定なしでこれら 3 つすべてを処理します。なぜならこれらはエッジケースではなく、実データで最も一般的な入力形状だからです。
変換が終わった後、自然な次のステップは JSON の用途によって変わります。Web アプリや Node.js スクリプトに渡すなら「オブジェクト配列」出力が最適です。TypeScript や Go サービスの入力にするなら、JSON-to-TypeScript または JSON-to-Go 変換を通して、列構成に正確に対応する型を生成してください。出力先がデータベースや分析パイプラインなら、NDJSON モードをワンクリックで選べば後段のツール変更を節約できます。
使い方
CSV を貼り付けるかドロップする
.csv ファイルをドロップするか、表形式のテキストを入力欄に貼り付けます。ツールが区切り文字(カンマ・セミコロン・タブ)と UTF-8 BOM の有無を自動で検出します。
出力モードを選ぶ
オブジェクト配列(最も一般的な JSON 形式)、二次元配列(より小さくヘッダー非依存)、NDJSON(ストリーミングパイプライン向けの 1 行 1 オブジェクト形式)のいずれかを選択します。
結果をコピーまたはダウンロード
JSON をクリップボードにコピーするか、.json ファイルとしてダウンロードできます。サイズの上限はブラウザのメモリ容量のみです。
よくある質問
列の順序は保持されますか?
はい。JSON オブジェクトはキーの順序を保証しませんが、CSV ヘッダーに出現した順でキーを出力するため、コードレビューで 2 つの出力を diff しても読みやすく保たれます。
1 行目はどう扱われますか?
デフォルトでは 1 行目がヘッダーとして扱われます。ファイルにヘッダーがない場合は、出力オプションで二次元配列モードに切り替えるとヘッダー解釈をスキップできます。
100MB を超えるファイルも変換できますか?
実用上は可能ですが、解析中は UI が固まる場合があります。変換自体はメモリ内で行われ、サーバーとの通信は発生しないため、上限はブラウザタブの利用可能メモリのみです。
ヨーロッパ版 Excel のようにセミコロン区切りの CSV に対応していますか?
はい。区切り文字の自動検出がファイルの先頭数 KB を読み取り、カンマ・セミコロン・タブ・パイプの中から選択します。設定で区切り文字を強制することもできます。
制限事項
- バイナリ CSV には対応していませんCSV はテキストとして扱われます。数式を含むシートを .csv として保存した Excel ファイルはキャッシュ値のみをエクスポートすることがあり、ピボットテーブルはフラット化されてエクスポートされるため、当ツールではどちらも復元できません。
- スプレッドシートの数式評価には対応していません数式の評価、ピボットテーブル、マクロ出力には対応していません。これらの用途にはスプレッドシートアプリを使用し、数式を展開した結果を CSV に再エクスポートしてください。
- 1 ファイルにつき 1 種類の区切り文字のみ複数の区切り文字が混在する CSV(まれですが、古いデータエクスポートには存在します)は検出されません。変換前にテキストエディタまたは 1 行の Python スクリプトで前処理をしてください。
プラットフォーム別の注意点
- macOS
- macOS では Numbers と Excel の両方がデフォルトで UTF-8 の CSV をエクスポートします。古い Mac 版 Excel では MacRoman で出力される場合があるため、é のように文字化けした場合は UTF-8 で保存し直してください。
- Windows
- Windows 版 Excel はロケールによっては今でも ANSI や UTF-16 がデフォルトです。エクスポートメニューから「CSV UTF-8(コンマ区切り)」を選び、「CSV(コンマ区切り)」は選ばないでください。
- Linux
- Linux のほとんどのツール(cut、awk、miller)はデフォルトで UTF-8 を出力します。Windows 由来のファイルをパイプで渡す場合は、先に `iconv -f cp1252 -t utf8 input.csv > output.csv` を実行してください。
- Web
- 完全にブラウザ内で動作します。ページの読み込みが完了すればオフラインでも動作します。ネットワークが監視されている制限環境での臨時変換に便利です。