ToolActToolAct

CSV to JSON 変換ツール

CSVファイルをアップロードまたはデータを貼り付けてJSON形式に変換

CSVファイルをここにドロップするか、クリックして選択

CSV to JSONとは?

CSV to JSONは、CSV(カンマ区切り値)データをJSON(JavaScriptオブジェクト表記)形式に変換するオンラインデータ変換ツールです。

CSVは、表計算ソフトやデータベースのエクスポートで広く使われている一般的な表形式データです。JSONは、構造が明確で解析しやすいことから、現代のWebアプリケーションで最も一般的なデータ交換形式となっています。

このツールを使えば、CSVデータを素早くJSON配列やオブジェクトに変換でき、プログラミングやデータ処理に便利です。

使い方

使い方

  1. 左側の入力パネルにCSVデータを貼り付けるか入力してください
  2. 適切な区切り文字を選択してください(デフォルトはカンマ)
  3. 最初の行をフィールド名として使うかどうかを選択してください
  4. 右側のパネルにJSON結果が自動生成されます

CSV解析の注意点

  • JSON出力を信頼する前に、区切り文字、引用符の処理、ヘッダー行の設定を確認してください。
  • 大きなCSVファイルには空行、埋め込みカンマ、引用符内の改行が含まれることがあります。変換後は数行をプレビューして確認してください。

利用シーン

アップロードしたCSVやTSVファイルをJSON配列に変換する.csv、.tsv、.txtファイルをドロップまたは選択し、カンマ・タブ・セミコロン・パイプの区切り文字を選んで、1行目をオブジェクトキーにするか配列のまま出力するかを決めます。ファイルはブラウザのFileReaderで読み込まれ、ストリーミングトークナイザーでローカル解析されるため、顧客データや社内エクスポートがデバイス外に出ることはありません。
JSONを使用する前にフィールド数と行数をプレビューする表示されるファイル名・行数・フィールド数・ハイライト付きJSON出力を活用し、モックやスクリプトにコピーする前に区切り文字の誤りやヘッダー欠落、空行を検出します。出力を実際の貼り付け先に流し込み、受信側システムが同じように解釈するか確認する中間ステップとして有効です。
引用符付きのシンプルなCSVをブラウザ内で処理するパーサーは引用符付きフィールド、エスケープされた二重引用符、4種類の一般的な区切り文字に対応しており、小規模なエクスポートやテストデータに適しています。ファイルはすべてブラウザメモリで処理されるため、機密性の高い人事・財務・ステージングのスナップショットもネットワーク経由で送信せずに変換できます。
型付きAPIに送る前に型情報を確認する変換後、数値やブール値、日付、nullにすべきフィールドが文字列のままになっていないか出力をスキャンし、RESTやGraphQLエンドポイントに送る前に配列をポストプロセスします。CSVにネイティブの型がないため、最初の数行を目視で確認すれば、引用符付きのIDやゼロ埋めコードの大半を発見できます。
モックやフィクスチャに投入する前に不正な行を発見する行数・フィールド数と解析エラーを活用して、予想される列数と一致しない行を特定し、不良行がモックJSONに紛れ込む前に元のCSVを修正します。プレビューペインは最初の不一致行で停止するため、区切り文字の修正や引用符の追加を行ってから再実行できます。

仕組み

CSV のパースは IETF RFC 4180 の文法に従います。各レコードは CRLF(一部の方言では LF または CR も受け付ける)で終端し、各レコードは区切り文字(RFC ではカンマですが、TSV、セミコロン、パイプも広く使われる変種)で区切られたフィールドを含みます。区切り文字、CR、LF、二重引用符を含むフィールドは二重引用符で囲む必要があり、内部の二重引用符は二重化によりエスケープされます(Hello "world" は "Hello ""world""" になります)。このページのパーサーは 4 つの状態(field_start、in_unquoted、in_quoted、after_quote)を持つステートマシンで、文字列ストリームに対して O(n) の単一パスで入力を処理します。10 MB、100,000 行の CSV でも典型的なノートパソコンでは 1 秒以内に完了し、行ごとの中間トークン配列を確保することはありません。 エンコーディングには明示的な処理が必要です:ファイル先頭の UTF-8 BOM(EF BB BF)はパース前に除去されます。さもなければ最初のヘッダー名が不可視の U+FEFF コードポイントで始まり、下流の JSON.parse の等価性チェックが失敗します。Windows の Excel エクスポートは現在も CRLF かつ UTF-8 with BOM であることが多く、macOS Numbers とほとんどの Unix ツールは BOM なしの LF がデフォルトです。ヨーロッパのスプレッドシートでは、多くのロケールでカンマが小数点区切りであるため(49,90 EUR のように 49.90 ではなく)、セミコロン区切りのファイルをエクスポートするのが一般的です。そのため区切り文字セレクターはカンマがデフォルトですが、タブ、セミコロン、パイプを第一級の選択肢として公開しています。先頭行をヘッダーとするトグルは、出力形状をオブジェクトの配列(ヘッダーキー -> 文字列値)から配列の配列に変更し、下流のコードの 2 つの一般的な取り込みパターンに対応します。 フィールド値は推論された型ではなく文字列として出力されます。CSV にはスキーマがないため、01234(ゼロ埋め ID)、1e10(電話番号のように見えるが JSON.parse が数値に強制変換する文字列)、2024-13-45(不正な日付)はすべてそのまま保持されます。これは意図的な設計です。下流の型付き API が zod、Joi、または手書きの変換レイヤーで明示的なルールを適用できますが、コンバーターが既に落とした先頭ゼロは復元できません。出力は JSON.stringify(rows, null, 2) で生成され、シンタックスハイライターを通じてレンダリングされます。ソース CSV は Blob 上の FileReader.readAsText() で読み込まれ、バックエンドにアップロードされることはないため、人事エクスポート、財務台帳、顧客リストをブラウザセッション外に出さずに変換できます。

  • RFC 4180 文法:区切り文字/CR/LF/" を含むフィールドは引用符で囲む必要がある。内部の引用符は "" として二重化。
  • 状態 field_start、in_unquoted、in_quoted、after_quote を持つ単一パス O(n) ステートマシン。
  • UTF-8 BOM(EF BB BF / U+FEFF)はファイル先頭で除去され、ヘッダーキーをクリーンに保つ。
  • ヨーロッパのスプレッドシートではロケール設定でカンマが小数点区切りのため、区切り文字として ; をよく使用。
  • 先頭行をヘッダーとすると出力が Array<Record<string,string>> と Array<Array<string>> の間で切り替わる。
  • すべてのフィールド値は文字列のまま。01234 のようなゼロ埋め ID は型推論が実行されないため保持される。
  • FileReader.readAsText() で Blob をローカル処理。アップロードなし。人事/財務/ステージングのエクスポートに安全。

使用例

ヘッダー行付き CSV → JSON オブジェクト配列

CSV 入力:
name,age,city
Alice,28,New York
Bob,35,London
Carol,42,Tokyo

JSON 出力:
[
  { "name": "Alice", "age": "28", "city": "New York" },
  { "name": "Bob",   "age": "35", "city": "London"   },
  { "name": "Carol", "age": "42", "city": "Tokyo"    }
]

カンマを含むクォート付きフィールド

CSV 入力:
id,product,description
1,"Notebook, A5","Hard cover, 200 pages"
2,Pen,"Black ink, 0.5mm"

JSON 出力:
[
  { "id": "1", "product": "Notebook, A5", "description": "Hard cover, 200 pages" },
  { "id": "2", "product": "Pen",          "description": "Black ink, 0.5mm" }
]

ヘッダーなしの TSV(タブ区切り)

TSV 入力(区切り文字 = Tab、ヘッダーなし):
101	Alice	98.5
102	Bob	87.0
103	Carol	92.3

JSON 出力:
[
  ["101", "Alice", "98.5"],
  ["102", "Bob",   "87.0"],
  ["103", "Carol", "92.3"]
]

セミコロン区切り(欧州の表計算ソフト出力)

CSV 入力(区切り文字 = ;):
product;price_eur;stock
Keyboard;49,90;120
Mouse;19,90;345

JSON 出力:
[
  { "product": "Keyboard", "price_eur": "49,90", "stock": "120" },
  { "product": "Mouse",    "price_eur": "19,90", "stock": "345" }
]
備考: 数値は文字列のまま保持されます。下流のコードでキャストしてください。

よくある質問

どのCSVバリエーションに対応していますか?

標準のRFC 4180 CSV:カンマ区切り、ダブルクォートでフィールドを引用、ダブルクォートを2つ重ねてエスケープ。タブ区切り(TSV)やセミコロン区切りのCSVは区切り文字を変更することで対応できます。異なる行末(LF/CRLF/CR)は自動的に処理されます。

ヘッダーはどのように扱われますか?

「最初の行をヘッダーとする」を有効にすると、パーサーは各ヘッダーセルをその列のJSONキーとして使用し、オブジェクトの配列を生成します。ヘッダーをオフにするとパーサーは配列の配列を生成します。空のヘッダーセルには数値のプレースホルダーキーが付きます。

型はどのように推測されますか?

デフォルトではすべて文字列です。「自動型付け」を切り替えると、数値、ブーリアン(true/false)、nullの解析を試みます。先頭にゼロが付く数値(00123、0042)は、プレフィックスを失わないように文字列のままになります。IDや郵便番号にはこの動作が役立ちます。

フィールドにカンマや改行が含まれている場合はどうなりますか?

フィールドをダブルクォートで囲んでください:"Smith, John" や "line one\nline two"。埋め込みのダブルクォートは2つ重ねます:"He said ""hi"""。パーサーはこれらすべてに対応します。行が途切れている場合、原因は通常クォートの不均衡です。

変換はローカルで処理されますか、それともサーバーで処理されますか?

ローカルで処理されます。解析はJavaScriptを使ってブラウザ内で実行されます。貼り付けたCSVはページから出ません。大きなファイルではブラウザが遅くなる可能性があります。数十MBを超える場合は、処理前に分割してください。

列の順序は保持されますか?

はい。各行はキーの順序がCSVヘッダーの順序と一致するJSONオブジェクトになり、最近のエンジンのJSON.stringifyは挿入順序を保持します。下流のツールが挿入順序を保持しない形でJSONを読む場合、それはそのツールの制限です。

日付はどのように扱えばよいですか?

日付は文字列のままです。任意の日付形式に明確な標準が存在しないため、自動型付けは日付を解析しません(例:1/2/2024は米国では1月2日、ヨーロッパでは2月1日)。下流でネイティブのDateオブジェクトが必要な場合は、インポート前にISO 8601(YYYY-MM-DD)に変換してください。

関連ツール

JSON フォーマットツール

オンラインJSONフォーマットツール。シンタックスハイライト、エラー検出、圧縮・美化をサポート。ワンクリックでJSONデータを美化し、フォーマットエラーを素早く特定し、開発効率を向上させます。

Excel to JSON 変換ツール

オンラインExcel to JSONコンバーター。.xlsxおよび.xls形式に対応、複数シート選択対応。スプレッドシートデータをローカルでJSON形式に変換。

CSV to SQL 変換ツール

カスタムテーブル名、区切り文字、引用符スタイルをサポートするオンラインCSV to SQLツール。CSVデータを素早くSQL INSERTステートメントに変換し、データベースへのインポートを容易にします。

JSON to TypeScript

オンラインJSON to TypeScriptツール。インターフェース定義を自動生成。ネストオブジェクト、配列、ユニオン型対応、TypeScript開発を加速。

XML フォーマットツール

オンラインXMLフォーマットツール。自動インデント美化、構文検証、圧縮処理をサポート。カスタムインデント対応、XMLフォーマットエラーを素早く検出。

SQL フォーマットツール

オンラインSQLフォーマットツール。コード美化、圧縮、キーワード大文字小文字変換、シンタックスハイライトをサポート。ワンクリックでSQLステートメントを整理し、コード可読性を向上。