TodayTools

JSON to Excel

Turn exported records into a workbook for the weekly report, every column in place.

PrivateNo uploadsRuns in your browser
  1. Add JSON (current step)
  2. Review
  3. Download

Donate
  • Private

    Files never leave your device.

  • Big files

    Even very large files open without freezing.

  • Many files

    One sheet each, or all combined.

  • Check first

    See totals and charts before you download.

How the conversion works
  1. Plain values (text, numbers, true/false, empty) are kept as they are.
  2. Lists of plain values are joined into one cell with commas: ["weekly","shop"] becomes weekly, shop.
  3. Values inside values get their own column: {"paid_by":{"name":"Ravi"}} becomes a paid_by.name column.
  4. Lists of records are numbered: items.0.name, items.1.name, and so on.
  5. A top-level object is one row, unless it wraps a single large array (like {"data":[…]}), in which case that array becomes the rows. Newline-delimited JSON is also accepted.
  6. Files are read as a stream and parsed in background workers, so the page stays responsive at any size. Excel allows 1,048,576 rows per sheet; longer data is split across sheets automatically.
Business Meeting

For the weekly report

Records your manager can open.

Monday review. The numbers are ready before the meeting starts.

BeforeCopying values cell by cell

With sdevA workbook with every column in place

  • Man Laptop

    Clean columns

    Every field lands in its own column.

  • Two colleagues smiling at an office table

    Report done

    The team wraps up early on Friday.

How to convert JSON to Excel

  1. Add your JSON

    Drop one or more .json, .ndjson or .jsonl files on the page, browse for them, or press Paste JSON instead and paste. Each file is read as a stream in a background worker, with a progress bar per file.

  2. Review the table

    Overview summarises rows and columns. Columns lists every column with its type, fill rate and distinct count. Explore groups rows by one column and splits them by another. Data shows the flattened rows exactly as Excel will get them.

  3. Download the workbook

    Name the file and, with several files, choose one combined sheet or one sheet per file. Press Download to get an .xlsx with a bold, frozen header row and filters on every column.

Good to know

  • Values inside values get their own column (paid_by.name), lists of records get numbered columns (items.0.name) and lists of plain values are joined into one cell with commas.
  • A top-level object that wraps a single large array, for example a data or results field, is unwrapped and that array becomes the rows. Newline-delimited JSON (one object per line) is detected automatically.
  • There is no size limit. Files stream through workers, three at a time, so the page stays responsive at hundreds of megabytes. Larger files simply take longer.
  • Excel allows 1,048,576 rows and 16,384 columns per sheet. Longer data is split across sheets automatically; wider data cannot be exported, and you get a warning above 1,000 columns.
  • Combining several files gives the union of their columns, and the source_file column tells you which file every row came from.
  • Export runs in parallel workers and can be cancelled. Nothing is uploaded; files never leave your device.

Where people use it

  • Share data with your manager

    Turn an API export into an Excel file anyone can open, filter and sort.

  • Check a big export fast

    See each column with counts, blanks and top values before you send the file on.

  • Join many files into one

    Drop several JSON files together and get one workbook from all of them.

  • Only need CSV?

    For a plain text table, convert JSON to CSV instead.

    CSV to JSON and JSON to CSV converter
  • JSON hard to read first?

    Tidy it and check it for errors before you convert.

    JSON formatter, validator and minifier

Why this one

It does more than convert: you can explore each column with stats and charts, then download a ready .xlsx file made on your own device.

  • Works with JSON files of any size, right in your browser.
  • Nested data is flattened into clear columns.
  • Column stats and charts help you understand the data before you download.
  • No upload and no sign-up.

What you can change

  • Drop in many JSON files at once
  • Group and split rows to explore
  • Choose the sheets to export

People find this page by searching

  • json to excel
  • convert json to excel online
  • json to xlsx
  • json file to excel
  • open json file in excel
  • large json to excel
  • nested json to excel
  • json to spreadsheet
Cite this tool
  • APA
    sdev.in. (n.d.). JSON to Excel converter [Web tool]. https://www.sdev.in/tools/json-to-excel
  • MLA
    "JSON to Excel converter." sdev.in, https://www.sdev.in/tools/json-to-excel.
  • Chicago
    sdev.in. "JSON to Excel converter." https://www.sdev.in/tools/json-to-excel.
  • BibTeX
    @misc{sdev-json-to-excel,
      title = {JSON to Excel converter},
      author = {{sdev.in}},
      howpublished = {\url{https://www.sdev.in/tools/json-to-excel}},
      note = {Web tool}
    }

Questions people ask

What JSON structures can it handle?

Arrays of objects are the usual input, but a single object (one row), an object that wraps an array such as {"results": [...]}, and newline-delimited JSON all work. Nested objects and arrays are flattened into columns.

Can I combine several files into one workbook?

Yes. Add as many files as you like, then choose One sheet, all files to stack them with a shared set of columns, or One sheet per file. The optional source_file column records which file each row came from.

How big a file can I convert?

There is no fixed limit. Files are streamed and parsed in background workers rather than loaded as one big string, so files of hundreds of megabytes convert; the ceiling is your device's memory. Data longer than Excel's 1,048,576 rows per sheet is split across sheets.

Are numbers and dates typed correctly in Excel?

Numbers and booleans are written as real Excel values, so they sort and sum correctly. JSON has no date type, so date strings are exported as text; the Columns tab still recognises ISO dates for its statistics. Convert them in Excel with DATEVALUE if you need real dates.

Is my data uploaded?

No. Parsing, statistics and the .xlsx writing all happen in your browser. Nothing is sent anywhere.

Donate