CSV↔JSON 変換ツール

CSVとJSONを相互に変換します。表やJSONを貼り付けて方向を選ぶだけ。結果はコピーやダウンロードができます。区切り文字(カンマ・セミコロン・タブ・縦線)は自動で判定し、数値は数値として出力、エラーは行番号つきで表示します。データはブラウザの外に出ません。

出典:§ 2, IETF RFC 4180 – Common Format and MIME Type for Comma-Separated Values (CSV) Files。更新日:

CSV:1行目が列名。JSON:オブジェクトまたは配列の配列。

入力したテキストはブラウザー内にとどまります。送信・保存されず、アドレスバーにも表示されません。

CSV → JSON:列名がキーになります。JSON → CSV:キーを見出し行として出力します。
42 は数値になり、007 は文字列のまま(先頭のゼロを失わないため)。
マイツールボックス入力内容はこのブラウザーにのみ保存されます。

結果

変換結果
[ { "名前": "山田 太郎", "都市": "東京", "年齢": 34, "有効": true }, { "名前": "佐藤 花子", "都市": "大阪", "年齢": 28, "有効": false }, { "名前": "鈴木 \"ジロー\" 次郎", "都市": "福岡", "年齢": "", "有効": true } ]
サイズ
データ3行、4列、230文字。 判定した区切り文字:カンマ。

計算方法

CSV(カンマ区切り値)は最も単純な表形式で、1行が1件のデータ、項目は区切り文字で分けます。JSONはWeb APIで使われるデータ形式です。このツールは両方向に変換でき、処理はすべてブラウザ内で行います。

CSVをJSONに変換する手順

  1. CSVのテキストを貼り付けます(表計算ソフトからセルをコピーして貼ると、区切りはタブになります)。
  2. 向きは「CSV → JSON」のまま。区切り文字は自動判定されますが、必要なら自分で選べます。
  3. 形を選びます。オブジェクトの配列(各行が {"列名": 値} になる)または配列の配列です。
  4. 結果をコピーするか、daten.json としてダウンロードします。

型:数値か文字列か

CSVにはデータ型がなく、すべて文字列です。「数値と true/false を判定する」をオンにすると値がJSONの数値になりますが、情報が失われない場合だけです。RFC 8259 第6節で有効な数値(先頭ゼロなし、プラス記号なし、小数点はピリオド)で、有効桁数が15桁以内のものに限ります。0100001 のような郵便番号、電話番号、カード番号は文字列のままです。

JSONをCSVに変換する

オブジェクトの配列は表になります。列はすべてのキーを初出の順に並べたもので、ない値は空欄です。入れ子のオブジェクトや配列は、CSVに階層がないためJSON文字列としてセルに入ります。区切り文字・引用符・改行を含む項目は、RFC 4180 に従って引用符で囲みます。

制限事項

よくある質問

CSVをJSONに変換するにはどうしますか?

CSVを入力欄に貼り付け、向きを「CSV → JSON」にします。1行目がキー、2行目以降が1件ずつのオブジェクトになります。結果はコピーまたはダウンロードできます。

CSVの区切りがカンマではなくセミコロンなのはなぜですか?

小数点にカンマを使う地域の表計算ソフトは、区切り文字にセミコロンを使います。このツールは両方を自動判定しますが、迷うときは手動で選んでください。

先頭のゼロ(郵便番号など)は消えませんか?

消えません。先頭がゼロの値は、JSONの数値では表せないため(RFC 8259)文字列のままです。すべて文字列にしたいときは「数値と true/false を判定する」をオフにします。

入れ子のJSONをCSVにするとどうなりますか?

CSVは平らな形式なので、レコード内のオブジェクトや配列はJSON文字列としてセルに入ります。単純な表にしたい場合は先に構造を平らにしてください。

PythonでCSVをJSONに変換するには?

標準ライブラリで可能です。csv.DictReader(file) で行を辞書として読み、json.dumps(list(reader), ensure_ascii=False, indent=2) でJSONにします。1回だけならこのページのほうが手早く済みます。

入力したデータはどこかに送信されますか?

いいえ。変換はブラウザ内で行われ、サーバーへの通信はありません。入力内容は保存されず、アドレスバーにも表示されません。

出典・根拠

更新日:

関連ツール