n8n Workflow Validator
Paste your workflow JSON to detect orphaned nodes, broken connections, missing parameters, and loops — all in your browser.
Paste your workflow JSON to detect orphaned nodes, broken connections, missing parameters, and loops — all in your browser.
Structure Validation
Confirms the input is valid JSON with the required top-level `nodes` array and `connections` object.
Node Analysis
Lists every node with its type, name, position, and whether it is a trigger, action, or utility node.
Orphaned Node Detection
Flags nodes that have zero incoming and zero outgoing connections — they will never execute in a run.
Missing Connections
Finds references in the connections map that point to node names not present in the nodes array.
Disconnected Subgraphs
Uses BFS to count isolated groups of nodes. More than one subgraph means part of your flow is unreachable.
Loop Detection
Runs DFS cycle detection on the node graph to surface feedback loops that may cause infinite execution.
Missing Node Parameters
Checks known n8n node types (HTTP Request, Set, Code, Slack, email, SQL…) for required fields.
Trigger Identification
Identifies which node acts as the workflow entry point — Webhook, Schedule, Form, Chat, and others.
Summary Counts
Shows total nodes, total connections, error count, and warning count in a quick-glance dashboard.
Orphaned node after a refactor
When you reroute a flow and forget to delete an old node, it remains in the "nodes" array but loses all its edges. The validator catches this immediately.
Typo in a connection target name
If you manually edit workflow JSON and misspell a node name in the connections object, the connection references a non-existent node. The validator reports it as a ghost target.
HTTP Request node without a URL
The "url" field is required for HTTP Request nodes. Workflows exported before filling in the URL will fail at runtime — the validator surfaces this as a missing parameter warning.
No trigger node
Workflows without a recognizable trigger (Webhook, Schedule, Form Trigger, etc.) cannot be activated automatically. The validator warns you so you can add one before deploying.
Accidentally duplicated node name
Copying and pasting nodes in the n8n canvas can produce two nodes with the same name. n8n resolves connections by name, so duplicates cause unpredictable routing.
Loop from an error branch pointing back
Error branches wired back to an earlier node in the same flow create a cycle. While n8n supports limited looping patterns, unintentional cycles often cause stuck executions.
What is an n8n workflow?
An n8n workflow is a visual automation flow made up of nodes connected by edges. Each node represents a step — fetching data from an API, transforming it, sending a notification, writing to a database. The workflow JSON file stores all node definitions and their connection map, and can be imported/exported from the n8n editor.
What does 'orphaned node' mean in n8n?
An orphaned node is a node that exists in the workflow's nodes array but has no connections to or from any other node. It will never execute during a workflow run. Orphaned nodes usually appear after refactoring — you rewire the main flow but forget to delete an old node. They waste memory and confuse anyone reading the workflow.
How do I fix 'ghost target' connection errors?
A ghost target error means your connections object references a node name that doesn't exist in your nodes array. This typically happens after renaming a node in the JSON by hand without updating all connection references. Open the JSON, search for the old name in the connections object, and update it to match the new node name exactly (n8n connections are case-sensitive).
Can n8n workflows have loops?
n8n supports controlled looping via the Loop Over Items node and recursion patterns, but accidental cycles — where node A connects to node B which connects back to node A — cause infinite execution and should be avoided. This validator uses depth-first search to detect any cycle in your node graph and flags it as a warning so you can decide whether it is intentional.
Why does my workflow have multiple disconnected subgraphs?
Multiple subgraphs usually mean you started building a second branch and never connected it to the main trigger path. The validator counts how many isolated clusters of nodes exist. If the count is greater than one, some nodes will never be reached from the trigger. You either need to connect them or move them to a separate workflow.
Does this tool send my workflow JSON to any server?
No. All validation runs entirely in your browser using JavaScript. Your workflow JSON never leaves your device and is not stored, logged, or transmitted anywhere. This makes it safe to paste credentials or private API configurations without concern.
More developer tools
JSON formatter, JWT decoder, Base64 encoder, regex tester, and more.
Browse all tools