必要なツールを、すぐ使えるように

CSV JSON 変換ツール

CSV を貼り付けるかファイルを開くと、1 行目をキーにした JSON のオブジェクト配列がすぐに表示され、JSON を入力すると Excel で開ける CSV が表示されます。カンマ・タブ・セミコロンの区切り文字は自動で判定し、0012 のような値は文字のまま残します。API のレスポンスのような入れ子の JSON は「顧客.名前」のような列に展開し、下の表で確認では、列ごとの数値・文字列・空欄の混ざり方と、行ごとの変換内容を確かめられます。

最終更新 2026-10-20計算はブラウザ内だけで処理

入力した内容やファイルはサーバーに送信されず、このブラウザー内だけで変換されます。

表で確認

    最終更新 2026-10-20入力値は保存しません

    ROBERINの基準必要なツールを、
    すぐ使えるように。
    • ひと目で分かる画面入力と結果の位置をはっきり分けます。
    • 結果が先主要な結果を先に示し、過程は必要なときだけ。
    • 求めない登録や不要な入力なしですぐ使えます。

    CSV の 1 行目はキーに、データの 1 行は JSON オブジェクト 1 つになります

    CSV は、セルをカンマで、行を改行で区切った表です。JSON のオブジェクト配列は、名前と値の組をまとめたオブジェクトを角括弧 [ ] の中に並べたリストです。この 2 つは同じデータを表せます。CSV の 1 行目に書かれた列名がオブジェクトのキーになり、その下の 1 行がオブジェクト 1 つになります。上のサンプルでは、1 行目「商品コード,商品名,価格,在庫,備考」がキー 5 つになり、データの 3 行がオブジェクト 3 つになります。逆に JSON を CSV にするときは、オブジェクトに出てくるキーを集めて列を作り、オブジェクト 1 つを 1 行として書き出します。

    このツールは、貼り付けたりファイルを開いたりした時点ですぐに変換します。区切り文字がカンマか、タブ・セミコロン・縦線かは自動で判定し、0012 のように先頭に 0 がある値は初期設定で文字のまま残します。API のレスポンスのようにオブジェクトの中にオブジェクトが入った JSON は、「顧客.名前」のような列に展開します。下の「表で確認」では、列ごとに数値・文字列・空欄がどれだけ混ざっているかを棒で確認でき、行番号を押すとその行がどのオブジェクトまたは CSV の行になったかが「行の変換内容」に表示されます。引用符やセルの数が合っていないときは、何行目のどこが問題かを示します。入力した内容やファイルはサーバーに送信されず、このブラウザー内だけで処理されます。

    CSV と JSON を相互に変換する場面

    • Excel の一覧を Web サービスに登録するとき: 商品・会員・在庫の一覧をスプレッドシートで管理していて、JSON 配列を受け取る API や管理ツールにまとめて渡したい場合に、CSV を JSON に変換します。
    • API のレスポンスやログを表で見たいとき: 開発ツールやサービスから受け取った JSON を CSV にすれば、Excel や Google スプレッドシートで並べ替えやフィルターができます。レスポンスが { "data": [ … ] } のように包まれていても、中の配列を選んで表にできます。
    • 設定・翻訳文・テストデータを作るとき: 複数人で編集しやすいスプレッドシートに値を集め、プログラムが読む JSON として書き出します。
    • 2 つのプログラムが異なる形式しか扱えないとき: 一方は CSV でしか出力できず、もう一方は JSON しか受け付けない場合に、間で形式を変えて受け渡します。

    変換の規則

    1. CSV の読み取り: 区切り文字でセルを、改行で行を分けます。区切り文字・二重引用符・改行を含むセルは、セル全体を二重引用符で囲み、セル内の二重引用符は 2 つ重ねて("")書きます。空白も値の一部としてそのまま残します(RFC 4180)。完全に空の行は読み飛ばします。ただし列が 1 つだけの CSV では、空の行を空の値として読みます。
    2. 列名: 1 行目がキーになります。名前が空だったり同じ名前が 2 回出てきたりすると、どの値がどのキーか決められないため、変換を止めます。1 行目からデータの場合は、「1 行目」を「データ」に切り替えてください。列1、列2 …がキーになります。
    3. セル数の確認: すべての行のセル数が 1 行目と同じでなければなりません。足りないセルを推測で補ったり、余ったセルを捨てたりはせず、ずれている行を知らせます。
    4. 値: 初期設定の「すべて文字列」は、すべてのセルを文字列として移します。「数値・真偽・null を判定」を選ぶと、下の表の規則に従って数値、true・false、null に変換します。
    5. JSON → CSV: オブジェクトごとに出てくるキーを、初めて出てきた順に集めて列にします。あるオブジェクトにないキーと null は空欄になります。オブジェクトの中のオブジェクトはドット(.)でつないだ列名に、配列は 0 から振った番号で展開します。
    6. CSV の書き出し: 区切り文字・二重引用符・改行を含むセルだけを二重引用符で囲み、行末は CRLF で書きます。Excel 用の BOM は保存するときだけ先頭に付け、コピーしたテキストには付けません。

    値を数値に変換する基準

    CSV には型がなく、すべてのセルが文字です。「数値・真偽・null を判定」は、JSON の数値の構文に合い、文字に戻しても同じ値になるセルだけを数値にします。JSON の構文では先頭の 0 を認めていないため 0012 は数値ではなく(RFC 8259)、ブラウザーが正確に扱える整数は 9,007,199,254,740,991(253 − 1)までなので、それより大きい注文番号は文字のまま残します。

    CSV のセルすべて文字列数値・真偽・null を判定理由
    0012"0012""0012"先頭の 0 は JSON の数値の構文に合わない
    25900"25900"25900整数
    1.50"1.50"1.5値は同じで、末尾の 0 は消える
    1e3"1e3"1000指数表記も数値
    TRUE"TRUE"truetrue・false は大文字小文字を区別しない
    null"null"null小文字の null のみ
    (空欄)""""空文字列のまま
    9007199254740993"9007199254740993""9007199254740993"安全な整数の範囲を超える
    0.1234567890123456"0.1234567890123456""0.1234567890123456"有効数字 16 桁は正確に表せない
    -0"-0""-0"数値にすると 0 になるため文字のまま
    "1,234""1,234""1,234"桁区切りのカンマを含む値は文字

    商品コード・郵便番号・電話番号のように計算しない値がある場合は、「すべて文字列」が安全です。「数値・真偽・null を判定」は列ではなくセルごとに判断します。0 で始まるコードは文字のまま残りますが、1234 や 0 だけのコードは数値の構文に合うので数値になり、同じ列に文字と数値が混ざることがあります。コードの列がある場合は「すべて文字列」を使ってください。

    API レスポンスのような入れ子の JSON を表に展開する

    JSON → CSV のサンプルは、注文の一覧が「注文」キーの中に入っているレスポンスです。最上位がオブジェクトの場合は、その中からオブジェクトの配列を探して表にし、複数ある場合は項目が最も多い配列を先に選びます。別の配列やオブジェクト全体を 1 行にしたいときは、入力欄の「表にする配列」で切り替えます。オブジェクトの中のオブジェクトは「顧客.名前」のようにドットでつなぎ、配列は「タグ.0」「タグ.1」のように番号を付けます。

    番号顧客.名前顧客.都市数量支払いタグ.0タグ.1メモ
    A-0012美咲東京2true新規クーポン
    A-0013大輝大阪1false

    2 件目の注文には「タグ」がなく、「メモ」は null なので、どれも空欄です。空のオブジェクト { } と空の配列 [ ] は、値が消えたと誤解されないよう、セルに {}・[] という文字で残します。このように展開した CSV をもう一度 JSON に変換すると、「顧客.名前」はドットを含むキー 1 つになり、入れ子の構造には戻りません。1 行に 1 オブジェクトの JSON Lines(.jsonl)も、そのまま貼り付ければ 1 行を 1 行分として読み取ります。

    Excel で開く・保存するとき

    • 文字化けさせないために: Microsoft は、UTF-8 の CSV が BOM(バイト オーダー マーク)付きで保存されていれば、Excel で通常どおり開けると案内しています。そのため、CSV を保存するときは「Excel 用 BOM」が初期設定でオンになっています。BOM のないファイルは、Excel の「データ」タブの「データの取得」>「ファイルから」>「テキスト/CSV から」で開くと、文字コードを選べます。
    • セミコロン区切りの CSV: Excel が CSV を保存するときの区切り文字は初期設定ではカンマですが、Windows の地域設定で別の文字に変えることができ、変えるとすべてのプログラムがその文字を使います。そのため、地域設定によってはセミコロンで区切られた CSV になることがあります。区切り文字の「自動判定」はセミコロンも選び、結果 CSV の区切り文字も変更できます。
    • Excel からコピーしたセル: Excel や Google スプレッドシートでセルを選んでコピーし、貼り付けると、セルの間がタブで入ります。自動判定がタブを区切り文字に選ぶので、ファイルに保存せずにそのまま変換できます。
    • 古い文字コードのファイル: UTF-8 として読めないファイルは、日本語版 Windows の Shift_JIS(Windows-31J、ブラウザーでは shift_jis などの名前で扱われる文字コード)として読み直し、入力欄の上にどの文字コードで読んだかを表示します。
    • Excel ブック: .xlsx・.xls は圧縮されたブックなので直接は開けません。Excel で CSV として保存してから開いてください。

    CSV の構文は RFC 4180、JSON の構文と数値の範囲は RFC 8259、Excel の BOM・リスト区切り文字・先頭の 0 に関する説明は Microsoft サポートの文書を 2026-10-20 に確認しました。

    CSV を経由すると失われる情報

    CSV のセルには文字しか入らないため、JSON のデータ型は CSV を経由する間に残りません。JSON → CSV → JSON と一巡させたときに、元と変わってしまうものを挙げます。

    元の JSONCSV のセル再び JSON(すべて文字列)
    "メモ": null(空欄)"メモ": ""
    "メモ": ""(空欄)"メモ": ""
    キーなし(空欄)"メモ": ""
    "数量": 33"数量": "3"
    "支払い": truetrue"支払い": "true"
    "顧客": {"名前": "美咲"}顧客.名前 列に 美咲"顧客.名前": "美咲"

    null と空文字列、キーがない場合を区別する必要があるデータなら、元の JSON もあわせて保管するか、状態を書く列を別に設けてください。数値と true・false は「数値・真偽・null を判定」で戻せますが、もともと文字列だった "3" まで数値になります。表で確認の棒は元の JSON の値の種類を示すので、null だったセルは空欄と区別して「真偽・null」の色で塗られます。

    よくある間違い

    • 値の中のカンマを囲んでいない: 黒, グレー を二重引用符なしで書くとセルが 1 つ増え、「セルが 6 個あります」のようなエラーになります。"黒, グレー" のように、セル全体を囲んでください。
    • セルの途中に引用符を書いている: ノートPCスタンド "アルミ" のようにセルの途中に二重引用符があるときは、セル全体を囲み、内側の引用符を 2 つ重ねて "ノートPCスタンド ""アルミ""" と書く必要があります。
    • ヘッダーのない CSV をそのまま入れている: 最初のデータ行が列名になり、1 件が欠けます。「1 行目」を「データ」に切り替えてください。
    • 大きな番号を数値で書いている: JSON に 9007199254740993 のような大きな整数を引用符なしで入れると、ブラウザーが読み込んだ時点で値が変わります。このツールはそのような値を見つけると変換を止め、二重引用符で囲んで文字列にするよう知らせます。
    • 同じキーを 1 つのオブジェクトに 2 回書いている: JSON の標準は、オブジェクト内の名前は一意であるべきとしています(RFC 8259)。同じキーが 2 回あると、このツールは最後の値だけを残します。
    • CSV を Excel で開くと 0012 が 12 になる: 変換結果に 0012 が残っていても、Excel は先頭の 0 を消し、大きな数値を 1.23E+15 のような指数表記に変えます。Excel の有効桁数は 15 桁までなので、16 桁以上のカード番号や注文番号は 16 桁目以降が 0 に変わります。「データ」タブの「テキスト/CSV から」で取り込み、その列の形式をテキストに指定してください。

    制限と注意

    • 入力は 5 MB(5,242,880 バイト)まで、ヘッダーを含めて 200,000 セルまで、結果は 10 MB まで変換できます。それより大きいデータは行単位で分け、分けたファイルごとに同じヘッダーを付けてください。
    • 表で確認に描画するのは、先頭の 100 行・60 列だけです。変換とコピー・保存は全データに対して行います。
    • CSV → JSON は常に平らなオブジェクト配列を作ります。ドットを含む列名を入れ子のオブジェクトに戻すことはしません。
    • JSON Lines は読み取りのみです。結果を 1 行 1 オブジェクトで受け取りたい場合は、JSON 配列 ↔ JSONL の変換ツールを使ってください。
    • JSON の小数は、ブラウザーが読み込む際に倍精度の数値に変わるため、非常に長い小数は末尾の桁が変わることがあります。桁を保ちたい値は文字列で入れてください。
    • =、+、-、@ やタブで始まるセルは、Excel が数式として解釈することがあります(OWASP はこれを CSV インジェクション、数式インジェクションと呼んでいます)。このツールは値を書き換えないので、出どころの分からないデータを CSV にして Excel で開くときは、そうしたセルがないか先に確認してください。

    出典

    よくある質問

    CSV を JSON に変換するには?

    上の入力欄に CSV を貼り付けるか、ファイルを開くと、結果欄に JSON のオブジェクト配列がすぐに表示されます。1 行目の列名がキーになり、その下の 1 行がオブジェクト 1 つになります。コピーボタンで取り出すか、.json ファイルとして保存してください。

    0012 のような先頭の 0 は消えませんか?

    消えません。初期設定の「すべて文字列」はすべてのセルを文字列として移すため、0012 は "0012" になります。「数値・真偽・null を判定」を選んでも、0 で始まる値は JSON の数値の構文に合わないので文字のまま残ります。

    価格や数量を文字列ではなく数値で受け取るには?

    結果欄の「値」を「数値・真偽・null を判定」に切り替えると、25900 は数値の 25900、true・false は真偽値、null は null になります。9,007,199,254,740,991 より大きい整数と、有効数字が 16 桁以上の小数は、値が変わらないよう文字のまま残します。

    変換した CSV を Excel で開くと文字化けします。

    保存するときに「Excel 用 BOM」をオンにしてください。初期設定でオンになっており、BOM 付きの UTF-8 の CSV は Excel でそのまま開けます。BOM のないファイルは、Excel の「データ」タブの「テキスト/CSV から」で開き、文字コードを UTF-8 にしてください。

    セミコロンやタブで区切られたファイルも変換できますか?

    変換できます。区切り文字の「自動判定」が、先頭 20 行でカンマ・タブ・セミコロン・縦線のうち行ごとの数が同じものを選びます。Excel からコピーして貼り付けたセルはタブ区切りで入るので、そのまま変換されます。結果 CSV の区切り文字も選べます。

    入れ子の JSON や API のレスポンスも CSV に変換できますか?

    変換できます。最上位がオブジェクトなら、その中のオブジェクト配列を探して表にします。オブジェクトの中のオブジェクトは「顧客.名前」のようにドットで、配列は「タグ.0」のように番号で展開します。別の配列を使うときは「表にする配列」で選んでください。1 行に 1 オブジェクトの JSON Lines も読み込めます。

    1 行目に列名がない CSV はどうすればよいですか?

    入力欄の「1 行目」を「データ」に切り替えてください。1 行目もデータとして読み、キーは列1、列2 のように自動で付けます。切り替えないと、最初のデータ行が列名になり、1 件が欠けます。

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

    送信されません。貼り付けたテキストや開いたファイルは、このブラウザー内だけで変換され、保存もされません。入力は 5 MB、200,000 セルまで処理できます。