Free BPMN Validator with AI Auto-Fix, No Login, No Setup
Validate your BPMN 2.0 XML files against the standard. Check for structural errors, missing elements, and best practice violations, then auto-fix what's broken with AI in seconds.
Drop your .bpmn file here or click to browse
Recent validations
No previous validations yet.
Frequently asked questions
What is BPMN 2.0?
Business Process Model and Notation 2.0 is an OMG standard for modeling business workflows. A valid file has a definitions root element, at least one process element, and declares the BPMN namespace.
Is my XML sent to a server?
No. This validator runs entirely in your browser using the native DOMParser. Nothing leaves your computer.
Which BPMN version do you support?
BPMN 2.0 only. See the OMG BPMN 2.0 specification for the full standard. BPMN 1.x is not supported.
Why does my file fail with "Malformed XML"?
Nine times out of ten: smart quotes from Word or Google Docs, missing closing tags, a UTF-8 BOM, or an unescaped & character. This validator tries to tell you which one.
Can I validate .bpmn files exported from Camunda / Bizagi / Signavio?
Yes. Any BPMN 2.0 XML file. Drop it in the upload zone or paste its content.
How do I fix a BPMN file with structural errors?
You can fix them manually in any XML editor, or use LucidFlow's AI to regenerate a clean version from your original description.
About this tool
This free validator checks your BPMN 2.0 XML against structural rules and best practices. It runs entirely in your browser, no data is sent to any server. For full BPMN diagram generation and optimization from documents, try LucidFlow.
What we check:
- Well-formed XML structure (DOMParser-based, with line and column reporting)
- BPMN 2.0 namespace and definitions root element
- Process structure (at least one start event and one end event)
- Sequence flow reference integrity (sourceRef and targetRef resolve to declared nodes)
- Duplicate ID detection across the document
- Orphan node detection (elements with no incoming or outgoing flows)
- Empty task name detection (best practice)
- Graph reachability analysis (every node reachable from a start event, every node can reach an end event)
- Deadlock cycle detection (Tarjan's strongly connected components, flags cycles with no exit path)
- Start event integrity per OMG BPMN 2.0 §10.4.2 (no incoming sequence flow)
- End event integrity per OMG BPMN 2.0 §10.4.3 (no outgoing sequence flow)
- Gateway default attribute integrity per OMG BPMN 2.0 §10.6.2 (references an existing flow)
- Gateway semantic validation (decision gateways need 2+ branches, parallel pass-throughs flagged)
- Boundary event attachment and lane membership integrity (attachedToRef and flowNodeRef resolution)
- Pre-parse diagnostics for common copy-paste mistakes (HTML or JSON pasted, BOM, smart quotes, NBSP, missing prolog) with line and column
- Typed cross-reference integrity (messageRef, signalRef, errorRef, escalationRef, itemRef, itemSubjectRef, dataObjectRef, dataStoreRef, categoryValueRef, processRef, dataInputRefs, dataOutputRefs resolve to declared IDs of the correct kind)
- Levenshtein-based "did you mean?" suggestions when a reference points to a likely typo of an existing ID
- Timer event definition integrity per OMG BPMN 2.0 §10.5.4 (at least one of timeDate, timeDuration, timeCycle)
- Lane uniqueness per OMG BPMN 2.0 §9.2.2 (each flow node belongs to at most one lane)
- Parallel gateway conditional flow detection per OMG BPMN 2.0 §10.6.4 (conditionExpression silently ignored on parallel splits)
- XML NCName ID format validation (XML Names §4: must start with a letter or underscore, allowed chars: letters, digits, _ - .)
- Event sub-process configuration (triggeredByEvent attribute consistency with the inner start event's trigger definition)
- Line and column locations on every semantic error and warning, not just XML parse errors
Need more than validation?
LucidFlow generates, edits, and optimizes BPMN diagrams from your documents using AI.
Try LucidFlow free