Generate sequence diagrams showing interaction flows between components and actors. Part of the DevTools Surf developer suite. Browse more tools in the Diagrams & Workflows collection.
Use Cases
Document authentication flows (OAuth2, JWT validation) for new engineers joining a team.
Design API interaction sequences before implementation to catch integration problems early.
Communicate microservice call chains to stakeholders without requiring code knowledge.
Generate incident postmortem diagrams showing the sequence of events during an outage.
Tips
Use activation boxes to show when each participant is actively processing — without them, sequence diagrams become hard to read for async interactions.
Group related message sequences with alt/opt/loop combined fragments to show branching and iteration rather than drawing multiple separate diagrams.
Limit participant count to 6–8 — beyond that, the diagram width forces horizontal scrolling and readers lose track of which lifeline is which.
Fun Facts
Sequence diagrams were standardized as part of UML 1.0 in 1997 by Grady Booch, James Rumbaugh, and Ivar Jacobson at Rational Software — the same authors who defined the UML specification.
Mermaid.js, which generates sequence diagrams from text syntax, was created by Knut Sveidqvist in 2014 and became one of GitHub's most-requested features — GitHub added native Mermaid rendering to Markdown in 2022.
Sequence diagrams are one of the most frequently used of the 14 UML diagram types in practice, second only to class diagrams, according to a 2010 survey of 62 UML practitioners published in IEEE Software.
FAQ
What's the difference between a sequence diagram and a flowchart?
Sequence diagrams show message passing between named participants over time, emphasizing who communicates with whom. Flowcharts show logic flow within a single process — they do not model multiple interacting actors.
Can I show async messages in a sequence diagram?
Yes — use an open arrowhead (compared to filled for synchronous) to indicate an async message that does not block the sender. Return messages for async calls are optional.