Fix the “Existing execution data is too large” Error in n8n (Self-Hosted)

When you self-host n8n, everything runs smoothly until you start building large, data-heavy workflows — then suddenly, you hit the dreaded error:
“Please execute the whole workflow, rather than just the node. (Existing execution data is too large.)”
I ran into this issue on my Hostinger VPS (Ubuntu + Docker), and it took me a while to figure out where my Docker configuration was hiding.
So here’s a simple, step-by-step guide to fix it and avoid hours of frustration.
🔍 What Causes the Error?
When you test a single node in n8n, it serializes and transmits the workflow’s state to the backend.
If that data exceeds 16 MB, you’ll hit the limit and see this error.
In short: n8n doesn’t have enough memory allowance to handle your test data.
🧩 Step 1 – SSH Into Your VPS
Connect to your server:
ssh root@your_vps_ip
You’ll know you’re connected when you see something like:
root@srv1021587:~#
🧭 Step 2 – Find Your Docker Configuration
This part trips up most people (including me).
Try:
find / -name docker-compose.yml 2>/dev/null
If it shows nothing, your container was likely started manually with docker run.
List all containers:
docker ps
You’ll get output like:
CONTAINER ID IMAGE COMMAND STATUS PORTS
b6b6bae2cbc2 docker.n8n.io/n8nio/n8n "tini -- /docker-ent…" Up 5d 127.0.0.1:5678->5678/tcp
Note the container name (e.g., root-n8n-1). You’ll need it later.
💡 Need Help Finding Your Config?
If you’re still stuck, open this ChatGPT helper link and paste your docker ps output there:
💬 ChatGPT Prompt (Copy–Paste Ready)
You can also ask ChatGPT directly with this ready-made prompt:
🧠 Prompt:
“I’m running n8n in a Docker container on a (Hostinger/Digital Ocean/Railway etc) VPS with Ubuntu/any OS. When I try to test individual nodes, I get the error ‘Existing execution data is too large.’
Help me locate my Docker Compose configuration ordocker runcommand, and guide me to increase theN8N_PAYLOAD_SIZE_MAXvariable safely to 256MB/whatever size you want.”
It will guide you to the exact folder or docker run command.
🧰 Step 3 – Make a Backup (Highly Recommended)
Before editing anything, always back up your current configuration file.
Run this command inside the folder where your docker-compose.yml is located:
cp docker-compose.yml docker-compose.yml.backup_$(date +%Y%m%d_%H%M)
If anything breaks later, you can restore it easily:
docker compose down
cp docker-compose.yml.backup_* docker-compose.yml
docker compose up -d
Now you’re safe to make changes.
⚙️ Step 4 – Edit Your Docker Compose File
Once you locate the file (for example /root/docker-compose.yml), open it:
nano docker-compose.yml
Find the environment: section under the n8n: service, and add this line:
- N8N_PAYLOAD_SIZE_MAX=268435456
Example:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
environment:
- N8N_HOST=n8n.yourdomain.com
- NODE_ENV=production
- N8N_PORT=5678
- N8N_PAYLOAD_SIZE_MAX=268435456 # 256MB limit
volumes:
- ./data:/home/node/.n8n
Save and exit:
Ctrl + O → Enter → Ctrl + X
🔄 Step 5 – Apply the Changes
Restart the containers:
docker compose down
docker compose up -d
Check that n8n is running:
docker ps | grep n8n
Verify the environment variable:
docker exec root-n8n-1 env | grep N8N_PAYLOAD_SIZE_MAX
Expected:
N8N_PAYLOAD_SIZE_MAX=268435456
🧠 Step 6 – Choose the Right Payload Limit for Your VPS
| VPS RAM | Safe Limit | Bytes Value |
| 2 GB | 128 MB | 134217728 |
| 4 GB | 256 MB | 268435456 |
| 8 GB + | 512 MB | 536870912 |
💡 Tip: If your VPS starts lagging, drop one level down.
🧪 Step 7 – Test the Fix
Re-run the workflow that previously failed.
You should now be able to test individual nodes without errors. 🎉
📊 Bonus: Monitor Memory Usage
Keep an eye on usage:
watch -n 5 'free -h && echo "--- Docker Stats ---" && docker stats --no-stream | grep n8n'
If memory usage gets high, reduce your payload limit to the next smaller value.
✅ Summary
| Step | Action |
| 1 | SSH into your VPS |
| 2 | Locate Docker or Compose setup |
| 3 | Make a backup |
| 4 | Add N8N_PAYLOAD_SIZE_MAX variable |
| 5 | Restart containers |
| 6 | Verify variable & test workflow |
| 7 | Tune for your memory size |
🏁 Conclusion
By increasing your n8n payload limit from 16 MB to 128 MB, 256 MB, or higher (depending on your server), you unlock the ability to:
Debug large workflows node-by-node
Process files, spreadsheets, and big API responses
Scale your automation stack efficiently
This simple configuration change makes your self-hosted n8n setup truly production-ready.






