A practical starting point

Turn flat JSON records into a spreadsheet table

Convert a flat JSON array into CSV, check the exported columns, and verify how your spreadsheet interprets identifiers and formula-like text.

3 steps to get startedSources reviewed
The exporter converts a non-empty array of objects to CSV using keys from all records, including keys first seen later. Nested values can remain JSON text in one cell or be rejected; they are not flattened into new rows or columns.

Useful starting points

Tools and resources you can explore today. External services have their own terms and availability.

A practical way forward

  1. Define the row and nesting policy

    Start with a non-empty array of objects. Decide whether a nested object or list should remain JSON text in one cell; choose rejection if nested data would make the intended table ambiguous.
  2. Check the union of columns

    Convert a small sample with a key that appears only in a later record. The exporter gathers keys across all records. Check missing and null values carefully because both become empty cells.
  3. Import deliberately and review formula protection

    Keep spreadsheet formula protection enabled for untrusted text; it adds an apostrophe to formula-like strings and headers. That changes the cell value. Import identifiers as text and verify the spreadsheet result before sharing.

Worked examples & reusable files

A later record adds a column

Original synthetic example: the second object has active even though the first does not. The export includes all three headers.

Input or setup

[
  {
    "id": "0012",
    "name": "North, desk"
  },
  {
    "id": "0003",
    "active": true
  }
]

Result or expected output

"id","name","active"
"0012","North, desk",""
"0003","","true"
  • The empty cells mean a missing key in this example. A source null would also export as empty.
  • The CSV text preserves 0012, but a spreadsheet must import the id column as text to keep it.

Download the input JSON

Expected union-key CSV

Compare the three columns, two data records and quoted comma. CSV quoting protects structure; it does not force a spreadsheet cell to have a text type.

Download the expected CSV

Keep in mind

  • Nested objects and arrays are JSON text in one cell by default, not flattened or expanded. Missing fields and null become empty cells, so CSV does not preserve every JSON distinction.
  • Formula protection changes formula-like strings and headers by adding an apostrophe. It is not a guarantee for every spreadsheet or import setting.
  • Unsafe unquoted JSON integers are rejected rather than silently rounded. Quote identifiers in the source; a spreadsheet may still reinterpret dates and leading zeros on import.

Sources, not guesswork

Background for this guide. Discussion and documentation are useful signals, not proof of demand or an endorsement of every service.

Planned · Research

Export with field selection

Research only — not available yet. Would nested-field selection, array-to-row expansion and saved export mappings remove manual cleanup?

This feature is not available yet. We’re exploring whether it would be useful. Tell us about your task; leaving an email for follow-up is optional.

AN IDEA IN RESEARCH

What would make this useful?

This feature is not available yet. We’re exploring whether it would help. Sharing feedback is free and does not reserve a place or promise a launch date.

Please leave out passwords, private files, and other people’s personal information.

Feedback is kept privately for up to 90 days. Privacy & deletion