CSV ⇄ JSON

無料双方向コンバーター · ログイン不要 · ブラウザで動作
入力 — CSV
出力 — JSON

    

CSV→JSON変換の仕組み

CSV(カンマ区切り値)とJSON(JavaScript Object Notation)は、最も一般的なデータ交換形式の2つです。CSVはコンパクトでスプレッドシートに適し、JSONは階層的でWeb APIのネイティブ形式です。このツールを使うと、ブラウザ内で完全に、両者をすばやく変換できます。

CSVフォーマット(RFC 4180)

公式CSV仕様(RFC 4180)は、このコンバーターが正確に従う以下のルールを定義しています:

  • フィールドは区切り文字で区切られます(デフォルト:カンマ)。自動検出オプションはデータを確認して適切なものを選択します。
  • 区切り文字・ダブルクォート・改行を含むフィールドはダブルクォートで囲む必要があります。
  • クォートされたフィールド内のダブルクォートは連続する2つのダブルクォート("")で表されます。
  • 通常、最初の行は列名を指定するヘッダー行です。
  • 行はCRLFまたはLFの行末記号で区切られます — どちらも対応しています。

型推論

型推論が有効な場合(デフォルト)、文字列値は自動的にネイティブのJSON型に変換されます:

  • "42"42(数値)
  • "3.14"3.14(数値)
  • "true" / "false"true / false(真偽値)
  • "" または "null"null
  • それ以外はすべて文字列のままです。

例えば 01234 のような郵便番号列が "01234" のまま残る必要がある場合(1234 に変換されないよう)は、型推論をオフにしてください。

ドット記法キー → ネストされたオブジェクト

ドットキーを展開を有効にすると、address.city のようなヘッダーがネストされたJSON構造 {"address": {"city": "..."}} に変換されます。ネストされたオブジェクトを期待する階層型APIのデータ準備に役立ちます。

JSON → CSV:ネストオブジェクトの平坦化

JSONをCSVに変換する際、ネストされたオブジェクトはドット記法キーを使って自動的に平坦化されます。{"user": {"name": "Alice", "age": 30}} というオブジェクトは user.nameuser.age の2列になります。

キーボードショートカット

  • Ctrl/Cmd+Enter — 今すぐ変換
  • Ctrl/Cmd+D — 出力をダウンロード
  • Ctrl/Cmd+Shift+C — 出力をコピー

よくあるCSVの落とし穴

  • 値内のカンマ: データにカンマが含まれる場合(例:「田中, 花子」)、そのフィールドはクォートで囲む必要があります。このコンバーターはRFC 4180に従って正しく処理します。
  • 列数の不一致: エクスポーターによっては末尾フィールドが欠けた行を生成することがあります。このコンバーターは不足値を null で補完し、影響を受ける行を通知します。
  • BOM文字: Excelからエクスポートされたファイルは、UTF-8 BOM()で始まることがあります。このコンバーターは自動的に削除します。
  • エンコード: アップロードされたファイルはUTF-8として読み込まれます。CSVが別のエンコード(例:Latin-1)を使用している場合は、先にUTF-8に変換してください。
  • 大きなファイル: 5 MBを超えるファイルはプレビューテーブルを遅くする場合があります。コンバーターは処理しますが、プレビューは最初の50行に制限されます。

CSV vs JSON:使い分けの基準

CSVを使う場合: 非技術者とタブラーデータを共有する、スプレッドシートにインポートする、列名が安定した大規模なフラットデータセットを扱う。

JSONを使う場合: Web APIを利用する、階層的またはネストされたデータを保存する、JavaScript/Node.js/Pythonスクリプトで作業する、値にカンマや特殊文字が含まれる可能性がある。

よくある質問

いいえ。すべての変換はJavaScriptを使ってブラウザ内で完結します。CSVまたはJSONデータがデバイスの外に出ることはありません。ブラウザのネットワークタブを確認すると、変換中に外部への送信がゼロであることがわかります。
コンバーターは最初の5行をサンプリングし、カンマ・セミコロン・タブ・パイプの出現数を数えます。行全体で最も一貫して現れる文字(特にヘッダーで)が区切り文字として選択されます。いつでも手動で上書きできます。
はい。パーサーはRFC 4180に完全準拠しています。ダブルクォートで囲まれたフィールドにはカンマ・埋め込み改行・エスケープされたダブルクォート(2つの連続したダブルクォートは1つのリテラルクォートを表す)を含めることができます。Excelのエクスポートや複数行の住所フィールドも正しく処理されます。
オブジェクトの配列(デフォルト)はヘッダー行をキーとして使います:[{"name":"Alice","age":30}]。ほとんどのAPIやライブラリが期待する形式です。配列の配列は生の行を保持します:[["name","age"],["Alice","30"]]、データグリッドや行列演算に便利です。
Excelのセルを選択してCtrl+Cを押します(タブ区切り値としてコピーされます)。入力ボックスに貼り付けると、自動検出機能がタブ区切り文字を自動的に認識します。また、ExcelファイルをCSVとして保存(ファイル → 名前を付けて保存 → CSV)し、アップロードボタンでアップロードすることもできます。
強制的な上限はありませんが、5 MBを超えるとブラウザが遅くなる場合があります。そのしきい値を超えると警告が表示されます。ライブテーブルプレビューは常にパフォーマンスのために最初の50行に制限されます。変換出力は常に完全です。