migrate-to-n8n
[npm]
[downloads]
[ci]
[license]
Move your Make scenarios and Zapier zaps to n8n. Give it the export, get an n8n workflow you can
import, plus a report on every step: what converted, what you should check, and how to finish the rest.
It works as an MCP server (ask Claude, Cursor, VS Code or any MCP client to "convert this to n8n") and as a
plain command-line tool. Free and open source. Your scenarios stay on your computer.
[Make blueprint or Zapier export → migrate-to-n8n → n8n workflow and report]
What you get
Every step of your scenario ends up in one of three states, and the report lists them all:
Nothing gets dropped. Manual steps keep the workflow connected, so it imports and runs while you finish them.
This is the demo scenario after conversion, opened in n8n 2.44: the
private CRM app has no n8n node, so its step waits disabled, with a note on what to do.
[The converted demo scenario in the n8n editor]
Formulas carry over too: {{formatDate(1.date; "DD.MM.YYYY")}} becomes
{{ DateTime.fromISO(String($('Webhook').item.json.body.date)).toFormat('dd.LL.yyyy') }}.
Measured on 2026-10-22 on the public Make blueprints and Zapier exports found on GitHub:
"Broken outputs" counts workflows that n8n would reject. The test suite also imports a sample of these
workflows into real n8n 2.44 and 1.123, and runs some of them through their webhooks to compare the answers
with Make. Many public Zapier exports come without step settings or code, which keeps the Zapier numbers lower.
Try it in one minute
You need Node.js 22 or newer.
The workflow and the report go to Documents/migrate-to-n8n. Import the .n8n.json file in n8n:
Workflows → Import from File.
No export at hand? Try the demo scenario: download it and run the same
command on it.
Step by step
1. Export from Make or Zapier
- Make: open the scenario, click ⋯ at the bottom of the editor, choose Export Blueprint.
- Zapier: Settings → Security and data → Download my Zap workflows. You get one file with all your zaps.
Pick the ones you want with
list_zaps (or migrate-to-n8n list-zaps <file>).
2. Connect it to your AI client
Claude Desktop: download migrate-to-n8n.mcpb
and open it. Claude Desktop installs it in one click. The settings are optional: an output folder, and your n8n
address and API key if you want uploads.
Claude Code:
Cursor, VS Code, Windsurf and other clients: add this to the client's MCP config
(.cursor/mcp.json, .vscode/mcp.json, …):
VS Code uses "servers" instead of "mcpServers".
3. Convert
Attach the file in the chat (or give its path) and ask:
Convert this Make scenario to n8n and help me finish what doesn't convert.
The assistant gets the report and walks you through every step marked ⚠️ or 🛠.
4. Import into n8n
Import the .n8n.json file (Workflows → Import from File), pick your credentials in the nodes the report lists,
point webhook senders to the new URL, run it once with test data, then activate it.
With N8N_URL and N8N_API_KEY set (n8n → Settings → n8n API), the assistant can upload the workflow
for you. It creates a new, inactive workflow named "… (migrated)" and never touches existing ones.
Tools
What converts
Flow control converts in full on both sides: routers and paths (every matching route runs, as in Make and
Zapier), filters with AND/OR groups, iterators and aggregators, error handlers, schedules, variables, webhooks and
responses, HTTP requests, JSON, Formatter, Code, Delay, Storage. About 50 Make formula functions, Make date
formats, operators and 25 Zapier Formatter transforms translate to n8n expressions.
Make: 135 modules and steps convert automatically
Zapier: 98 modules and steps convert automatically
Anything else still gets a place in the workflow: the closest of 362 n8n app nodes, an HTTP request to the
app's API, or a Code node with the inputs already wired, each disabled with a note on how to finish it.
What does not convert, and why
- Credentials. Make and Zapier never export them. Create them in n8n; the report lists which nodes need one.
- Data. Make data stores and Zapier Tables become n8n Data Tables (n8n 1.113 or newer) with the same
fields, but the rows stay behind.
- Webhook URLs. n8n gives each webhook a new address. The report names them so you can update the senders.
- Python code from Zapier or Make. n8n runs Python, but reads inputs differently in 1.x and 2.x: the code is
placed in a Code node for you to adapt.
- Output field names of apps. n8n's app nodes sometimes name results differently. Steps that read them are
marked ⚠️ so you can check the field once after a test run.
Command line
Development
Every node the converter writes is checked against the parameter descriptions of n8n 2.44 and 1.123: names,
allowed values and display rules. The n8n catalogs are downloaded for tests only and never ship.
Roadmap
- Routers inside Make error-handler routes (today the modules of a handler are placed in one line on the error output).
- More apps, driven by what people convert. Tell me which ones you need.
Contact
Feedback, ideas, job offers or custom projects (n8n, MCP, AI automation): [email protected].
Bug reports and feature requests are welcome in Issues.
License
MIT. Make, Zapier and n8n are trademarks of their owners; this project is not affiliated with them.