You may receive JSON from an API or another system and want to inspect it in Excel. Opening the .json file directly, however, does not automatically arrange its records into spreadsheet rows and columns.

The key is whether the JSON has a table-like structure. An array of product objects, for example, can become one CSV row per product, with object keys as column headers.

Browser Kitty's JSON / YAML / CSV Viewer can load the JSON, show its table representation, and export a CSV without uploading the file. This guide also covers unsupported structures and values that Excel may interpret differently.

Open JSON / YAML / CSV Viewer

1. Check whether the JSON can become a table

For example, [{"id":"A001","name":"Apple","price":120},{"id":"A002","name":"Orange","price":150}] becomes a CSV with the header id,name,price and two product rows. Each JSON object contributes one row.

The viewer also supports arrays of simple values and objects whose properties are all arrays. But a single ordinary object, or an object mixing metadata with a nested records array, cannot be exported directly as a table.

The .json extension alone says nothing about whether a file fits a CSV table. Check the Table view after loading it.

JSON structures accepted for CSV export in this viewer
JSON shapeCSV exportWhat happens
[{"id":"A001"},{"id":"A002"}]YesOne row per object
["red","blue"]YesCreates a single value column
{"id":["A001"],"price":[120]}YesOne column per array
{"id":"A001","price":120}NoA single object is not converted to a row automatically
{"count":1,"items":[{"id":"A001"}]}NoMixes metadata and an array of records

2. Load the JSON file in your browser

Open JSON / YAML / CSV Viewer, select a .json file, or drag it onto the page on a desktop computer. No account or installation is needed.

After loading, check the filename, detected format, and data summary. The file should be recognized as JSON. The viewer does not automatically repair malformed JSON; fix the source if parsing fails.

The app handles one file at a time, up to 50 MB. Very large or deeply nested structures can still strain browser memory.

3. Inspect rows and columns in Table view

Switch to the Table tab. With an array of product objects, id, name and price become columns, and each product occupies a row. If some objects use additional keys, the viewer gathers the keys found across the records as column headers.

Check the headers, row count, and a few sample values before exporting. Other JSON structures, such as a single ordinary object, may not produce a table; CSV export is then unavailable.

The viewer cannot know whether records represent products, events, or something else. Use the field names and actual values to confirm the intended structure.

4. Check missing fields and mixed value types

Open Analyze to inspect each column's types, missing-value counts, and unique-value counts. If price is absent from a record, its CSV cell is blank. JSON null also exports as a blank cell, so the two cannot be distinguished after conversion.

A column containing both a number such as 120 and a string such as "not set" is exported as written. Check mixed types before using the CSV for spreadsheet calculations.

This is a quality inspection, not automatic data cleaning. The viewer does not invent missing values or repair mixed types.

5. Export the CSV from Convert / save

Once the table looks right, open Convert / save and choose CSV. When the data is table-compatible, the browser downloads a CSV without overwriting the original .json file.

The exported CSV uses commas, CRLF line endings, and UTF-8 with a byte-order mark (BOM). The BOM can help spreadsheet software identify the encoding when importing text containing Japanese characters.

The result is a .csv file, not an Excel .xlsx workbook. You can open it in Excel and save a workbook separately if that format is needed.

6. Protect IDs and leading zeros when opening in Excel

Double-clicking a CSV in Excel may trigger automatic number or date detection. A product ID such as "00123" can become 123, or a long identifier may be displayed in scientific notation. That change can happen at Excel import, even if the CSV contains the original characters.

For product codes, postal codes and other identifiers, consider Excel's Data > From Text/CSV import path and keep the relevant columns as text. The wording varies by Excel version.

Be careful with untrusted JSON values beginning with characters such as =. A spreadsheet may interpret them as formulas when importing the CSV. Inspect or sanitize untrusted values before opening them in a spreadsheet.

7. Nested objects are not automatically flattened

If a record contains {"user":{"name":"Aki"}}, the CSV includes a user column whose cell contains a JSON string such as {"name":"Aki"}. It does not automatically create a user.name column.

A wrapper such as {"count":1,"items":[{"id":"A001"}]} also cannot be turned into a table directly. Extract the items array into a separate JSON file before loading it for CSV export.

If Table view is unavailable, first decide which records belong in the CSV and which nested information needs to be preserved. For data whose hierarchy matters, keeping JSON may be the better choice.

8. What changes when moving between JSON and CSV?

JSON distinguishes numbers, strings, booleans, null, arrays and objects. CSV is fundamentally a table of text fields. Importing the CSV elsewhere does not guarantee recovery of the original types or hierarchy.

The viewer handles commas and quotes in CSV fields, quoting values that contain commas, line breaks or double quotes. Correct CSV escaping, however, does not make a JSON-to-CSV conversion perfectly reversible.

Keep the original JSON and use the exported CSV as a separate file for inspection, analysis or transfer to another system.

9. Is the JSON uploaded to a server?

The viewer reads JSON files, parses the data, renders tree/table views, checks data quality and creates CSV entirely in the browser. It does not upload your selected .json file to a conversion server.

The hosted page needs an initial HTML download, but conversion uses no remote API or runtime CDN. A saved standalone HTML can work offline in a compatible browser.

For important data, review the exported columns, row count, text encoding and blanks, and preserve the original JSON separately.

Try it in Browser Kitty

JSON / YAML / CSV Viewer

View, search, analyze, and convert JSON, YAML, CSV, TSV, and JSON Lines locally in your browser.

Open toolView tool details

Tips and limitations

  • For an array of JSON objects, check the Table view before exporting.
  • CSV is saved as UTF-8 with BOM. Encoding errors and Excel's automatic number/date conversion are different issues.
  • JSON null and an absent property can both become an empty CSV cell; refer back to the original JSON if that distinction matters.
  • Nested objects stay as JSON text in a cell rather than being automatically split into dotted columns.

Frequently asked questions

Why is CSV export unavailable for my JSON?

CSV export is disabled for structures the viewer cannot turn into a table, such as a single ordinary object. Extract a table-like array into its own JSON file first.

Can it automatically flatten nested data into columns such as user.name?

No. Nested objects and arrays are stored as JSON text in CSV cells. Flatten the JSON into rows with the desired columns before converting.

Can I open the exported CSV in Excel?

Yes. The exported file is UTF-8 CSV with BOM, not .xlsx. Import identifiers and date-like text as text when you need to preserve the exact characters.

Can I convert JSONL / NDJSON to CSV too?

Yes. The viewer can read JSONL / NDJSON, and you can export CSV when the resulting records form a table. A malformed line may prevent the file from loading.

References

The app's README and implementation describe conversion behavior; the RFC and Microsoft documentation explain CSV and Excel import behavior.