UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

Free eBooks·About·Changelog·Privacy Policy·Terms of Service·Report a bug
HomeData Format ConvertersJSON to CSV

Related Tools

JSON to CSV Converter — Flatten & Export

Convert JSON arrays, API responses or JSON Lines to CSV. Nested objects flatten to dot columns, arrays join or split, and quoting stays Excel-safe.

You Might Also Like

All Data Format Converters

Case Converter

Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case.

Lorem Ipsum

Placeholder text in 20 languages — English, Bengali, Hindi, Arabic, Spanish, French, Chinese and more. Paragraphs, sentences, words, lists, optional emoji.

English Lorem Ipsum

Generate free English Lorem Ipsum dummy text for web design, layouts, and mockups. Classic Latin filler text in paragraphs, sentences, words, or lists.

Bangla Lorem Ipsum

Generate free Bangla (Bengali) Lorem Ipsum dummy text for web layouts and mockups. Bengali script filler in paragraphs, sentences, words, or lists.

A flat list of identical objects is the easy case. Real JSON is rarely that tidy: one record has a key the others lack, a customer is an object inside the order, the items are an array, and somebody's note contains a comma. The JSON to CSV Converter handles each of those explicitly, so the file opens in Excel or Google Sheets with every value in the right column.

It accepts a JSON array, a single object, a whole API response or JSON Lines, one record per line. With an API response it looks for the first array of records, such as data.users, says where it found it, and leaves out the paging fields around it.

Worked Example: Three Shop Orders

The page opens on three orders, 614 bytes of JSON. They become 287 bytes of CSV with 3 rows and 8 columns:

  • customer is flattened into customer.name and customer.city.
  • ["notebook", "fountain pen"] becomes notebook; fountain pen in one cell.
  • Leave at gate, ring twice is wrapped in quotes because of its comma, and Tomás "Tom" Ferreira is written with doubled quotes, as RFC 4180 requires.
  • giftWrap appears only in the third order, so the first two rows leave that column empty, and null becomes an empty cell too.

Switch Arrays to One column each and the items spread into items.0 and items.1. Keep as JSON writes the array as text instead.

Format Notes: Quoting, Delimiters and Excel

Cells are quoted only when they need it: a delimiter, a double quote, a line break, or leading or trailing spaces. Quote every value forces quotes everywhere for strict importers. Choose a Semicolon for European Excel, where the comma is the decimal separator. A Tab downloads as a .tsv file.

UTF-8 BOM for Excel adds three invisible bytes to the downloaded file. Without them, Excel on Windows shows Tomás as garbled characters. Windows line endings switches LF to CRLF. A multi-line value stays inside its quoted cell rather than breaking the row.

What Happens When a Cell Starts With =

Spreadsheets run a cell that starts with =, +, - or @ as a formula, which is how CSV injection works. Formula guard puts an apostrophe in front of those cells. On the fourth sample it marks 5 cells, including =1200+300 and @tanaka_studio. It also marks phone numbers such as +44 20 7946 0321, which is why it is off by default.

Broken input gets a position rather than a guess: “That isn't valid JSON — the parser stopped at line 1, column 10.” A bare number is refused, an empty array reports that there are no rows, and files over 10 MB are refused to keep the tab responsive. The table preview shows the first 100 rows; the CSV always contains all of them.

614 B
3 rows × 8 columns
Delimiter
Arrays

Table preview

orderIdplacedcustomer.namecustomer.citytotalitemsnotegiftWrap
ORD-104212026-03-14Priya NairKochi84.5notebook; fountain penLeave at gate, ring twice—
ORD-104222026-03-14Tomás "Tom" FerreiraPorto129desk lamp——
ORD-104232026-03-15Hana KobayashiOsaka42.75——true