mrkeyoor.com_
Fri 16 Oct 18:55 UTC
Dev Toolsevaluationupdated 11 Oct 2026

mermaid review

Mermaid turns text descriptions into diagrams such as flowcharts and sequence diagrams. It lets you keep a diagram beside your code or documentation and review changes through ordinary text diffs.

+79stars / 7d
Verdict

Our Mermaid run installed 2,224 packages into 1,151 MB, then passed its build in 69 seconds and tests in 402 seconds, so contributing means accepting a substantial workspace. I'd use it for diagrams that should change in the same review as the code, preferably through a host that already renders Mermaid. Choose a visual editor when precise placement matters, and check rendered output when upgrading Mermaid.

We ran it

Lab card: what happened when we ran mermaidScreenshot of mermaid (mermaid.ai/open-source)
Install✓ · 174s2224 packages · 1151 MB
Build✓ · 69s
Tests✓ · 402sran, no count parsed
Repo3231 files~206,558 lines of source · 18 MB · 23 CI workflows · Dockerfile · tests dir

Answers from our run

Does mermaid build from source?

Dependencies installed in 174 seconds (2224 packages), and the build succeeded in 69 seconds. We cloned commit 97b3451 into a clean Debian container with 3 CPUs and no project-specific setup.

Do mermaid's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use mermaid?

Teams needing fixed visual placement: the 12.1.0 release changes ELK feedback-edge routing by default, so an unchanged description can produce a different layout.

What are the alternatives to mermaid?

draw.io, D2, PlantUML. Our Mermaid run installed 2,224 packages into 1,151 MB, then passed its build in 69 seconds and tests in 402 seconds, so contributing means accepting a substantial workspace.

Setup4/5All measured steps passed; the full workspace occupied 1,151 MB
Docs4/5Useful syntax and embedding guidance with explicit parser warnings
Community5/590,613 stars and issue activity alongside an October 11 push
Maturity4/5Passing measured checks; renderer upgrades can still change layouts

Discussed on

  1. hnMermaid: Create diagrams and visualizations using text and code349 points
  2. hnMermaid: Generation of diagrams like flowcharts or sequence diagrams from text255 points
  3. hnShow HN: Mermaid Chart VS Code Plugin: Mermaid.js Diagrams in Visual Studio Code138 points
  4. hnGeneration of diagrams and flowcharts from text in a similar manner as markdown111 points
  5. hnMermaid – Generation of diagrams and flowcharts from text103 points

Who it’s for

Developers keeping architecture and request-flow diagrams in version-controlled documentation.
Teams using GitHub Markdown or another application that already renders Mermaid.
Website builders who want a diagram library and can check fonts, browser support, and rendering settings.

Who it’s NOT for

Teams needing fixed visual placement: the 12.1.0 release changes ELK feedback-edge routing by default, so an unchanged description can produce a different layout.
Products committed to older browsers without transpilation: the usage guide says current published bundles target ES2024 and aim to support Safari 17.4 or later.
Public editors expecting arbitrary diagram input and unrestricted clicks together: strict mode disables clicks, and sandboxed rendering can block interactive features.
Contributors needing a small local workspace: our repository install pulled 2,224 packages and occupied 1,151 MB, even though authoring diagrams in an existing host avoids that workspace.

Setup reality

Our Mermaid run at commit 97b3451 installed 2,224 packages in 174 seconds and occupied 1,151 MB on disk. The build passed in 69 seconds, and the test step passed in 402 seconds. We used a fresh Debian sandbox with 3 CPUs, 8 GB of RAM, and image lab-node:22 on October 5, 2026.

The local library needs no hosted API key or account. An existing Markdown host can supply rendering, while a website needs the published library or a CDN import plus diagram source. The full pnpm repository is a monorepo workspace, with much more local overhead than editing diagrams.

The current manifest requires Node.js 22.12.0 or newer, and published bundles target ES2024. Fonts must be ready before layout is judged. Strict mode disables clicks, sandboxing limits some interactions, and renderer upgrades can change layouts even when the diagram text stays the same.

Text diagrams put documentation changes into code review

When a request starts passing through a queue, Mermaid lets you change an arrow in the same pull request as the code. Its diagram descriptions are text, so reviewers can see the changed relationship without opening a drawing application. The README shows flowcharts and sequence diagrams alongside other formats. I'd choose it for documentation that changes with a system, especially when GitHub already supplies the renderer.

The source repository is a bigger commitment than writing that arrow. Our checkout contained 3,231 files and roughly 206,558 lines of source, occupying 18 MB before installation. Those figures describe the workspace we measured. They do not describe the JavaScript downloaded by a documentation reader. Keeping that distinction straight matters: using Mermaid in Markdown and contributing to its renderer are different jobs, with different local costs.

What happened when we ran it

Our Mermaid run installed 2,224 packages in 174 seconds and occupied 1,151 MB on disk after installation. The build succeeded in 69 seconds, and the test step succeeded in 402 seconds. We cloned commit 97b3451 on October 5, 2026. The supplied measurement gives successful outcomes for each step, without a test-case count or a breakdown of which checks ran.

The measurement setup was a fresh Debian container with 3 CPUs and 8 GB of RAM, using image lab-node:22. It ran without elevated privileges or secrets. This is useful evidence that the measured repository workflow completed in that environment. The record does not establish rendering speed in a browser, memory use for a large diagram, or the behavior of every format in every embedding application.

Our scan found 23 CI workflow files, a Dockerfile, a compose file, a tests directory, and monorepo workspaces. Those are concrete repository signals rather than a promise about every upstream check. The passing 402-second test step gives a contributor more confidence than an unverified quick start would. It still leaves the final diagram worth viewing, because a readable picture is the thing your reader actually needs.

A Markdown user can avoid the full contributor workspace

The 1,151 MB installed footprint belongs to our repository run. You don't need that workspace just to author a diagram in a host that supports Mermaid. The live editor offers a way to try the syntax, while a website can use the published library or a CDN import. No hosted API key is required for the local library path. Decide which of these jobs you're taking on before cloning everything.

The current package manifest requires Node.js 22.12.0 or newer. The usage guide says published Mermaid bundles target ES2024, with a support aim of Safari 17.4 or later. Older browsers may need transpilation or polyfills. This is a real reason for a product with older embedded browsers to choose another rendering approach. The sandbox image name does not reveal its exact Node patch version.

Renderer upgrades can move existing arrows

The core 12.1.0 release changes ELK feedback-edge routing by default. An edge returning into a subgraph can now take a different route even when its description stays the same. The release documents elk.orientFeedbackEdges: false for retaining the previous behavior. Pinning a renderer version is therefore part of keeping published diagrams stable, particularly in training material or screenshots that people compare side by side.

A successful 69-second build cannot settle whether the drawing still communicates what you meant. Mermaid suits relationships whose placement can be delegated to a layout engine. For a slide where precise positioning carries the explanation, I'd use draw.io and move shapes directly. If you still want text as the source, D2 is worth comparing for its diagram language and layout choices.

Short diagram syntax still has parser rules

The flowchart documentation warns that lowercase end can break a diagram when used in a node. The syntax looks approachable, but labels and identifiers still pass through a parser. Open issue 7032 reports inconsistent whitespace requirements around edge IDs and different node-shape forms. Its example uses an older renderer, so it is a reported editing problem rather than a reproduction against our measured commit.

Untrusted diagrams change the interaction choices

Mermaid's configuration reference describes a strict default that encodes HTML tags and disables clicks. The sandbox setting places rendering inside an iframe and can limit interactive features. A public editor accepting diagram text from strangers has a different job from a private documentation site with reviewed authors. If your product needs clickable diagrams from arbitrary input, the trust setting belongs in the feature design before you promise that interaction.

We completed the repository workflow without secrets on 3 CPUs, but that result says nothing about a public editor's content policy. Evaluate the intended rendering mode with an actual diagram that needs links or callbacks. The README itself warns that sandboxing blocks some functionality. Turning a setting down to make a click work changes the assumptions of the integration, so it deserves an explicit decision by the application team.

Fonts and descriptions belong in the finished diagram

The usage guide warns that rendering before dynamically loaded fonts arrive can leave labels outside their bounds. Load the intended font before judging the result. Mermaid also supports accessible titles and descriptions through accTitle and accDescr. Write the relationship someone needs to understand into that description. A generated SVG can have accessibility attributes while still explaining very little if the author leaves those words unhelpful.

The last repository push was October 11, 2026, with issue and PR activity that day. GitHub listed 90,613 stars and 1,866 open issues and PRs, and the core 12.1.0 release shipped October 2. I'd use Mermaid when diagrams should travel with reviewed text. Our 174-second install is acceptable contributor overhead for that workflow. Start with a diagram your team regularly changes, render it where readers will see it, and check the labels before converting the rest.

Alternatives

ProjectWhat it isPick it when
draw.io gh↗A visual diagram editor that runs in the browser.pick this instead when manually placing shapes matters more than reviewing the diagram as text.
D2 gh↗A diagram scripting language with configurable layout engines and file exports.pick this instead when you want to compare a dedicated text diagram language and its layout choices for architecture documents.
PlantUMLA text-based diagram generator with UML notation.pick this instead when your team already maintains PlantUML documents or needs its UML conventions.

Sources

  1. Mermaid README and repository
  2. Mermaid current package manifest
  3. Mermaid usage and browser support
  4. Mermaid 12.1.0 core release
  5. Flowchart syntax warnings
  6. Edge ID whitespace issue 7032
  7. Mermaid security mode definitions
  8. Mermaid accessibility options

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →