Effortlessly convert JSON to Excel

Quick reference: convert JSON to Excel with an online tool, Excel's Power Query, Node.js, or Python.

Online converter:Json to Excel — fast for small, non-sensitive files.

Quick online option

If you need a one-off conversion and the data is not sensitive, the linked online converter is the fastest option:

In Excel (Power Query)

  1. In Excel, go to Data → Get Data → From File → From JSON.
  2. Select your JSON file. Power Query will parse and show a preview.
  3. Use the query editor to expand records and lists into table columns.
  4. Click Close & Load to import into a worksheet and save as .xlsx.

This is convenient for occasional conversions without writing code.

Node.js (fast, scriptable)

Install a small library and run a script:

npm install xlsx

Example (ESM):

// convert.js
import fs from 'fs';
import xlsx from 'xlsx';

const raw = fs.readFileSync('input.json', 'utf8');
const data = JSON.parse(raw);

// json_to_sheet expects an array of objects
const arr = Array.isArray(data) ? data : [data];
const ws = xlsx.utils.json_to_sheet(arr);
const wb = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, 'Sheet1');
xlsx.writeFile(wb, 'output.xlsx');

Notes:

Python (pandas)

Install the required packages:

pip install pandas openpyxl

Example:

import json
import pandas as pd

with open('input.json') as f:
    data = json.load(f)

# json_normalize flattens nested objects into columns
df = pd.json_normalize(data)
df.to_excel('output.xlsx', index=False)

CSV intermediate

If a tool expects CSV, convert JSON → CSV first and open in Excel:

Handling nested structures

Large files

Security & privacy

Do not upload sensitive or private data to online converters. Prefer local scripts (Node.js/Python) or Excel Power Query for corporate data.

Example input

[
  {"id": 1, "name": "Alice", "email": "alice@example.com"},
  {"id": 2, "name": "Bob", "email": "bob@example.com"}
]

This will produce a two-row table with columns id, name, and email in Excel.


If you'd like, I can:

Tell me which next step you'd prefer.