Calculators Converters Generators Developer Tools Finance Tools Writing Tools SEO Tools Image Tools Network Tools Productivity Tools Social Media Tools
Blog About Contact

JSON to Excel Converter

InputJSON
📂 Click to import a .json file
1
PreviewExcel Spreadsheet
📊
Enter valid JSON array to see tabular preview
JSON Indentation:

JSON to Excel & Excel to JSON Converter - Free Online Bidirectional Tool

This free JSON to Excel converter instantly transforms data between JSON and Excel spreadsheet formats in both directions - upload or paste JSON and download a ready-to-use .xlsx file, or upload an Excel spreadsheet and get clean JSON. JSON is the standard format for API responses, databases, and web applications, but it is not easy to read or analyze in its raw form. Excel, on the other hand, is the universal tool for viewing, sorting, filtering, and analyzing tabular data. Converting JSON to Excel lets non-technical stakeholders open API data in a familiar spreadsheet, while converting Excel to JSON lets you turn manually-maintained spreadsheets into structured data for applications and APIs.

Use this online converter to bridge the gap between developer data formats and business spreadsheets without writing code or installing software. The tool automatically flattens nested JSON into rows and columns for Excel, and structures spreadsheet rows back into clean JSON objects. Whether you need to convert a JSON API response into a spreadsheet for your finance team, import JSON data into Excel for analysis, turn a JSON file into a downloadable report, or convert an Excel data sheet into JSON for a web application, this converter handles it in your browser. Your data stays on your device, making it safe for business records and sensitive datasets.

How to Use the JSON ⇄ Excel Converter

  1. Step 1 - Choose Your Conversion Direction

    Select whether you want to convert JSON to Excel or Excel to JSON using the direction toggle. JSON to Excel is the most common direction - developers and analysts convert API responses and JSON data files into spreadsheets so the data can be sorted, filtered, charted, and shared with people who do not work with raw JSON. Excel to JSON is used when you have data maintained in a spreadsheet (product catalogs, contact lists, configuration tables) that needs to become structured JSON for an application, API, or database import. The tool defaults to JSON to Excel.

  2. Step 2 - Provide Your Input Data

    For JSON to Excel, paste your JSON into the input panel or upload a .json file. The JSON should ideally be an array of objects (a list of records), since this maps naturally to spreadsheet rows - each object becomes a row and each property becomes a column. For Excel to JSON, upload your .xlsx or .xls file. The first row of your spreadsheet should contain column headers, as these become the property names (keys) in the resulting JSON. The tool reads the data from your spreadsheet's cells and structures it accordingly. Both directions accept files of substantial size.

  3. Step 3 - Review the Conversion Settings

    Depending on your data, you may want to adjust conversion options. For JSON to Excel: choose how to handle nested objects and arrays - flatten them into separate columns (e.g., "address.city") or serialize them as text in a single cell. For Excel to JSON: choose whether numbers and dates should be typed (converted to JSON numbers) or kept as strings, and whether to use the first row as headers. If your JSON contains nested structures, the flattening option is the most important setting to get right, since spreadsheets are inherently flat (rows and columns) while JSON is hierarchical.

  4. Step 4 - Convert and Download

    Click Convert to process your data. For JSON to Excel, the tool generates a downloadable .xlsx file with your data organized into rows and columns, complete with a header row - open it directly in Microsoft Excel, Google Sheets, or any spreadsheet application. For Excel to JSON, the tool produces formatted JSON that you can copy or download as a .json file, ready to use in your application or API. Because the conversion runs entirely in your browser, your data is never uploaded to a server - important when working with business data, customer records, or financial information.

JSON to Excel Conversion Examples

Example 1 - Array of Objects (The Ideal Structure)

The cleanest JSON to Excel conversion happens when your JSON is an array of flat objects. Each object becomes a row; each key becomes a column.

JSON Input
[
  { "id": 1, "name": "Alice", "department": "Sales", "salary": 65000 },
  { "id": 2, "name": "Bob", "department": "Engineering", "salary": 85000 },
  { "id": 3, "name": "Carol", "department": "Marketing", "salary": 72000 }
]
Excel Output
idnamedepartmentsalary
1AliceSales65000
2BobEngineering85000
3CarolMarketing72000

The keys (id, name, department, salary) become the header row, and each object fills one data row. This is the structure your JSON should be in for the cleanest possible spreadsheet - a flat array of objects with consistent keys.

Example 2 - Nested JSON Flattened with Dot Notation

Real-world JSON often has nested objects. Since spreadsheets are flat, nested properties are flattened into columns using dot notation.

JSON Input
[
  {
    "id": 1,
    "name": "Alice",
    "address": { "city": "Mumbai", "country": "India" }
  }
]
Excel Output
idnameaddress.cityaddress.country
1AliceMumbaiIndia

The nested "address" object is flattened into two columns: "address.city" and "address.country". This dot-notation approach preserves the full structure in a flat spreadsheet, and notably allows the data to be converted back to nested JSON later without losing the hierarchy.

Example 3 - Excel to JSON (Reverse Direction)

Converting a spreadsheet into JSON - the first row becomes the keys, and each subsequent row becomes an object in the array.

Excel Input
productpricein_stock
Keyboard49.99TRUE
Mouse29.99FALSE
JSON Output
[
  { "product": "Keyboard", "price": 49.99, "in_stock": true },
  { "product": "Mouse", "price": 29.99, "in_stock": false }
]

The header row (product, price, in_stock) becomes the object keys, and each data row becomes an object. With type detection enabled, the price values become JSON numbers and the TRUE/FALSE values become JSON booleans - making the output ready for direct use in code.

Example 4 - Handling Arrays Within Records

When a record contains an array (like multiple tags or categories), there are two common approaches the converter can take.

JSON Input
[
  { "name": "Laptop", "tags": ["electronics", "portable", "work"] }
]
Excel Output
nametags
Laptopelectronics, portable, work

Arrays within a record are typically joined into a single cell as comma-separated text, since a spreadsheet cell holds one value. Alternatively, some converters expand arrays into separate columns (tags.0, tags.1, tags.2) or separate rows. The comma-joined approach is most readable for spreadsheets, while the indexed-column approach preserves the array structure for converting back to JSON.

How JSON to Excel Conversion Works

Converting between JSON and Excel is fundamentally about reconciling two different data models: JSON is hierarchical (objects nested inside objects, arrays inside objects), while a spreadsheet is strictly two-dimensional (rows and columns). The core job of the converter is to map a tree-shaped structure onto a flat grid and back again.

The Tabular Mapping

The natural unit of conversion is an array of objects. Each object in the array becomes one row in the spreadsheet, and the object's keys become the column headers. This works perfectly when every object has the same flat set of keys:

JSON array → spreadsheet rows
Object keys → column headers (first row)
Object values → cell values

When objects have different keys, the converter takes the union of all keys as the header row and leaves cells empty where a particular object lacks a key.

The Flattening Problem

The central challenge is nested data. A spreadsheet cell holds a single value, but JSON properties can contain entire objects or arrays. Converters solve this with flattening - collapsing nested structures into flat column names using dot notation. A nested property like address.city becomes a column header "address.city". This is the most important concept in JSON to Excel conversion: deeply nested JSON produces many flattened columns, and the dot-notation naming is what makes round-trip conversion (Excel back to nested JSON) possible. Without consistent flattening, the hierarchy would be lost.

Type Handling in Both Directions

JSON has explicit data types (string, number, boolean, null) while Excel cells have their own type system (text, number, date, boolean). Converting JSON to Excel maps JSON numbers to Excel numbers and JSON strings to text. Converting Excel to JSON requires a decision: should the text "42" in a cell become the JSON number 42 or the string "42"? Type detection attempts to infer the right type, but it must be careful with identifiers like ZIP codes, phone numbers, and IDs with leading zeros, which should stay as strings. Excel dates are particularly tricky because Excel stores them internally as serial numbers, so date columns may need special handling to convert to readable date strings in JSON.

Why Excel Is a Binary Format

Unlike JSON, YAML, or XML - which are plain text - modern Excel files (.xlsx) are actually compressed archives containing multiple XML files describing the worksheet, styles, and data. This is why you upload and download files rather than copy-paste text when working with Excel. The converter reads the binary .xlsx structure to extract cell data, and writes a properly formatted .xlsx file when converting to Excel. This binary nature is also why you cannot simply rename a .json file to .xlsx - the formats are structurally completely different.

Who Uses a JSON ⇄ Excel Converter?

  • Developers sharing API data with non-technical teams - Engineers who pull data from an API in JSON format and need to hand it to colleagues in sales, finance, or operations who work in spreadsheets, converting JSON to Excel so the data can be reviewed, filtered, and analyzed without any technical knowledge.
  • Data analysts processing API exports - Analysts who receive data as JSON from web services, analytics platforms, or databases and convert it to Excel to perform pivot tables, charts, formulas, and statistical analysis using familiar spreadsheet tools rather than writing code.
  • Business users importing spreadsheet data into applications - Operations and product teams who maintain data in Excel (product catalogs, pricing tables, inventory lists, contact databases) and need to convert it to JSON so developers can import it into a web application, database, or API.
  • Developers building data import features - Engineers who need to understand the structure of an Excel file their users will upload, converting sample spreadsheets to JSON to design their data model and parsing logic before building the import feature.
  • QA testers and report builders - Professionals who convert JSON test data or API responses into Excel to create readable reports, compare expected versus actual data, or build test fixtures, and who convert curated Excel data back to JSON for use in automated tests.

Common Mistakes When Converting Between JSON and Excel

⚠️Trying to convert JSON that is not an array of objects.

The cleanest conversion requires JSON structured as an array of objects, where each object represents a record (a row). If your JSON is a single object, a deeply nested structure, or an array of arrays, the conversion to a spreadsheet will be awkward or require heavy flattening. Before converting, check that your top-level structure is an array (starts with "[") containing objects (each starting with "{"). If your data is wrapped in an outer object like { "results": [...] }, extract the inner array first so the converter has clean records to map to rows.

⚠️Losing leading zeros and corrupting identifiers.

When converting Excel to JSON with type detection on, values like ZIP code "01234", product code "00789", or phone number "0044..." can be interpreted as numbers, dropping the leading zeros and corrupting the data. The same problem happens in reverse - Excel famously auto-converts things that look like numbers. To protect identifiers, keep them as strings during conversion (disable type detection for those columns) and format the relevant Excel columns as Text before entering data. This is one of the most damaging and common data integrity issues in spreadsheet conversion.

⚠️Mishandling Excel dates.

Excel stores dates internally as serial numbers (the number of days since January 1, 1900), not as readable date text. When converting Excel to JSON, a date cell may come through as a number like 45292 instead of "2024-01-01" unless the converter properly interprets it as a date. Always check date columns in the JSON output to confirm they converted to readable date strings rather than raw serial numbers. When converting JSON to Excel, ensure date strings are formatted in a way Excel recognizes, or they may be treated as plain text rather than sortable dates.

⚠️Expecting deeply nested JSON to convert cleanly.

Spreadsheets are flat by nature, so deeply nested JSON (objects within objects within arrays) does not map elegantly to rows and columns. While flattening with dot notation handles moderate nesting, very deep or irregular structures produce spreadsheets with dozens of sparsely-populated columns that are hard to read. If your JSON is deeply nested, consider whether a spreadsheet is even the right destination, or pre-process the JSON to extract just the flat subset of fields you actually need in the spreadsheet.

⚠️Forgetting the header row when converting Excel to JSON.

The converter uses the first row of your spreadsheet as the keys (property names) for the JSON objects. If your spreadsheet starts with a title row, merged cells, blank rows, or formatting before the actual column headers, the conversion will use the wrong row as keys and produce malformed JSON. Make sure your spreadsheet's first row contains clean, simple column headers (ideally without spaces or special characters, since these become JSON keys) and that there are no extra rows above the headers.

JSON vs Excel - When to Use Each Format

JSON and Excel serve very different purposes, which is exactly why converting between them is so useful. The table below clarifies the strengths of each and when conversion makes sense.

AspectJSONExcel (.xlsx)
Primary purposeData exchange & storage for appsHuman data analysis & reporting
Data modelHierarchical (nested)Tabular (rows & columns)
File typePlain textBinary (compressed archive)
Best audienceDevelopers & machinesBusiness & non-technical users
Nesting supportNative, unlimitedNone (must flatten)
Sorting & filteringRequires codeBuilt-in, instant
Formulas & chartsNoYes
Multiple sheetsNoYes
API compatibilityUniversalRequires conversion
Max recordsUnlimited1,048,576 rows per sheet
Editing by non-codersDifficultEasy & familiar

The bottom line: use JSON when applications and APIs exchange the data, and use Excel when humans need to read, analyze, or report on it. Converting JSON to Excel makes developer data accessible to business teams, while converting Excel to JSON turns human-maintained spreadsheets into structured data for applications - which is exactly what this bidirectional converter is built to do.

Frequently Asked Questions

To convert JSON to Excel, paste your JSON or upload a .json file into this converter with the direction set to "JSON to Excel," then click Convert and download the resulting .xlsx file. For the cleanest result, your JSON should be an array of objects - each object becomes a row and each key becomes a column header. Nested objects are flattened into columns using dot notation (like "address.city"). The downloaded file opens directly in Microsoft Excel, Google Sheets, or any spreadsheet application, with your data organized into a proper table complete with headers.
To convert Excel to JSON, upload your .xlsx or .xls file with the direction set to "Excel to JSON." The converter reads your spreadsheet and produces a JSON array where each row becomes an object. The first row of your spreadsheet is used as the keys (property names), so make sure it contains clean column headers. With type detection enabled, numeric cells become JSON numbers and TRUE/FALSE cells become booleans. The result is formatted JSON you can copy or download, ready to import into an application, database, or API.
There are two main ways to open a JSON file in Excel. The easiest is to use this converter: convert your JSON to an .xlsx file and open it directly. Alternatively, modern versions of Excel have a built-in importer - go to the Data tab, choose "Get Data" then "From File" then "From JSON," select your file, and Excel's Power Query editor will let you transform the data into a table. The Power Query method works well for simple JSON but can be confusing for nested structures, which is why many users prefer converting to .xlsx first with a dedicated converter that handles the flattening automatically.
To import JSON data into Excel, you have two options. Using this converter, convert your JSON to an .xlsx file and open it - the simplest approach, especially for nested JSON. Using Excel's native feature, go to Data then Get Data then From File then From JSON, which opens Power Query to transform the data. Power Query gives you control over how nested fields expand into columns but has a learning curve. For one-time imports or nested data, the dedicated converter is faster; for recurring imports from the same source, setting up a Power Query connection in Excel can be worth the initial effort since it can refresh automatically.
An array of flat objects with consistent keys is ideal - for example, a list of records where every record has the same fields like id, name, and email. This maps directly to a spreadsheet: the array becomes rows, the keys become columns. Avoid deeply nested structures, arrays of arrays, or single objects if you want a clean spreadsheet. If your JSON is wrapped in an outer object (like { "data": [...] }), extract the inner array first. Moderate nesting is handled through flattening with dot notation, but the flatter and more consistent your JSON, the cleaner the resulting Excel file.
Because spreadsheets are flat (rows and columns) and JSON is hierarchical, nested objects are flattened into columns using dot notation. A nested property like { "address": { "city": "Mumbai" } } becomes a column named "address.city". Arrays within records are typically joined into a single cell as comma-separated text, or expanded into indexed columns (tags.0, tags.1). This flattening preserves the data and, with dot notation, even allows converting back to the original nested structure. However, very deeply nested JSON produces many columns and can become unwieldy, so flatter JSON yields more usable spreadsheets.
Numbers generally convert correctly in both directions, but watch for two issues. First, identifiers with leading zeros (ZIP codes, product codes) can be corrupted if treated as numbers - keep these as strings. Second, Excel stores dates as internal serial numbers rather than text, so date columns need proper handling: when converting Excel to JSON, verify dates come through as readable date strings rather than numbers like 45292, and when converting JSON to Excel, ensure date strings are in a format Excel recognizes. For critical data, always spot-check number and date columns after conversion.
This converter handles substantial datasets - thousands of rows convert without issue. Because the conversion runs in your browser, very large files (tens of thousands of rows or many megabytes) may take longer or strain your device's memory, but there is no arbitrary server-imposed limit. Keep in mind that Excel itself has a hard limit of 1,048,576 rows per worksheet, so JSON with more records than that cannot fit in a single sheet. For very large datasets, a programmatic approach using a library like Python's pandas (which reads JSON and writes Excel directly) is more efficient and reliable than any browser-based converter.
With this converter, yes - the conversion happens entirely in your browser using client-side JavaScript, so your data is never uploaded to a server. This is especially important for JSON-to-Excel conversion because the data often contains business records, customer information, financial figures, or other sensitive content that should not be transmitted to a third party. Always confirm that any online converter processes data client-side. For highly confidential data like personal information subject to privacy regulations, consider using a local tool such as a Python script with pandas instead of any web-based converter.
For automation and large-scale conversion, programming libraries are the best choice. In Python, the pandas library is the standard: pandas.read_json() loads JSON and .to_excel() writes an .xlsx file (and read_excel/to_json handle the reverse). In JavaScript/Node.js, the SheetJS (xlsx) library reads and writes Excel files and converts to and from JSON. For one-off conversions or when you do not want to write code, this online converter is fastest. For recurring conversions, scheduled jobs, or processing many files, the programmatic libraries provide repeatability and can be integrated into data pipelines.
CSV (comma-separated values) is a simpler, plain-text tabular format that is closely related to Excel. While this tool focuses on the Excel .xlsx format, the same flattening principles apply to CSV - an array of objects maps to CSV rows with a header line. CSV is lighter and more universally compatible than .xlsx, but it cannot store multiple sheets, formatting, formulas, or typed cells, and it can have issues with values containing commas or line breaks. If your goal is simple tabular data exchange, CSV may suffice; if you need a true spreadsheet with formatting and multiple sheets, Excel .xlsx is the better target.
If your converted or opened data appears crammed into a single column, the most common cause is a delimiter or structure mismatch - often from trying to open a CSV or JSON file directly in Excel without proper parsing. When using this converter to produce a proper .xlsx file, the data is written into correct separate columns automatically, avoiding this problem. If you are opening a raw file instead, use Excel's Data then Text to Columns feature, or the Get Data import wizard, to split the content correctly. Converting to a true .xlsx file first is the most reliable way to ensure clean column separation.

Why Use the JSON to Excel Converter on GlobalUtilityHub?

The JSON to Excel Converter is part of our extensive collection of over 130+ free online utilities designed to make your life easier. We understand that in today's fast-paced digital world, you need tools that are not only accurate but also respect your time and privacy. That's why our json to excel converter runs entirely on the client side, meaning your data is processed instantly in your browser and never sent to any server.

Our commitment to a premium user experience means you won't find intrusive pop-ups or mandatory registration requirements here. Whether you are using this converter for professional work, academic research, or personal planning, you can count on a clean, ad-light interface that works perfectly on any device - from high-resolution desktops to small smartphone screens.

Every tool on our platform, including the JSON to Excel Converter, is regularly updated to ensure compliance with modern standards and mathematical accuracy. By choosing GlobalUtilityHub, you are joining a community of millions of users who trust us for their daily calculation, conversion, and generation needs. Explore our other Converters or check out our blog for deep-dive guides on how to optimize your productivity.