JSON から Excel への変換ツール

オンラインで JSON を Excel に変換します。無料、即時、そして安全です。ファイルはすべてお使いのブラウザ内で処理され、サーバーにアップロードされることはありません。

結果

変換されたファイルとプレビューがここに表示されます。

準備完了。変換するテーブルファイルを選択してください。

変換の仕組み

  • オブジェクトの配列は行と列に変換されます。ネストされたオブジェクトは、`address.city` のようにドット区切りのキーを持つフラットな列に変換されます。
  • スプレッドシートはプレーンな値のみの単一シートとして書き出されます。数式、スタイル、追加のタブなどは保持されません。

テーブルファイルの変換処理はすべてお使いのブラウザ上で行われます。BroBroGoにデータがアップロードされることはありません。

よくある質問

JSON から Excel への変換方法を教えてください。

JSON ファイルをドロップして「変換」をクリックするだけです。プレビュー画面とともに、数秒で Excel ファイルのダウンロード準備が整います。すべての処理はお使いのデバイス上で行われます。

変換できるファイルの最大サイズはどのくらいですか?

1ファイルあたり最大8 MB、10,000行、200列まで対応しています。これを超える大きなデータセットは、あらかじめ小さなファイルに分割してから変換することをおすすめします。

このページの働き

このページは、アップロードされたJSONファイルをExcelのXLSX形式(.xlsx)に変換します。変換時には、JSONの階層構造(オブジェクトや配列の入れ子)を自動的に平坦化(フラット化)し、1枚のワークシートとして出力します。オブジェクトのキーは列ヘッダーに、オブジェクトの配列は行になります。入れ子になったキーはドットパス(例:address.city)で展開されます。変換後はブラウザ上でプレビュー表示され、そのままXLSXファイルとしてダウンロードできます。

他ページとの違い:なぜこの変換が必要か

JSONは型情報を持ち、階層を自由にネストできます。オブジェクト、配列、数値、真偽値、nullといったデータ型を内包し、キーと値の関係で複雑な構造を表現できます。一方、スプレッドシートは本質的にフラットな二次元の表です。この構造的な違いを埋めるため、JSON to Excel変換では平坦化ルールが必須になります。

具体的には、以下の点がCSVや既存のExcelファイルからの変換と異なります。

  • ドットパス展開: ネストしたオブジェクトはparent.child形式の列名として展開されます。例えば{"user": {"name": "田中", "age": 30}}user.nameuser.ageという2列になります。
  • データ型の保持: 出力先のXLSXは数値や真偽値をネイティブに保存できます。同じデータをCSVで書き出すとすべてが文字列になりますが、このツールでは元の型を可能な限り保持します。ただし、数式やセル書式は一切保存されません。出力されるのはJSONの静的な値だけです。
  • 配列の配列の扱い: JSONが[["a", 1], ["b", 2]]のような配列の配列であれば、そのままそのまま行としてテーブルに変換されます。列数は最初の配列の要素数に合わせられます。

入力と出力の仕様

入力ファイル: 1回につき1つのJSONファイル。ファイルは「テーブル形状」である必要があります。具体的には、オブジェクトの配列([{...}, {...}])か、配列の配列([[...], [...]])でなければなりません。単一のオブジェクトやスカラー値だけのJSONは変換できません。

出力ファイル: XLSX形式。ワークシートは1枚のみ。出力ファイルのサイズと行数・列数はプレビューに表示されます。

制限: ファイルサイズ、行数、列数には上限が設定されています。上限を超えると以下のエラーメッセージが表示されます。

  • 「This file is too large. Use a file under ‹max›.」
  • 「This table has more than ‹max› rows.」
  • 「This table has more than ‹max› columns.」

変換のルールとエッジケース

変換はブラウザ上(クライアントサイド)で完結し、ファイルはサーバーに送信されません。以下のルールが適用されます。

  • 平坦化の優先順位: オブジェクトの配列の場合、最優先でキーが列名になる。配列の配列の場合はそのまま表の行として扱われる。両方が混在する場合の動作は保証されていません。JSONが「テーブル形状」でない場合はエラーになります。
  • nullと空の値: オブジェクト内のキーがnullだった場合、該当セルは空欄になります。キー自体が存在しない場合は、その行のセルは空欄になります。
  • エラーメッセージ一覧:
    • 「Choose one file first.」(ファイル未選択)
    • 「Choose a CSV, JSON or XLSX file.」(対応形式以外)
    • 「This file is too large. Use a file under ‹max›.」(サイズ超過)
    • 「This JSON is invalid or not table‑shaped.」(JSONが無効またはテーブル形状でない)
    • 「This file has no table rows.」(行がゼロ)
    • 「This table has more than ‹max› rows.」(行数超過)
    • 「This table has more than ‹max› columns.」(列数超過)
    • 「Conversion cancelled.」(変換中止)
    • 「This conversion is taking too long. Try a smaller file.」(処理時間超過)
  • 処理時間がかかる場合: 自動的にキャンセルされます。その場合はファイルサイズを小さくして再試行します。

想定ユーザーと利用シナリオ

  • APIレスポンスの分析: REST APIから返ってくるJSONデータ(ユーザー情報、商品リストなど)を、Excelでフィルタや集計を行いたいデータアナリスト。
  • 設定ファイルの共有: 設定ファイルやログデータがJSON形式で提供され、Excelを使うチームメンバーと共有したい場合。
  • データ型を守りたい: 数値や真偽値を正確にXLSXに移したい場合。CSVに変換するとすべて文字列になり、後で数値変換が必要になる問題を避けられます。
  • コードを書かずに平坦化: ネストしたJSONを、PythonやJavaScriptのスクリプトを書かずにスプレッドシートに変換したい人。ツールが自動でドットパスを生成します。

技術的補足

**JSON(JavaScript Object Notation)**は、軽量なデータ交換フォーマットです。キーバリューペアと配列で構成され、文字列・数値・真偽値・null・オブジェクト・配列の6種類の値を持ちます。ネスト構造が可能なため、リレーショナルデータベースのテーブルよりも柔軟に情報を格納できますが、そのままではExcelに読み込めません。

**XLSX(Office Open XML Spreadsheet)**は、ZIP圧縮されたXMLファイル群からなるスプレッドシート形式です。各セルにデータ型(数値、文字列、真偽値、エラーなど)を明示的に指定できます。このツールでは数値と真偽値をその型のまま埋め込み、文字列は文字列型として保存します。数式やセルの塗りつぶし、フォント設定などの書式情報は書き出されません。あくまでJSONのデータ構造をそのまま表に変換するのが目的です。

クライアントサイド処理により、ファイルの内容が外部サーバーに送られることはありません。変換ロジックはJavaScriptで実装され、ブラウザのメモリ上で動作します。プライバシーが重要なデータ(顧客情報、社内データ)でも安心して使用できます。

よくある質問

Q: ネストが3階層以上のJSONでも変換できますか?
A: はい。ドットパスが階層分だけ連結されます(例:company.address.zipcode)。ただし列数が増えるため、上限に達するとエラーになります。

Q: JSONに配列が含まれているとどうなりますか?
A: 最上位がオブジェクトの配列(行データとみなせる)であれば、配列内部の値はそのまま値として埋められます。配列全体が一つのセルに入ることはなく、ツールは自動的に平坦化します。ただし、ネストした配列をさらに行として展開することはありません。

Q: 変換後、Excelで開くと数式が使えますか?
A: 出力ファイルには数式データは含まれません。変換後のセルの値はJSONから直接書き込まれた静的な値です。Excel上で新たに数式を入力することは可能です。

Q: ファイルサイズの上限はどのくらいですか?
A: 具体的な数値は環境やブラウザのメモリ制限により異なります。表示されるエラーメッセージ「Use a file under ‹max›.」で上限を確認できます。大きなファイルは分割してから変換してください。

Q: 変換が途中で止まった場合はどうすればいいですか?
A: 自動でキャンセルされた場合、「This conversion is taking too long. Try a smaller file.」と表示されます。ファイルを分割するか、フィールドを減らして試してください。変換中にブラウザを閉じると強制終了になります。

Q: データはサーバーにアップロードされますか?
A: いいえ。変換はすべてブラウザのJavaScriptで行われ、ファイルがサーバーに送信されることはありません。プライバシーが保たれます。