# Diagrams as code

> Diagrams and charts generated from plain-text descriptions. 11 tools, ranked by GitHub stars.

Tools that turn plain-text descriptions into diagrams, so diagrams live in version control next to the code and documentation they describe. Mermaid renders flowcharts, sequence diagrams and more from Markdown-like text and is supported in GitHub Markdown; WaveDrom draws digital timing diagrams.

| # | Tool | GitHub stars | Commits (12 mo) | License | Description |
|---:|---|---:|---:|---|---|
| 1 | [Mermaid](https://awesomedataviz.com/tools/mermaid/) | 90,531 | 2,472 | MIT | Generate diagrams and flowcharts from markdown-like text definitions, with a live editor. |
| 2 | [Diagrams](https://awesomedataviz.com/tools/diagrams/) | 42,673 | 48 | MIT | Diagram as code in Python for prototyping cloud system architectures. |
| 3 | [D2](https://awesomedataviz.com/tools/d2/) | 25,564 | 324 | MPL-2.0 | Declarative diagram scripting language that turns text into diagrams. |
| 4 | [PlantUML](https://awesomedataviz.com/tools/plantuml/) | 13,352 | 846 | LGPL-3.0 | Generates UML, Gantt, mind map and other diagrams from plain text. |
| 5 | [Markmap](https://awesomedataviz.com/tools/markmap/) | 13,147 | 4 | MIT | Builds interactive mind maps from Markdown. |
| 6 | [flowchart.js](https://awesomedataviz.com/tools/flowchart-js/) | 8,700 | 1 | MIT | Draws SVG flowcharts from a textual description. |
| 7 | [Penrose](https://awesomedataviz.com/tools/penrose/) | 7,985 | 48 | MIT | Creates diagrams from mathematical notation in plain text, from Carnegie Mellon University. |
| 8 | [LikeC4](https://awesomedataviz.com/tools/likec4/) | 5,809 | 1,831 | MIT | Architecture-as-code language and tools that generate live, interactive diagrams. |
| 9 | [Kroki](https://awesomedataviz.com/tools/kroki/) | 4,358 | 204 | MIT | Unified API that renders diagrams from many text formats, including PlantUML, Mermaid, Graphviz and D2. |
| 10 | [WaveDrom](https://awesomedataviz.com/tools/wavedrom/) | 3,501 | 12 | MIT | Draws timing diagrams and waveforms from simple textual descriptions. |
| 11 | [PGFPlots](https://awesomedataviz.com/tools/pgfplots/) | 257 | 13 | – | TeX package for drawing 2D and 3D plots directly in LaTeX documents. |

Source: https://awesomedataviz.com/categories/diagrams-as-code/ · Data updated 2026-10-04 · Content: CC BY 4.0, Awesome Dataviz (https://awesomedataviz.com).
