DEV Community

Cover image for Kroki - Diagrams from textual descriptions!
Prabhu R
Prabhu R

Posted on • Originally published at

Kroki - Diagrams from textual descriptions!

There are a lot of tools that enable rendering of diagrams using text descriptions. The popular ones include

  • Mermaid - A diagramming and charting tool that uses Markdown-inspired text definitions. Supports drawing of Flowchart, Sequence Diagram, Graphs, Class Diagrams, ER Diagrams and much more
  • Graphviz - A graph visualisation software to represent structural information as a diagram of abstract graphs and networks
  • Ditaa - a small command-line utility written in Java, that can convert diagrams drawn using ascii art
  • PlantUML - A component that allows to write Sequence diagram, Usecase diagram, Class diagram, Object diagram, Activity diagram, Component diagram, Deployment diagram, State diagram, Timing diagram and more
  • BlockDiag - A Group of projects that has other diagramming tools - BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag

The list goes on. Almost all of them are open source and free. Each of these tools are written in different programming languages like Mermaid is written in JavaScript, BlockDiag in Python, PlantUML in Java and so on.

Having all of them under a single roof does have its advantages, but setting them up and having the prerequisites can be a considerable task. That's where Kroki comes to the rescue. It is both an open source software that can be installed locally and a service that is free as well.

It is astonishing to see the support for various diagramming tools all at one place. Kroki provides support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, PlantUML, Structurizr, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom. It is constantly updated to add more tools as well.

The beauty of Kroki is that it also provides HTTP APIs to create diagrams that can be accessed using tools like cURL. In addition to the services, it also has a CLI - Command Line Interface - that uses as the backend.

Try Kroki for a happy diagramming!

Discussion (0)