CSV ⇄ JSON 変換(ヘッダー・区切り文字・引用符対応)

CSVとJSONを相互変換。カンマ・タブ・セミコロンの自動判定、RFC 4180準拠の引用符と改行入りセルに対応し、数値・真偽値の自動型変換やExcel向けBOM付与も選べます。ファイル読み込みにも対応。

CSV → JSON

JSON → CSV

ネストしたオブジェクトや配列をCSVに出力する場合は、そのセルの値をJSON文字列として書き出します。CSV出力の改行はCRLF(\r\n)、区切り文字・ダブルクォート・改行を含む値は引用符で囲みます(RFC 4180準拠)。

使い方

  1. 「CSV → JSON」欄にCSVを貼り付けるか、ファイル選択でCSVファイルを読み込みます。区切り文字は自動判定されますが、手動でカンマ・タブ・セミコロンを指定することもできます。
  2. 「1行目をヘッダー行として扱う」「数値・真偽値を自動変換する」「出力形式(オブジェクトの配列/配列の配列)」を切り替えると、結果が即座に更新されます。
  3. 「JSON → CSV」欄にJSON配列を貼り付けると、出力の区切り文字とBOM付与の有無を選んでCSVに変換できます。
  4. どちらの結果もコピーボタンでクリップボードに取得できます。

仕組み・根拠

CSVの引用符処理はRFC 4180に準拠しています。フィールドをダブルクォートで囲むことでカンマや改行をそのまま含められ、引用符自体を値に含める場合はダブルクォートを2つ連続させて("")エスケープします。このツールは正規表現ではなく1文字ずつ状態(引用符の中かどうか)を追う状態機械でCSVを解析しているため、セル内に改行や区切り文字が混在していても正しく1レコードとして扱えます。JSON→CSV変換では、値がオブジェクトや配列の場合はJSON.stringifyでシリアライズしてから1つのセルに書き出します。数値・真偽値の自動変換は、JSONの数値表記ルール(先頭のゼロを許さない、01のような表記は不正)に厳密に合わせており、true/falseの完全一致のみを真偽値とみなします。

現場の落とし穴: 「数値を自動変換する」をオンにすると、郵便番号や電話番号のように先頭がゼロの文字列(0800001など)まで数値化してゼロが消えてしまう事故が起こりがちです。このツールはJSONの数値構文(先頭ゼロを含む値は文字列のまま維持)に従うことでこの事故を避けていますが、0.5のようにゼロの後に小数点が続く場合は正しく数値に変換されます。重要なID列やコード列を扱うときは、自動変換をオフにするか、変換結果を必ず目視確認してください。また、ExcelでUTF-8のCSVを開くと日本語が文字化けすることがあります。これはExcelがBOM(バイト順マーク)のないUTF-8テキストをShift_JIS等と誤認識するためで、CSV出力の先頭にUTF-8 BOM(EF BB BF)を付与しておくとExcelが正しくUTF-8として認識します。

よくある質問

Q. 区切り文字の自動判定はどのように行っていますか?

A. CSVの1行目に含まれるカンマ・タブ・セミコロンの出現回数(引用符の中は除く)を数え、最も多いものを採用する簡易的なヒューリスティックです。判定が誤っている場合は手動で指定してください。

Q. ネストしたJSONオブジェクトをCSVに変換するとどうなりますか?

A. そのセルの値はJSON文字列としてそのまま書き出されます(例: {"a":1}というオブジェクトはCSVのセルに文字列{"a":1}として入ります)。CSVは表形式のため、ネスト構造をそのまま列に展開することはできません。

Q. 行によって列数が異なるCSVを読み込むとどうなりますか?

A. ヘッダーより列が少ない行は不足分が空文字列として扱われ、ヘッダーより列が多い行は超過分が無視されます。

関連ツール

最終更新・根拠の確認日: 2026-09-10 · カテゴリ: 開発・データ