PlantUML is a command-line tool to generate diagrams in multiple formats that can be saved and shared, it also has a GUI. Mermaid is a javascript library for rendering simple text definitions to useful diagrams in the browser, although there is a separate command line tool. It has chromium as a dependency.
Last I heard, PlantUML has support for more types of diagrams, allows for themes and more customization.
Lots more chart types, or at least chart types that aren't found anywhere else. JSON render, SALT UI markup, regex diagram, a YAML renderer. That said, Mermaid also has some unique diagrams, like the fantastic git renderer. And it runs on JS only. So Mermaid has probably got longer legs, while stuff like PlantUML and Vega/Vega-Lite taking on more edge cases.
Well not having chromium as a dependency is a start. But even glossing over that fact I found that it's much better for many diagrams. PlantUML is also a one stop shop. You can basically make anything kind of diagram in it.
> Well not having chromium as a dependency is a start.
Java as a dependency is not much better. It's also huge which is important if you build your diagrams in containers and/or CI/CD. It's also very slow to start. I'm always surprised when benchmarks show that Java is "fast", because it's so huge and has atrocious cold start time, that makes it very unpleasant to use for CLI utilities.
The big difference here is that chromium is an end user application. Java is designed to be a dependency. In fact java only goal in life is as a dependency.
Last I heard, PlantUML has support for more types of diagrams, allows for themes and more customization.