Json To Csv LogoJson To Csv

JSONをCSVに変換する方法:確実な3つの手順(2026年版ガイド)

JSONを表計算ソフトで使えるCSVに変える3つの確実な方法:オンラインツール、ExcelのPower Query、短いPythonスクリプト。

更新日: 2026-10-027 分で読めます

JSON→CSV変換で実際に起きていること

JSONは階層構造です:オブジェクトの中にオブジェクトが入り、配列が値のリストを持ちます。CSVはフラットで、行と列のみです。変換とは、JSON配列の各オブジェクトを1行に、各キーを1列に対応付けることです。

難しいのはネスト構造です。{"address": {"city": "Berlin"}}のような値には直接対応するCSV列がないため、変換ツールはaddress.cityのように展開します。オブジェクト内の配列(tags: ["a", "b"])は通常、1つのセルに結合されます(例:"a; b")。

方法1:無料のオンライン変換ツール(最速)

一度きりの変換なら、オンラインツールが最速です — インストールもコードも不要。すべてブラウザ内で処理されるため、データが端末の外に出ることはありません。

  • JSONを貼り付けるか、.jsonファイルをドロップして上の変換ツールに入れます。
  • 区切り文字を選択:多くのツールにはカンマ、お使いのExcelが求める場合はセミコロン。
  • テーブルプレビューを確認して「.csvをダウンロード」をクリック。

無料のJSON→CSV変換ツールを試す

方法2:Microsoft Excel(Power Query)

Excelを毎日使い、定期的に変換するなら、Power QueryがJSONをネイティブに扱えます。

  • Excelを開いて「データ」タブ → 「データの取得」 → 「ファイルから」 → 「JSONから」。
  • .jsonファイルを選択。Power Queryがデータをレコードのリストとして表示します。
  • 「テーブルへ」をクリックし、展開アイコンで必要な列を展開。
  • 「閉じて読み込む」後、「ファイル」 → 「名前を付けて保存」 → 「CSV UTF-8」で保存。
  • ヒント:「CSV UTF-8(カンマ区切り)」を選ぶと日本語も文字化けしません。

方法3:Pythonスクリプト(繰り返し可能)

開発者や定期処理には、pandasを使用した短いPythonスクリプトが最も再現性が高い方法です。json_normalizeでネスト構造を展開し、BOM付きUTF-8で書き出すためExcelで正しく開けます。

Python
import pandas as pd

# Flat or list-of-objects JSON
df = pd.read_json("data.json")

# Nested objects? Flatten them to dot-notation columns first
df = pd.json_normalize(df.to_dict("records"))

# utf-8-sig adds a BOM so Excel detects the encoding correctly
df.to_csv("data.csv", index=False, encoding="utf-8-sig")

python convert.py で実行。出力されたCSVはExcel、Googleスプレッドシート、任意のデータベースインポートツールで直接開けます。

ネストされたJSONと配列の扱い方

ネストされたオブジェクトはドット記法で綺麗に展開できます:user.profile.emailはuser.profile.email列になります。ネスト配列が難所で、変換ツールは1セルに結合するか複数行に分解するかを選ばなければなりません。分析用途なら、結合(例:"red; blue")で1レコード1行を保ち、一般的な方法です。

JSONが配列でなく単一オブジェクトの場合は、先に [ ... ] で囲んでください — CSVの各行はリスト内の1オブジェクトから生成されます。

区切り文字:カンマとセミコロン

CSVは「comma-separated」(カンマ区切り)の略ですが、ヨーロッパの多くの表計算アプリではセミコロンが期待されます。小数点にカンマを使う地域だからです。CSVを開いて全部1列に詰め込まれていたら、区切り文字が間違っています — セミコロンで再エクスポートしてください。この変換ツールはカンマ、セミコロン、タブ、パイプに対応しています。

よくある問題とすぐできる対処法

変換の頭痛の大半は4つの問題に集約されます:

  • フィールド内のカンマや引用符:正規のCSVではフィールドをダブルクォートで囲み、内側の引用符を二重化します("She said ""hi""")。良質な変換ツールは自動的に行います(RFC 4180)。
  • Excelで文字化けした文字:UTF-8(BOM付き)で保存するとExcelが検出できます。
  • 先頭ゼロの消失(郵便番号・ID):Excelが数値列とみなします。「データ」 → 「テキスト/CSVから」でインポートし、列の型を「テキスト」に設定。
  • 巨大ファイルでブラウザが凍結:JSON配列を小分かし、または上記のPython方法を使用。

関連ガイド

よくある質問

オンラインでJSONをCSVに変換するのは安全ですか?

ブラウザ内で完結して処理される変換ツールなら安全です — このツールがそうです。ファイルは端末内でローカル処理され、サーバーにアップロードされません。機密データを不明なサーバーにアップロードするツールは避けてください。

ExcelでネストされたJSONをCSVに変換するには?

Power Queryを使います:「データ」 → 「データの取得」 → 「ファイルから」 → 「JSONから」、読み込み前にネスト列の展開アイコンで展開します。深くネストされたファイルなら、ドット記法で展開するオンライン変換ツールの方が速い場合が多いです。

CSVを開くと全部1列に入ってしまいます。なぜ?

区切り文字の不整合です。ファイルがカンマ使いなのに表計算ソフトがセミコロンを期待している(ヨーロッパで多い)、またはその逆です。別の区切り文字で再エクスポートし、またはExcelの「データ」 → 「テキスト/CSVから」で区切り文字を手動選択してください。

CSVからJSONに戻すことはできますか?

はい。同じツールが逆方向にも対応し、Pythonの1行スニペット(pd.read_csv("f.csv").to_json("f.json", orient="records"))でCSV行がJSON配列に戻ります。

JSONをCSVに変換するのにソフトのインストールは必要ですか?

いいえ、必要ありません。ブラウザベースの変換ツールなら、貼り付け・プレビュー・ダウンロードまですべて完結します。インストールが有効なのは、PythonスクリプトやPower Queryで時間を節約できる毎日のバッチ処理だけです。

JSONをCSVに変換するとデータが失われますか?

値そのものは失われませんが、形は変わります。ネストしたオブジェクトはドット記法の列に展開され、配列は1つのセルに結合され、数値の先頭や末尾のゼロなどの書式が失われることがあります。本番のワークフローに取り込む前に、複雑な行を1つ確認しておきましょう。

配列ではなく単一のオブジェクトであるJSONファイルはどう変換しますか?

角括弧 [ ... ] で囲んで要素1つの配列にしてください。CSVの各行には必ず1つのオブジェクトが必要です。多くのオンライン変換ツールは単独のオブジェクトも受け付け、自動的に1行として扱います。

今すぐJSONを変換 — 無料

JSONを貼り付けて数秒で綺麗なCSVをダウンロード。登録不要、アップロードなし、100%プライベート。

変換ツールを開く
ガイド一覧