Your diagrams deserve more than one gray theme.
zombie-mermaid renders Mermaid syntax into beautiful SVG or ASCII art — with 15 live-switchable themes, animated edges, and zero re-renders, right where AI-assisted coding happens.
Requires Node 24+. Call renderMermaidSVG() for an SVG string.
Pick a theme. Watch it flow.
Fifteen palettes pulled from editors you already trust — Dracula, Nord, Solarized, Catppuccin, Tokyo Night, and more — each tuned so the diagram stays legible in every one.
┌────────────────────────┐ │ Pipeline │ │ │ │ │ ┌───────┐ ╱╲ │ ┌───────┐ ┌──────┐ │ ╱╲ ┌──────────┐ │ │ ╱ ╲ │ │ │ │ │ ├──────┐ ╱ ╲ │ │ │ Start ├────►< Auth? >ok──►│ │ Build ├────►│ Test │ │ pass►< Deploy? >─yes►│ Ship it │ │ │ ╲ ╱ │ │ │ │ │ │ ╲ ╱ │ │ └───────┘ ╲╱ │ └───────┘ └──────┘ ├┐ ╲╱ └──────────┘ │ ││ │ └────────────────────────┘│ │ │ └───────┐ │ │ no │ ┌──────────┐ │ ┌──────────┐ │ │ │ │ │ │ └─────────►│ Monitor │ └─►│ Rollback │ │ │ │ │ └──────────┘ └──────────┘
mermaid.js → beautiful-mermaid → zombie-mermaid
What zombie-mermaid adds on top.
beautiful-mermaid already solved mermaid.js's biggest problems — aesthetics, theming, terminal output, dependencies. This fork keeps all of that, and adds three things beautiful-mermaid never had.
A real CLI binary
beautiful-mermaid never shipped one. Pipe Mermaid source in, get SVG or ASCII out, straight from the command line.
mergeEdges
No beautiful-mermaid equivalent. Bundles fan-out/fan-in edges into a shared trunk instead of a tangle of parallel lines.
Real bugs, actually fixed
Mermaid syntax beautiful-mermaid shipped with — dropped edges, corrupted labels, stray nodes — found and fixed, with the before/after code to prove it.
Three ways this stays out of your way.
(Theming and the fork's backstory are covered above — this is what you actually build with.)
Output flexibility
Dual output. SVG for rich UIs, ASCII/Unicode for terminals — mermaid.js itself has no real terminal story.
Mono mode. Full diagrams rendered from just two colors, when that’s all you’ve got.
Drop-in architecture
Zero DOM dependencies. Pure TypeScript. Works in the browser, on the server, or anywhere else.
Synchronous rendering. No async, no flash of unstyled diagram — drops straight into React’s useMemo().
Proven at scale
Ultra-fast. Renders 100+ diagrams in under 500ms — fast enough for every diagram in a CI run.
CI-enforced accessibility. Every diagram type ships a role-correct, nameable SVG root — checked in CI, not just claimed.
A real CLI. A real MCP server.
Render from a terminal, a CI pipeline, or hand it straight to your coding agent as a tool call — this isn't a browser-only diagram widget.
CLI
Render SVG, ASCII, HTML, or PNG straight from a script or CI job — themes, direction overrides, and terminal hyperlinks all pass through as flags. Full flag reference →
Your coding agent calls a tool —
render_mermaid_svg({ diagram })
…and gets back a rendered SVG, no browser involved.
MCP server
render_mermaid_svg (optional bg/fg colors and outputPath), render_mermaid_ascii, validate_mermaid, sequence-activation check and fix tools, list_themes, and list_diagram_types — seven tools exposed over stdio. Embed it, or run zombie-mermaid mcp directly. Newer than the rest of the library, so feedback is welcome. Read the MCP docs →
Every shape your system needs to explain itself.
Actively maintained. Not abandoned.
beautiful-mermaid stalled — dozens of open PRs, nothing merged in months. Here's the same fork, measured against the original as of Nov 2, 2026 — see the live dashboard for current numbers.
zombie-mermaid (this fork)
days
since last commit
merged PRs
open PRs
beautiful-mermaid (upstream)
days
since last commit
merged PRs
open PRs