Mermaid Ecosystem
History of the Mermaid diagram language and its native (non-browser) ports.
Timeline
| Date | Event | Stars |
| Nov 2014 | mermaid.js created by Knut Sveidqvist — JS library rendering text-based diagrams in the browser | 86k |
| 2019 | mermaid-cli (mmdc) released — wraps mermaid.js via Puppeteer/Chromium for CLI rendering | 4.2k |
| Feb 2022 | GitHub adds native Mermaid rendering in Markdown files | |
| 2022 | Mermaid Chart Inc. founded by Sveidqvist (commercial hosted editor) | |
| Oct 2023 | go-mermaid by TyphonHill — Go API for generating Mermaid diagram text programmatically (not a renderer) | 40 |
| Jan 2026 | mermaid-rs-renderer (mmdr) — first pure native Mermaid renderer, in Rust, by 1jehuang | 1k |
| Feb 2026 | merman — independent Rust re-implementation by Latias94 (early stage) | 1 |
| Feb 2026 | mermaid-go-renderer (mmdg) — Go port of the Rust renderer, by bvolpato | 1 |
| Feb 2026 | drummonds/mermaid-go-renderer — fork of bvolpato's Go port | 0 |
Lineage
mermaid.js (JS, 2014, Sveidqvist) — 86k stars
The original. Browser-based renderer.
├── mmdc / mermaid-cli (JS+Puppeteer, 2019)
│ CLI wrapper: spawns headless Chrome to render.
│ Slow (~1-3s per diagram), needs Chromium installed.
│
├── go-mermaid (Go, Oct 2023, TyphonHill) — 40 stars
│ Go API to generate Mermaid text (not a renderer).
│ Useful for building diagrams programmatically.
│
├── mmdr / mermaid-rs-renderer (Rust, Jan 2026, 1jehuang) — 1k stars
│ First pure native re-implementation. No browser.
│ 100-1400x faster than mmdc. 23 diagram types incl. C4.
│
├── merman (Rust, Feb 2026, Latias94)
│ Independent Rust re-implementation (early/separate effort).
│
└── mmdg / mermaid-go-renderer (Go, Feb 2026, bvolpato)
Go port, inspired by the Rust renderer. ~158x faster than mmdc.
23 diagram types incl. C4.
│
└── drummonds/mermaid-go-renderer (Go, Feb 2026)
Fork for C4 layout improvements.
Comparison
| Tool | Language | Rendering | C4 Support | Speed vs mmdc | Status |
| mermaid.js |
JavaScript | Browser / DOM | Yes (reference) | n/a (client-side) | Active, 86k stars |
| mmdc |
JS + Puppeteer | Headless Chrome | Yes | 1x (baseline) | Active |
| mmdr |
Rust | Native SVG | Yes | 100-1400x | Active, 1k stars |
| merman |
Rust | Native SVG | Unknown | Unknown | Early stage |
| mmdg |
Go | Native SVG | Yes | ~158x | New (Feb 2026) |
| mmdg (fork) |
Go | Native SVG | Yes (improving) | ~158x | Fork |
Note: The Go and Rust native renderers are all very new (early 2026). C4 layout quality
in the native renderers lags behind mermaid.js — this project (
c4test)
exists to compare the output side-by-side.
Other Go Mermaid Projects (not renderers)
These generate Mermaid text or wrap the JS renderer — they don't parse/render natively:
← Home | Diagram comparison