Blog
Wild & Free Tools

How to Export n8n Workflow JSON Output to Excel

Last updated: February 2026 4 min read
Quick Answer

Table of Contents

  1. Copy JSON From n8n
  2. Unwrap the json Wrapper
  3. Handling Nested Node Outputs
  4. n8n Spreadsheet File Node
  5. Frequently Asked Questions

n8n workflow outputs are JSON arrays — exactly what this converter accepts. Whether you are exporting data from an HTTP Request node, a database query, or a webhook, you can have it in a spreadsheet in under a minute. Here is how.

How to Get JSON Output From Any n8n Node

In n8n, every node outputs its data as a JSON array of items. To get the raw JSON:

  1. Click on any node that has run (shows green checkmark)
  2. Click the Output tab in the panel that appears
  3. Click the JSON view (toggle top right of the output panel)
  4. Click Copy to clipboard or select all and copy

The copied data is in n8n's item wrapper format:

[
  { "json": { "id": 1, "name": "Alice", "email": "[email protected]" } },
  { "json": { "id": 2, "name": "Bob", "email": "[email protected]" } }
]

Paste this directly into the converter above. The json wrapper key will become a column, and the nested object's keys will be flattened to json.id, json.name, json.email.

Removing the n8n Item Wrapper for Cleaner Columns

If you want cleaner column names without the json. prefix, unwrap the array in the n8n Code node before exporting:

// n8n Code node — unwrap items before copying
return $input.all().map(item => item.json);

This produces a clean array:

[
  { "id": 1, "name": "Alice", "email": "[email protected]" },
  { "id": 2, "name": "Bob", "email": "[email protected]" }
]

Paste this into the converter and you get columns: id, name, email — no prefixes.

Sell Custom Apparel — We Handle Printing & Free Shipping

Flatten Nested Data From n8n HTTP Request or Airtable Nodes

n8n HTTP Request and some SaaS integration nodes return deeply nested JSON. For example, a Notion database query might return:

[
  {
    "id": "page-id",
    "properties": {
      "Name": { "title": [{ "plain_text": "Task 1" }] },
      "Status": { "select": { "name": "Done" } }
    }
  }
]

Paste this into the converter as-is — nested objects become dot-notation columns like properties.Name.title.0.plain_text. This is readable but verbose.

For cleaner output, add a Code node in n8n to reshape the data first:

return $input.all().map(item => ({
  id: item.json.id,
  name: item.json.properties.Name.title[0]?.plain_text,
  status: item.json.properties.Status.select?.name
}));

Then copy the output of the Code node and paste into the converter.

When to Use n8n Spreadsheet File Node Instead

n8n has a built-in Spreadsheet File node that can write .xlsx files directly inside a workflow. Use it when:

Use the browser converter (this tool) when:

Export Your n8n Data to Excel Now

Copy JSON from any n8n node and paste it above — download a formatted .xlsx in seconds. No install, no workflow changes.

Open Free JSON to Excel Converter

Frequently Asked Questions

Can I paste n8n output with binary data into the converter?

Only JSON data can be converted to Excel. If a node outputs binary data (like an image or PDF), that cannot be represented in a spreadsheet. Use the JSON output view in n8n to copy the non-binary fields, then convert those.

Does the converter work with n8n Cloud and self-hosted?

Yes — the output JSON format is identical between n8n Cloud and self-hosted instances. Copy the JSON from either version and paste it in.

How do I handle an n8n output with 10,000+ rows?

The browser converter handles large arrays limited only by your available browser memory. For most modern computers, 50,000-100,000 row exports work fine. If the page becomes slow, consider splitting the export in n8n using a Limit node and exporting in batches.

Marcus Webb
Marcus Webb Full-Stack Developer

Marcus leads spreadsheet and charting tool development at WildandFree, with five years of data engineering experience.

More articles by Marcus →
Launch Your Own Clothing Brand — No Inventory, No Risk