When comparing PlantUml vs nomnoml, the Slant community recommends PlantUml for most people. In the question“What is the fastest way to create and edit UML diagrams?” PlantUml is ranked 1st while nomnoml is ranked 8th. The most important reason people chose PlantUml is:
For example from Emacs, Sublime Text and so on. You can learn about integrations [here](http://plantuml.com/running).
Ranked in these QuestionsQuestion Ranking
Pro Many, many integrations
For example from Emacs, Sublime Text and so on. You can learn about integrations here.
Pro Easy create diagrams from text
There is even a Visual Basic Macro to draw UML diagrams in Word.
Pro Free/libre/open source (GPL)
Source code can be browsed here.
Pro sphinx-contrib extension for embedding into docs
Allows you to keep your UML definitions under VCS and include them inside generated documentation with ease.
Pro Has online editors
Pro Everything runs client side
You can use the website even for sensitive content as nothing is sent to the server.
You can override the global styling for the diagram and you can also define custom types for the entities. It is really powerful.
Pro Free and open source
You can extend it, if you find something missing!
Pro Automatically saves
The browser-based tool automatically saves your changes to your localStorage, which is a nice and handy feature.
Pro Text format
The tool generates diagrams from a simple text format, which is easy to edit and you can even version control it.
Pro Fully fledged
It knows many types of UML entities and relationships so you will barely miss anything.
Con The "plantUML-language" is a bit strange and hard to grasp for new people
Con Slow development due to it being mostly a one-man project
There’s been no recent contribution to the source forge project but from the administrator arnaud_roques. Future contribution might be difficult due to lacking code documentation.
Con Not maintained
Con Can't connect entities on different levels
The tool can't connect entities on different levels, for example a class and a class inside an other package.