ToolJovia
Developer

Sequence Diagram SVG Builder

Turn participant and ordered message CSVs into a local sequence diagram SVG with call, signal, return and self arrows plus exact source evidence.

✓ Browser-local processing
A selected file takes precedence over the participant text below.
A selected file takes precedence over the message text below; no upload occurs.
Use exact participant IDs and kind call, signal or return. Record order determines arrow order; self messages are allowed.
1–80 UTF-16 units; literal single-line text.

Loading tool…

How to use Sequence Diagram SVG Builder

Explain a small interaction without drawing every line by hand. Participants become evenly spaced lifelines, and your message rows become numbered arrows from top to bottom. The output preserves exact source references and distinguishes calls, signals and returns; it illustrates the interaction you describe rather than checking a running system or inferring elapsed time.

  1. List one to eight participants in an id,name CSV. IDs are exact ASCII references; participant row order determines the left-to-right lifeline order.
  2. List one to thirty-two messages in a from,to,kind,text CSV. Use call, signal or return and existing endpoint IDs. Keep repeated and self messages in the intended top-to-bottom order.
  3. Paste both sources or choose local UTF-8 files, add a title and run the tool. Review labels, direction and source-record evidence; this diagram does not verify a protocol.
  4. Download the SVG for sharing or the complete JSON for source and integer-coordinate evidence. Inspect the SVG at a readable zoom before embedding it elsewhere.

Good to know

  • Selected sequence-diagram subset: fixed participant lifelines and ordered call, signal and return messages, including self messages. No activation bars, object creation/destruction, fragments, branches, loops, concurrency, UML model import, signature/expression parsing or full UML conformance is promised.
  • Exact CSV headers are id,name and from,to,kind,text. Use 1–8 participant records and 1–32 message records, with every field present. Sources are at most 18,000 UTF-16 units each and together; local files are at most 100,000 bytes each. One initial UTF-8 BOM per source is allowed. Malformed or unsupported input returns no partial artifact.
  • Participant IDs are distinct 1–32 character ASCII strings using letters, digits, underscore, period, colon or hyphen. Every message endpoint must match exactly. Kind is case-sensitive call, signal or return. Duplicate visible names and repeated messages are allowed; no call stack, matching return, delivery or causal correctness is inferred.
  • Participant names and title are 1–80 UTF-16 units; message text is 1–120. Labels must be single-line without outer whitespace. Display collapses repeated ASCII spaces and wraps whole graphemes; originals remain in JSON. A single grapheme must fit its line capacity: 12 units for participant/self labels, 20 for other message labels and the title’s reported capacity. Unsupported controls, noncharacters, bidi formatting and malformed Unicode are refused.
  • Calls use solid lines with filled arrowheads; signals use solid lines with open arrowheads; returns use dashed lines with open arrowheads. A self message loops to the right. Source order sets vertical order, and label length sets spacing. No position represents elapsed time, a timeout, execution duration or observed network traffic.
  • SVG uses only fixed inert vector primitives and escaped text, with ordinary font proportions and no external resources. Coordinates are exact integer SVG user units. Each side is limited to 16,384 units and total area to 16,000,000; wide diagrams with many long self messages can exceed the joint limit. SVG is capped at 400,000 UTF-16 units and UTF-8 bytes; JSON at 1,000,000. Native fonts, visual fit and physical output need inspection.

Common questions

Does a return arrow have to match an earlier call?

The tool preserves what you authored. It does not infer a call stack or reject a return merely because no earlier paired call was supplied. Review your model separately when that relationship matters.

Can the two ends of a message be the same participant?

Yes. The diagram gives that message its own right-facing loop and ends the arrow back on the same lifeline. Its numbered source order and declared kind remain visible in the evidence.

Are these exact times or a full UML model?

No. The vertical order is the message-record order, with extra room for labels. This is a small drawing subset without durations, fragments, activation semantics or protocol validation.

Are uploaded-looking CSV inputs sent to a server?

No upload occurs in this workflow. The browser reads the selected local files, constructs the SVG and JSON, and creates the chosen download. Original sources can contain private labels, so inspect artifacts before sharing them.

Keep going with related tools

All developer →