Paste your broken n8n workflow JSON and auto-repair it in one click. Fixes missing fields, broken connections, duplicate nodes, invalid structure — then download the fixed workflow ready to import into n8n.
When an n8n workflow JSON is broken, you're stuck. The workflow won't import, nodes disappear, connections break, or n8n throws cryptic errors with no clear solution. Manually hunting through hundreds of lines of JSON to find a missing comma or a stale connection reference is time-consuming and error-prone.
This free n8n workflow fixer automatically scans your JSON, applies a series of targeted repairs — from fixing JSON syntax errors and adding missing required fields to generating UUID node IDs, assigning grid positions, renaming duplicate nodes, and removing broken connections — and outputs a clean, importable workflow JSON with a detailed log of every change made. Download the fixed file and import it into n8n immediately.
The most common cause of an n8n workflow failing to import is a JSON syntax error introduced by manual editing. This tool fixes:
,] and ,} patterns that are invalid in JSON but common in JavaScriptEach n8n node must have specific required fields. This fixer auto-repairs nodes with missing structure:
id — generates a valid UUID v4 for each node without onetypeVersion — defaults to 1 to ensure compatibilityposition — assigns sequential grid positions [240 + i*220, 300]parameters — adds an empty {} object to prevent null errorsname — generates a default name from the node typeBroken connections and duplicate node names are the two most common structural errors in shared n8n workflows:
_2, _3 etc. and updates connection references accordingly[[]] patterns that cause routing errors{} connections object if absentn8n requires specific top-level fields in every workflow JSON. This fixer adds any that are missing:
name — defaults to "Fixed Workflow"nodes — adds empty array [] if absentconnections — adds empty object {} if absentactive — defaults to false (safe default)settings — adds {"executionOrder":"v1"}tags — adds empty array []typeVersion: 1, empty parameters: {}), assigns positions for visual rendering, and removes connections that were already broken (pointing to non-existent nodes). Your actual workflow logic — what each node does, what data it processes, what APIs it calls — remains completely untouched. Always review the fix log to understand exactly what was changed.] or }, unescaped special characters inside string values (especially in Code nodes where the JavaScript code contains quotes), and copy-paste errors that cut off part of the JSON. Once you can parse the JSON, the fixer can handle the rest.typeVersion field — newer n8n versions may use higher typeVersions for certain nodes (e.g. HTTP Request node v4 vs v1). The fixer defaults missing typeVersions to 1, which will import successfully but may use an older node interface. If a node behaves unexpectedly after import, check whether a newer typeVersion is available for that node type in your n8n instance.