Skip to main content
A sequence diagram is an interaction diagram that shows how processes operate with one another and in what order.

Basic example

If you use the word “end” in a node, enclose it in parentheses (), quotation marks "", or brackets {}, [].

Participants

Participants can be defined explicitly to control their order of appearance:

Actors

Use actor symbols instead of rectangles:

Participant types

You can specify different participant types using JSON configuration:
  • boundary - Boundary symbol
  • control - Control symbol
  • entity - Entity symbol
  • database - Database symbol
  • collections - Collections symbol
  • queue - Queue symbol

Aliases

Define aliases for convenient identifiers: You can also define aliases inline:

Messages

Messages can be displayed with solid or dotted lines and various arrow types:

Arrow types

Bidirectional arrows (v11.0.0+)

Activations

Activate and deactivate actors: Shortcut notation: Activations can be stacked:

Notes

Add notes to your diagram: Notes spanning two participants:

Loops

Express loops in a sequence diagram:

Alt (alternative paths)

Express alternative paths:

Parallel

Show actions happening in parallel:

Critical region

Show actions that must happen automatically:

Break

Indicate a stop in the sequence flow:

Background highlighting

Highlight flows with colored backgrounds:

Grouping with boxes

Group actors in colored boxes:

Sequence numbers

Add sequence numbers to arrows:

Actor menus

Add popup menus with links to actors:

Comments

Add comments with %%:

Entity codes

Escape special characters:

Build docs developers (and LLMs) love