Merge Node data

Why is my Merge node dropping data

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hi @Lasisi_Olubodunde

Here are the most common reasons why your data might be disappearing:

If you are using “Merge by Position”, the node acts based on the number of items in Input 1:

  • The Rule: If Input 1 has 5 items and Input 2 has 10, the Merge node will only output 5 items (it stops when it runs out of items in Input 1).
  • The Fix: Ensure the input with the most items is connected to Input 1, or switch to a different mode if you need to keep all data.

If you are using “Merge by Key”, the node performs a join operation (like a SQL INNER JOIN by default):

  • The Cause: If the values you are matching on (e.g., an id field) don’t match exactly—down to the character—n8n will exclude those items.
  • Common Culprits:
    • Data Types: A string "1" vs. a number 1 will fail to match.
    • Whitespace/Casing: " user " vs "user" or "User" vs "user".
  • The Fix: Use a Code node before the Merge node to normalize your keys (e.g., .trim(), .toString(), or .toLowerCase()).

If you are using “Append” mode, n8n simply adds the lists together.

  • The Cause: If you notice data missing here, it is often because of how the downstream node handles the resulting array. If the downstream node only expects a single object but receives a large array, it might only process the first item, making it look like data was dropped.
  • The Fix: Check if you need to add an “Item Lists” node (specifically “Split Out”) after the Merge node to ensure every item in the combined list is processed individually.

If one of the branches leading into the Merge node doesn’t execute (e.g., an IF node condition is false, or an error occurred in a previous step), the Merge node may hang or result in an empty set.

  • The Fix: Check your execution logs to confirm that both branches leading to the Merge node are actually outputting data. If one branch is conditional, you may need an “Execute Workflow” node or a different logic structure to ensure the Merge node receives data from both paths.