April 28, 2019

524 words 3 mins read



Generation of diagram and flowchart from text in a similar manner as markdown

repo name mermaid-js/mermaid
repo link https://github.com/mermaid-js/mermaid
homepage http://mermaid-js.github.io/mermaid/
language JavaScript
size (curr.) 37032 kB
stars (curr.) 28552
created 2014-11-01
license MIT License
:mega: :mega: :mega:
* If you’re upgrading from a version < v8.2.0, there are non-backward-compatible changes related to security issues. Default behaviour of the library might have changed for your implementation.

mermaid Build Status NPM Coverage Status Join our Slack! This project is using Percy.io for visual regression testing.

mermaid is a Javascript based diagramming and charting tool. It generates diagrams flowcharts and more, using markdown-inspired text for ease and speed.

Check out the list of Integrations and Usages of Mermaid

For more information and help in getting started, please view our documentation and start simplifying yours. Alternatively, you can also play with our live editor.

:trophy: Mermaid was nominated and won the JS Open Source Awards (2019) in the category “The most exciting use of technology”!!! Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project.

New diagrams in 8.4

With version 8.4 class diagrams have got some new features, bug fixes and documentation. Another new feature in 8.4 is the new diagram type, state diagrams.

Image show the two new diagram types

Special note regarding version 8.2

In version 8.2 a security improvement was introduced. A securityLevel configuration was introduced which sets the level of trust to be used on the parsed diagrams.

  • true: (default) tags in text are encoded, click functionality is disabled
  • false: tags in text are allowed, click functionality is enabled

Closed issues:

⚠️ Note : This changes the default behaviour of mermaid so that after upgrade to 8.2, if the securityLevel is not configured, tags in flowcharts are encoded as tags and clicking is prohibited.

If your application is taking resposibility for the diagram source security you can set the securityLevel accordingly. By doing this clicks and tags are again allowed.

    securityLevel: 'loose'

For more information and help in getting started, please view our documentation and start simplifying yours. Play with our live editor or jump straight to the installation and usage.

The following are some examples of the diagrams, charts and graphs that can be made using mermaid and the Markdown-inspired text specific to it. Click here jump into the text syntax.

Contributors Help wanted Contributors Commits

Mermaid is a growing community and is always accepting new contributors. There’s a lot of different ways to help out and we’re always looking for extra hands! Look at this issue if you want to know where to start helping out.

Detailed information about how to contribute can be found in the contribution guide


A quick note from Knut Sveidqvist:

Many thanks to the d3 and dagre-d3 projects for providing the graphical layout and drawing libraries! Thanks also to the js-sequence-diagram project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering. Thank you to Tyler Long who has been a collaborator since April 2017.

Thank you to the ever-growing list of contributors that brought the project this far!

Mermaid was created by Knut Sveidqvist for easier documentation.

comments powered by Disqus