View Settings Donations
Device not supported, use firefox or chrome or safari or ie 10+
Device not supported, use firefox or chrome or safari or ie 10+
Current Version: 7.2.2 Legacy: 6.5.1, 5.0.2, 4.7.1
© SequenceDiagram.org

INSTRUCTIONS

Buttons

Adds a new participant into the diagram of type participant.

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
sequence diagram example

Title

  • The title is displayed at the top of the diagram
  • The title is also used as the file name when theicons are clicked
sequence diagram title example

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/icons
      Note: 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/cheatsheet
      Note: 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
sequence diagram participant example sequence diagram actor example sequence diagram boundary example sequence diagram control example sequence diagram database example sequence diagram entity example sequence diagram actor with multi line example sequence diagram participant with multi line example sequence diagram fontawesome icon example sequence diagram materialdesignicons icon example

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
sequence diagram request response example sequence diagram async request response example sequence diagram self referencing message example

Non-instantaneous Messages

  • Non-instantaneous messages are created by adding ([delay]) before the target participant, examples:
    • A->(1)B: info
    • A-->(5)B: info
    • A->>(2)B: info
  • Otherwise non-instantaneous messages behaves just like normal messages
sequence diagram non-instantaneous message example sequence diagram non-instantaneous messages arriving after later message example

Notes and Boxes

  • 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
sequence diagram notes over example sequence diagram notes on sides example sequence diagram box over example sequence diagram boxes on sides example sequence diagram angular box over example sequence diagram angular box on sides example sequence diagram round box over example sequence diagram round box on sides example

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
sequence diagram notes over example

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
sequence diagram divider example

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
sequence diagram create message example sequence diagram create without message example sequence diagram destroy silent example

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
sequence diagram activation example sequence diagram activation with self reference example

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
sequence diagram space example

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
sequence diagram opt fragment example sequence diagram alt fragment example sequence diagram loop fragment example sequence diagram parallel thread fragment example sequence diagram parallel fragment example sequence diagram group fragment example sequence diagram expandable fragment example

Participant Groups

  • Participant Groups are at this point not part of the context menu
  • Participant Groups draws a box to encompass a set of participants
  • Multiple nested levels are supported
sequence diagram participant group example sequence diagram nested participant group example

Links

  • Links can be added to all entries with text
  • Links can be clicked in the diagram (opens a new window) and are included when the diagram is exported as an SVG document
sequence diagram link example

Text Styling

  • Text in all entries can be styled
  • Bold text: **some bold text**
  • Italic text: //some italic text//
  • Small text: --some small text--
  • Big text: ++some big text++
  • Monospaced text: ""some big text""
  • Big and bold: ++**some big and bold text**++
  • Italic and small: //--italic and small--//
  • Use \ to escape wanted */-+ chars, examples: c\+\+ http:\/\/www.example.org
  • Color: <color #red>red text</color>
sequence diagram text styling example sequence diagram text styling color example sequence diagram text styling example

Colors

  • Color is supported for most of the entries and use the HTML color names or hex
  • W3C provides a good list of color names: W3C color names
  • Examples: #ff00ff, #lightblue
sequence diagram color participants example sequence diagram color divider example sequence diagram color boxes and notes example sequence diagram color messages example sequence diagram color activations example sequence diagram color fragment example sequence diagram label color fragment example

Active Color

  • Active color specifies the color of all activations of a participant, the specified value will be overridden by any color specified on specific activations
    • activecolor #red: make all activations red
    • activecolor participantName #blue: make all activations of the participant blue
sequence diagram active color example

Fonts

  • The font can be specified using the fontfamily keyword and the css name of the font
  • Specific font: fontfamily My Font Name
  • Browser selected sans-serif font: fontfamily sans-serif
  • Browser selected mono spaced font: fontfamily mono
sequence diagram font example

Automatic Numbering

  • The autonumber statement gives automatic number of subsequent messages
  • The autonumber off statement stops the numbering
  • Automatic numbering can be started at a specified number, example: autonumber 10
sequence diagram automatic number example

Linear Messages

  • The linear statement makes subsequent messages of the same type linear
  • The linear off statement stops linear
sequence diagram linear messages example

Parallel

  • The parallel statement simply puts subsequent entries at the same y position
  • The parallel off statement stops parallel
  • It is different from linear since it doesn't do any intelligent matching for different types of entries
sequence diagram parallel example

Participant Spacing

  • Participant spacing allows control of spacing between the participants
  • The participantspacing equal statement makes the spacing between all participants equal
  • The participantspacing 50 statement makes the spacing between all participants at least 50
sequence diagram participant spacing example

Entry Spacing

  • Entry spacing allows control of spacing between the entries
  • Click anywhere on the diagram and press the + or - key to change spacing between all entries
  • Add entryspacing statements to change in different places of the diagram
sequence diagram entry spacing example

Life Line Color

  • Specifies the color of the life lines
    • lifelinecolor #blue: make all life lines blue
    • lifelinecolor participantName #red: make participant life line red
sequence diagram active color example

Life Line Weight

  • Specifies the weigth of the life lines
    • lifelineweight 4: sets the life line weight to 4
sequence diagram active color example

Click images to append the examples to the diagram, hover over images to see the example script

Right click and copy image or Save as...

ABOUT

SequenceDiagram.org is a completely free online tool for creating sequence diagrams.

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:

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.

If you have any question/comments/suggestions/bugs please contact info@sequencediagram.org

FAQ

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)


Is the codebase of SequenceDiagram.org open source?

No, the codebase is currently not available under any open source license


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

No license is imposed by SequenceDiagram.org itself on the generated output. 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. See LICENSE for details.


Can I run the SequenceDiagram.org tool in my company's private network (on-premises)?

Yes, by donating 400$ you are licensed to run the SequenceDiagram.org tool and its REST-like API inside your company's network (enterprise license). You are also eligible to receive any new published versions of the software for the duration of 1 year from the donation date. Your donation is highly appreciated and allows us to keep SequenceDiagram.org online and free for everyone to use. Please contact info@sequencediagram.org for any questions.

The software is delivered in three formats:


What libraries are used by SequenceDiagram.org?

Titled link to select and copy: sequence diagram link

 

 

Copy the above Titled link or Raw URL and share it