CSV⇄JSON変換
CSV(TSV)とJSONを相互変換します。引用符で囲まれたカンマや改行も正しく処理し、 1行目を見出しにしたオブジェクトの配列に変換できます。データは送信されません。
左に貼り付けると変換されます。
使い方
変換の向きを選び、区切り文字(カンマ・タブ・セミコロン)を合わせてから貼り付けます。 表計算ソフトからコピーした場合はタブ区切りになっていることが多いので、「タブ」を選んでください。
変換の例
| CSV | JSON(見出しあり・型変換あり) |
|---|---|
| name,age 田中,30 佐藤,25 | [{"name":"田中","age":30}, {"name":"佐藤","age":25}] |
「1行目を見出しとして使う」のチェックを外すと、各行がそのまま配列になります([["name","age"],["田中","30"]])。 見出しが空欄の列は column2 のように連番で補います。
引用符の扱い(RFC 4180)
CSVで値にカンマや改行を含めたいときは、その値全体を二重引用符で囲みます。値の中に引用符そのものを入れたいときは"" と2つ重ねます。このツールはこの決まりに沿って読み書きします。
| CSVの書き方 | 読み取られる値 |
|---|---|
| a,"b,c" | 「a」と「b,c」の2項目 |
| a,"b""c" | 「a」と「b"c」の2項目 |
| a,"1行目(改行)2行目" | 2項目。2つ目の値の中に改行が入る |
JSON→CSVの向きでは、値にカンマ・改行・引用符が含まれる場合だけ自動で引用符を付けます。不要な場所には付けません。
型変換の仕様
- 数値になるもの —
30-1.5のように、先頭に余分な0が付かない数字。 - 文字列のまま残すもの —
007+8103-1234-5678など。 郵便番号・電話番号・IDが壊れないようにするためです。 - true / false / null — その通りの真偽値・null に変換します。
- チェックを外すと、すべて文字列のまま出力します。データを厳密に保ちたいときはこちらを選んでください。
使うときの注意
- 引用符が閉じられていないCSVはエラーになります。データの途中が欠けていないか確認してください。
- JSON→CSVはトップレベルが配列(
[...])のものだけ変換できます。オブジェクト単体は対象外です。 - 入れ子の値はJSON文字列としてセルに入ります。表として扱いたい場合は事前に平坦化してください。
- 末尾の改行は空行として扱いません。最終行が欠けていないか、件数の表示で確認してください。
- 非常に大きなファイルはブラウザの負荷が高くなります。数万行を超える場合は分割をおすすめします。
よくある質問
値にカンマや改行が入っていても大丈夫ですか?
大丈夫です。RFC 4180 の書き方に沿って、二重引用符(")で囲まれた範囲の中にあるカンマ・改行は値の一部として扱います。囲みの中の "" は引用符1文字に戻します。
「007」が 7 になってしまいます。
なりません。先頭に0が付く数字は郵便番号や電話番号のことが多いため、文字列のまま残す仕様です。型変換をすべて止めたい場合は「数値・true/false・null を型変換する」のチェックを外してください。
JSONからCSVにするとき、要素ごとに項目が違っても変換できますか?
できます。すべての要素に現れるキーを集めて見出し行を作り、その要素に無いキーは空欄にします。
入れ子になったJSONは変換できますか?
値が配列やオブジェクトの場合は、その部分をJSONの文字列としてセルに入れます。CSVは表形式なので、入れ子構造をそのまま表現することはできません。事前に平坦な形へ整えてからお使いください。
Excelで開くと文字化けします。
このツールが出すのは文字コードの情報を持たないテキストです。Excelで直接開くと環境によってはUTF-8と認識されません。「データ」タブの「テキストまたはCSVから」を使い、文字コードにUTF-8を指定して読み込んでください。
データはサーバーに送信されますか?
いいえ。変換はすべてブラウザ内で行われ、貼り付けたデータが外部へ送信・保存されることはありません。
関連ツール
JSONを見やすく整えるなら JSON整形、改行リストとカンマ区切りの行き来は リスト⇄区切り変換 が手軽です。列の値をまとめて置き換えるなら 文字列一括置換、数値列の集計は 平均・合計・標準偏差 をどうぞ。