Shows the diagram as an image which can be right
clicked and copied. The size of the image depends on the current zoom level.

Creates a link for sharing containing all the data of
the diagram.

Open a source script text file directly from your hard
drive or from the browsers local storage.

Save the source script as a text file directly to your
hard drive or in the browsers local storage.

Save the diagram as a HQ png image. The size of the
image depends on the current zoom level.

Save the diagram as a LQ jpg image. The size of the
image depends on the current zoom level.

Save the diagram as a vector based svg image.

Autocomplete

Press Ctrl+Space to trigger autocomplete

Large Example

Large example including most of the features

Title

The title is displayed at the top of the diagram

The title is also used as the file name when theicons
are clicked

Participants

New particpants of type participant may be added by clicking the icon

The following special participant types exist

actor - specific icon

boundary - specific icon

control - specific icon

database - specific icon

entity - specific icon

fontawesome - different icons from Font Awesome specified via the unicode code points found here: fontawesome.io/iconsNote: The font is not embedded in exported SVG
documents, hence, the font must be installed on the device viewing the SVG document

materialdesignicons - different icons from Material Design Icons specified via the unicode code points found here: materialdesignicons.com/cheatsheetNote: The font is
not embedded in exported SVG documents, hence, the font must be installed on the device viewing the SVG document

You may also use glyphsearch.com to get the unicode code
points for fontawesome and materialdesignicons

Change the alias of a participant by double clicking it

A long displayed name can be written on form:

participant "some very\nlong name" as Alice

Delete a participant by clicking it and using the delete key

Messages

Messages are created by clicking and dragging in the diagram

Hold Shift before clicking for dashed line

Hold Ctrl before clicking for open arrow

Hold Shift+Ctrl before clicking for open arrow with dashed line

Edit the text of a message by double clicking it

Change the start and end participants of the message by clicking and dragging the start or end of the message

Change position of the message by clicking and dragging the middle of the message

Delete the message by clicking it and pressing the delete key

New line is create using \n

Non-instantaneous Messages

Non-instantaneous messages are created by adding ([delay]) before the target participant, examples:

Notes and boxes are created by right clicking in the diagram and selecting the wanted note / box entry from the menu

Edit the text of a note or box by double clicking it

Change the start and end participants of the "note or box over several participants" by clicking and dragging the start or end of the note
or box

Change position of the note or box by clicking and dragging the middle of the note or box

Note: It is the bottom of the shapes that counts as the y position when dragging

Delete the note or box by clicking it and pressing the delete key

New line is create using \n

References

References are created by right clicking in the diagram selecting over which participants the reference should be from the menu

Edit the text of a reference by double clicking it

Change the start and end participants of the reference by clicking and dragging the start or end of the reference

Change position of the reference by clicking and dragging the middle of the note or box

Note: It is the bottom of the shapes that counts as the y position when dragging

Delete the reference by clicking it and pressing the delete key

New line is create using \n

Dividers

Dividers are created by right clicking in the diagram and selecting the divider entry from the menu

Edit the text of a divider by double clicking it

Change position of the divider by clicking and dragging it

Delete the divider by clicking it and pressing the delete key

Create and Destroy

Create and destroy are at this point not part of the context menu, participants may be defined in the start of the diagram

participantNameA->*participantNameB: message: Sends a message to participantNameB and creates participantNameB

create participantName: Creates the participant without sending a message to it

destroy participantName: Destroys the participant at the previous entry's y position

destroyafter participantName: Destroys the participant at after a space and gives the destroy symbol its own space

destroysilent participantName: Destroys the participant at the previous entry's y position without rendering the destroy symbol

Click and drag on the entries to move them in y axis using the mouse

Activations

Activations are created by right clicking in the diagram and selecting the activation entry from the menu

activate participantName: Activates the participant at the previous entry's y position

deactivate participantName: Deactivates the participant at the previous entry's y position. If no entry has been added since the
activation the activity is deactivated directly, use deactivateafter or space if you want an empty gap

deactivateafter participantName: Deactivates the participant right below the previous entry's y position

Activations cannot be selected, moved, or edited using the mouse

Spaces

Spaces are created by right clicking in the diagram and selecting the space entry from the menu, examples:

space

space 3

space -4 (may be used in together with non-instantaneous messages to visualize messages being sent out earlier arriving after later
messages)

Change position of the space by clicking and dragging it

Delete the space by clicking it and pressing the delete key

Fragments

Fragments are created by right clicking in the diagram and selecting the wanted fragment type from the menu

Since many possible fragments exists, only the most common are included in the menu, complete list: alt, opt, loop, par, break,
critical, ref, seq, strict, neg, ignore, consider, assert, region

Special fragments

group allows a custom label for the fragment

expandable allows a portion of the diagram to be expanded (expandable-) and collapsed (expandable+), click
the label to toggle the expandable

Edit the text of a fragment by double clicking the top of the fragment or its else part

Change inclusion of entries by clicking and dragging top, bottom, or else part of the fragment

You can also create new items directly inside the fragment

Delete the whole fragment (but keep the contents) by clicking the top or bottom of the fragment and pressing the delete key

Delete only the else (else is only supported inside the alt fragment) part by clicking the else divider and pressing delete key

All processing of parsing and painting the diagram is done using javascript client side in the user's web browser. This not only makes it snappy to
work with, but it also means that your data isn't transferred over the Internet like in many other sequence diagram tools. Since no backend server is used it is also possible to use the web application offline.

There are many sequence diagram tools out there but this is the only one which allows you to:

Script using a simple text notation when it is most convenient to do so, and

Interact using your mouse to draw and change arrows or create notes when that is most convenient

In other words bringing the best from both worlds. This makes it very easy to work with large diagram where other similar tools struggle. It also
doesn't have any ads or unnecessary distracting elements. (Even the top bar can be hidden to maximize the working area)

The tool is developed and maintained by people who create a lot of sequence diagrams in their daily work and from efficiency point of view weren't
100% satisfied with the existing tools. The graphic design is created by yusi.se.

Are diagrams stored in any way or sent to any server by SequenceDiagram.org?

No, all parsing and drawing of diagrams is executed solely on the client side in your browser. (In the past, the share URL
button used a query parameter to transport the diagram data, which meant that the data in the URL was visible in the http access logs when someone
used the generated URL. In the current version, fragment '#' is used instead, which according to https://tools.ietf.org/html/rfc3986#section-3.5 is
dereferenced solely by the user agent)

Are diagrams/scripts created using SequenceDiagram.org subject to any license?

No license is imposed by SequenceDiagram.org itself on the generated output, see LICENSE for details.
However, like with all images containing text, the fonts used might. The default font used in diagrams is the default sans-serif font selected by
your browser. You can specify a different font using the fontfamily keyword, see help for more information.

Can I run the SequenceDiagram.org tool in my companies private network?

No, but a SequenceDiagram.org server application with a REST-like API is available for CI/CD setups. Please contact info@sequencediagram.org for more information.

Is the codebase of SequenceDiagram.org itself open source?

No, the codebase is not available under any open source license at this time.