← JSON ツールに戻る

JSON を CSV に変換

最終更新:2026年10月1日

JSON のオブジェクト配列を CSV の表に変換します。各オブジェクトが 1 行になり、キーが列になります。スプレッドシートが期待する規則で引用符を付けます。すべてブラウザ内で完結し、データは端末から出ません。

ブラウザ内で動作 アップロード不要 RFC 4180 準拠 Excel 向け BOM オープンソース (MIT)

この変換が行うこと

CSV ファイルは、テキストで書かれた表です。1 行が 1 レコードで、セルの間は区切り文字で分け、先頭の行に列名を並べます。JSON にはこの形がありません。両者が出会う最も自然な点はオブジェクトの配列です。各オブジェクトが 1 レコードで、そのキーがフィールド名になります。API がリストを返すときの形がまさにこれなので、この変換ツールはまずこれを受け付けます。

[{"id":1,"name":"Ada"},{"id":2,"name":"Grace"}] を与えると、出力はヘッダー行 id,name と、続く 2 行 1,Ada と 2,Grace になります。以下の規則を除いて、並べ替えも値の書き換えも行いません。

表になる JSON の形

「和集合」という点が重要です。一部のレコードに phone キーがあり他にない場合でも、ヘッダーには phone が含まれ、それを持たない行はそのセルが空になります。列が落ちることはありません。その結果、構造が揃っていない JSON では、多くのセルが空の列を持つ表になります。

ネストした値はテキストになる

セルに入るのはテキストだけなので、値の中にネストしたオブジェクトや配列は、コンパクトな JSON としてセルに書き出されます。{"address":{"city":"London"}} はセル {"city":"London"} になります。情報は残りますが、もはや構造化されてはいません。この変換ツールは address.city をドット付きの列に分解しません。ドット付きの列が欲しい場合は、先に JSON を平坦化してください。それはモデリングの判断であり、整形の問題ではありません。

引用符・区切り文字・改行

出力は RFC 4180 に従います。これはすべてのスプレッドシートと CSV ライブラリが合意している規則です。

区切り文字は選べます。既定はカンマですが、小数点にカンマを使う環境ではセミコロンのほうが安全です。そうでないとカンマ区切りのファイルはそこで曖昧になります。タブとパイプは、データ自体にカンマが含まれる場合に使えます。

Excel で文字化けさせないために

Excel は UTF-8 を無条件に読むわけではありません。バイト順マークのない .csv を渡すと、エンコーディングを推測し、しばしば古いコードページを選んで、アクセント付きの文字や CJK の文字を壊します。Excel 用 BOM を追加のオプションは、ダウンロードするファイルの先頭に 3 バイトの UTF-8 マークを付けて、Excel が正しく解読できるようにします。ダウンロードにのみ適用され、ここに表示されるテキストはそのままです。

CSV に持ち帰れないもの

CSV はテキスト形式であり、情報が失われます。どの値が数値・真偽値・null だったかを忘れ、ネストはテキストへ平坦化されます。null と空文字列はどちらも空のセルになり、数値はその桁の並びになります。JSON に戻すと、もう一方のページで型の自動判定を有効にしない限り文字列になります。有効にしても、007 のようなコードは先頭のゼロを保つために文字列のままにする必要があります。型が重要なときは元の JSON を残し、CSV は書き出し先であって正本ではないと考えるのがよいでしょう。

よくある質問

どんな形の JSON を CSV に変換できますか?

CSV は表なので、最も自然な入力はオブジェクトの配列です。各オブジェクトが 1 行になり、そのキーが列になります。配列の配列はそのまま行として使われ、単一のオブジェクトは 1 行に、単純な値の配列は 1 列になります。それ以外——単独の数値や文字列、null——は表ではないため拒否されます。

オブジェクトごとにキーが違う場合はどうなりますか?

ヘッダーは配列内に現れたすべてのキーの和集合で、最初に現れた順に並びます。そのキーを持たない行は、対応するセルが空になります。構造が揃っていない JSON から作った CSV に、ほとんどの行で空になる列ができるのはこのためです。

ネストしたオブジェクトや配列はどう扱われますか?

CSV にネストはないため、値そのものがオブジェクトや配列の場合は、コンパクトな JSON テキストとしてセルに書き出されます。情報は保たれますが、もはや構造化されてはいません。この変換は文字列化によって平坦化するのであって、ネストしたキーをドット付きの列に分解するのではありません。

フィールドが引用符で囲まれるのはどんなときですか?

フィールドが区切り文字、二重引用符、改行、または先頭・末尾の空白を含むときに引用符で囲まれます。引用符内の二重引用符は 2 つに書き換えられるので、テキストは正確に再現されます。これが RFC 4180 の規則であり、1 つのセルにカンマや改行を入れられる理由です。

Excel で CSV が文字化けするのはなぜですか?

Excel は .csv ファイルのエンコーディングを推測し、バイト順マークがなければ古いコードページを選んでしまうことが多く、その結果、アクセント付きの文字や CJK の文字が壊れます。BOM オプションをオンにすると、ダウンロードするファイルの先頭に U+FEFF が付き、Excel は UTF-8 として解読します。BOM はダウンロードにのみ付き、ここに表示されるテキストには影響しません。

JSON から CSV への変換は可逆ですか?

いいえ。CSV はテキストを保存するため、どの値が数値・真偽値・null だったかを忘れ、ネストはテキストとしてしか表せません。CSV を JSON に戻すと、型の自動判定を有効にしない限り文字列になります。型を正確に戻す必要があるなら、元の JSON を残してください。

逆の方向が必要ですか?CSV を JSON に変換 では表をオブジェクト配列に読み戻せます。不具合を見つけましたか?お問い合わせ。