The best UML tools that we can use in Linux

UML on Linux

Some time ago, someone who taught me HTML, CSS and JavaScript told me about Figma, a tool used to represent how applications or web pages will look. It's something you can do with a pad and pencil, but this type of software helps, especially if you want to give a more professional image. Regarding programming, what are used are models UML, a type of presentation that we are going to talk about here today.

UML (Unified Modeling Language) is a software systems modeling language used to describe, visualize, structure, and document the components of a software system. It is used to show the structure of a system, its interactions and responsibilities, as well as to represent the processes and data flows of the system. It can also be used to represent class diagrams, object diagrams, component diagrams, and deployment diagrams.

Why use this type of UML tools

I don't like to talk about my personal life, but when I do, I don't give too many details. I have recently been asked to lay out three "things" and arrange them so that they make sense for a hypothetical application. What I did was look at the three lists with those "things" and start working. When I put one in a place that made sense, I put an X to the point in question, and continued ... The "cacao maravillado" with which I did not even finish was aúpa. Later, someone else showed me how they thought homework should be done, starting with a design created Thanks to the UML.

Once I saw the image, everything was much easier, and so I thought. You feel stupid when you think and do a lot and in the end see that things could have been so much easier. And here it is not a question of being more or less capable, but of understand what we have to do and know how to plan it. In the world of software, this planning is done with UML tools, since we can graphically represent everything we think about in real time. If we see something that doesn't add up, we can move the puzzle pieces around until something fits as neatly as possible.

The best free and available UML software options for Linux

There are many tools of this type of modeling that are cross-platform, but not so many if we want them to be free, simply free, and that they can be used on Linux. They may not be the best for many, but I would start with two that are created by the developers of two of the most used Linux desktops, or people related to them.



I am not very clear where the name comes from, but it starts with "UM", like the UML language, and it is what in Spanish would be translated as "umbrellas" or something like that, and part of the designs created with UML have a structure umbrella type. Be that as it may, it is the option that offers us KDE, and we already know what the “K team” are like. Their apps may not be as intuitive as others, but they are packed with features.

In the screenshot above we see how you can add all kinds of information, such as boolean data types, decimals, strings...



The option of GNOME, or of its circle, is Gaphor. It follows the GNOME philosophy, written in GTK and with a more intuitive design, and in its latest version they have introduced support for light and dark themes. If the dark theme is chosen, the diagrams will also darken, as seen in the screenshot above.


PlantUML It is one of the best options if you are looking for something that is for any platform, since it is also present in Google Play. It is free and open source, and is one of the highest rated tools by the Linux community., UML from the browser

Diagrams, UML on the web

If we do not know anything about UML, one of the best options is the one offered to us in It does not require registration, and creating representations of this type is as simple as it would be if we used Windows Paint. Also, it's not like it's available for Linux; is that it is from any operating system that has a web browser.

Important: this is not just "create drawings"

UML is a modeling language, and although it can be used to create a kind of map to make things easier for us, in reality you have to understand how it works, how relationships are made and so on. If we only need that kind of map or drawing, it would be enough to pull Tux Paint, Drawing or even GIMP. This is to represent other things, like the organization of a piece of software that will have classes, methods, etc. In addition, what has been created can be exported to code to add it to language projects such as Python, Java or C++, among many others.

Once understood, these programs can be used and take full advantage of their potential. And for those who have already mastered it, do you have any suggestions that you would add to this short list?

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.