The n8n Split Out Node: Break Arrays into Items the Right Way (2025)
One of the most common beginner mistakes in n8n is trying to loop over an array manually when a single node already does it for you. The Split Out node takes a field that contains a list and turns each element into its own item — so the rest of your workflow processes them one by one, naturally.
This guide explains when to reach for Split Out, how it differs from Loop Over Items, and the patterns that keep large-list workflows fast and reliable.
What Split Out actually does
n8n workflows pass data as a list of items, and each item is a JSON object. Often one item contains an array inside it — say an API returns { "orders": [ {...}, {...}, {...} ] }. Downstream nodes can't easily act on each order because they're all buried in one item.
Split Out fixes this: point it at the orders field and it emits three separate items, one per order. Now every following node runs once per order automatically — no manual looping required.
Split Out vs Loop Over Items
These two get confused constantly:
- Split Out — reshapes data. It takes an array field and fans it into individual items. Use it when you already have a list and want each element processed independently.
- Loop Over Items (SplitInBatches) — controls execution. It processes items in batches so you can rate-limit an API or paginate. Use it when you need to throttle or chunk.
Rule of thumb: reach for Split Out to unpack data, and Loop Over Items to pace how it's processed.
Configuring the node
Add a Split Out node and set Field to Split Out to the array's path — for example orders, or a nested path like data.results. You can also choose which fields from the parent item to carry along into each new item, which is handy when you need the parent's ID attached to every child element.
If the field sometimes isn't an array, enable the option to include items even when the field is missing, so the workflow doesn't error on edge cases.
🚀 See Split Out in a real bulk-import workflow
This ready-made workflow reads spreadsheet rows and imports them into your CRM one clean record at a time — the exact Split Out pattern, already built.
Get the Google Sheets → Pipedrive Import template →
A real example: bulk lead import
Say you read a Google Sheet and get one item containing 200 rows in an array. Feeding that straight into a CRM node would try to create one record from the whole blob. Instead, drop a Split Out node on the rows field — now you have 200 clean items, and the CRM node creates 200 leads, one per execution. Pair it with Loop Over Items if the CRM API rate-limits you.
Common mistakes and fixes
- Nothing splits — the field path is wrong or the value isn't actually an array; inspect the incoming JSON first.
- Lost parent context — add the parent fields you need under Fields To Include so IDs travel with each item.
- Everything runs as one item — you skipped Split Out entirely; downstream nodes only iterate when items are separate.
- API gets hammered — chain Loop Over Items after Split Out to batch the requests.
Cleaner data flow, fewer loops
Split Out is one of those nodes that quietly makes your workflows simpler: instead of hand-rolling loops, you unpack arrays into items and let n8n's natural per-item execution do the work. Remember the distinction — Split Out reshapes, Loop Over Items paces — and most list-processing headaches disappear.
Once it clicks, you'll reach for it in almost every workflow that touches an API returning lists.
Ready to automate? Get this n8n template on Gumroad
Get the Google Sheets → Pipedrive Import workflow — a production example of clean, per-record list processing in n8n.