Preparing the page
Public context is loading before any interactive tool code.
Preparing the page
Public context is loading before any interactive tool code.
Validate declared participants and messages locally, preview their order as accessible SVG, flag unmatched returns, and export editable Mermaid source.
Your checked result will appear here.
The manifest enters through participant and endpoint checks before its request, asynchronous and return messages descend across stable lifelines. An unmatched return stays visible as a review signal.

The tool structures only what the manifest says. It does not infer calls from code, logs or architecture names.
List 2–12 people or systems in the left-to-right order required by the diagram.
Name the source, target, visible label and sync, async or return kind for 1–40 messages.
Unknown IDs stop generation; returns without an earlier opposite-direction request receive a review comment.
Inspect the accessible SVG, then copy or download the editable Mermaid and SVG artifacts.
The tested fixture contains two synchronous requests followed by two returns. Both returns pair with an earlier request in the opposite direction.
{
"title": "Order status lookup",
"participants": [
{ "id": "customer", "label": "Customer", "kind": "actor" },
{ "id": "web", "label": "Web app", "kind": "participant" },
{ "id": "api", "label": "Orders API", "kind": "participant" }
],
"messages": [
{ "from": "customer", "to": "web", "label": "Request order status", "kind": "sync" },
{ "from": "web", "to": "api", "label": "GET /orders/{orderId}", "kind": "sync" },
{ "from": "api", "to": "web", "label": "200 order status", "kind": "return" },
{ "from": "web", "to": "customer", "label": "Show current status", "kind": "return" }
]
}sequenceDiagram
autonumber
actor p1 as Customer
participant p2 as Web app
participant p3 as Orders API
p1->>p2: Request order status
p2->>p3: GET /orders/{orderId}
p3-->>p2: 200 order status
p2-->>p1: Show current statusObserved: 3 participants · 4 messages · 2 sync · 0 async · 2 returns · 0 unmatched
web → missing-apiThe target is absent from the participant list, so no SVG or Mermaid is emitted.
The arrows express the communication model supplied by the author. They do not prove transport behavior or a successful response.
A solid arrowhead records a declared request or call. It does not imply latency, blocking implementation or delivery.
An open arrow records a declared async message. Queueing, retry and acknowledgement still require separate evidence.
A dotted arrow records a declared response. Pairing checks only the earlier manifest order, not a trace identifier.
A participant may address itself for a visible internal step; the diagram does not infer recursion or activation depth.
A useful sequence diagram explains an intended or reviewed interaction. Logs and traces answer a different question: what actually happened.
Keep one bounded success, error or retry path per diagram so ordering remains readable.
Compare participants and message labels with current API, event and service contracts.
Use authorized observability data to verify timing, concurrency, retries, failures and actual delivery.
Record the reviewed system version and update the manifest when the interaction changes.
The preview and Mermaid source represent only the supplied records. They cannot certify production behavior.