Gaphor, an application for UML, SysML, RAAML and C4 modeling

about Gaphor

In the next article we are going to take a look at Gaphor. This is a UML, SysML, RAAML and C4 modeling application. The program has been designed to be easy to use, without losing power.

Gaphor is a modeling application written in Python. The program implements a fully compatible UML 2 data model, so it is much more than an image drawing tool. Users can use Gaphor to quickly visualize different aspects of a system, as well as to create complete and complex models.

General characteristics of Gaphor

Gaphor working

  • It is a program multi platform, which works on all major platforms.
  • The interface will give us the possibility of using a dark mode.
  • Is a open source. Gaphor is written in Python and is 100% open source. It is available under an Apache 2 license.
  • Will allow us create class, interaction and state machine diagrams for software or requirements diagrams, and definition of blocks for systems. If you want to mix and match, you can even add different diagram elements to the same diagram, to get the view we need.
  • It is an extensible program. We can connect a code generator or export our diagrams for documentation. Too it will allow us to create our own extensions and access them through the GUI or CLI.
  • We will have the possibility to easily find all the elements of our model in the tree view.
  • The program meets the standards. Gaphor implements the UML, SysML and RAAML OMG standards. It also includes support for the C4 model to visualize software architectures. It is also compatible with UML v2.0 and non-UML diagrams.
  • We will also find copy paste support.
  • File format support XML.
  • The program will allow us to use the undo manager.
  • Count with one rich connection protocol.
  • Diagram Styles with a built-in style engine.

keyboard shortcuts

  • We will have some keyboard shortcuts to work faster.
  • The program interface will give us the alignment and adjustment option.
  • We will have the possibility to use the following elements; classes, components, actions, use cases, styles, interactions, and profiles.
  • We will be able export to; SVG, PDF, PNG and XMI.
  • It will also give us the option of create a new document from templates, which can speed up production.

Install Gaphor on Ubuntu and derivatives

As a Flatpak package

We can find this program available as a Flatpak package in Flathub. In case you use Ubuntu 20.04, and if you still do not have this technology enabled on your system, you can follow the guide that a colleague wrote in this blog about it.

When you can install these types of packages, it is only necessary to open a terminal (Ctrl + Alt + T) and run the Gaphor install command:

install gaphor as flatpak

flatpak install flathub org.gaphor.Gaphor

When the installation is finished, you can now search for the program launcher on your computer. In addition, the following command can be executed in a terminal (Ctrl + Alt + T) to start the program:

gaphor launcher

flatpak run org.gaphor.Gaphor


For remove the flatpak package from this program, in a terminal (Ctrl + Alt + T) it will only be necessary to use the command:

uninstall flatpak package

flatpak uninstall org.gaphor.Gaphor

As AppImage

From the project release page, we can download the latest version of the AppImage file for this program. If you prefer to use the terminal (Ctrl + Alt + T) to download the latest version today, it will only be necessary to open one and run in it wget as follows:

download gaphor appimage


When the download is finished, only give the necessary permissions to the file. This can be achieved by typing in the same terminal:

chmod +x Gaphor-*.AppImage

And now for start the program, just double click on the file, or type in the terminal:

start appimage


This is a software designed for both beginners and professionals. Whether you’re a casual modeler documenting a project, or an expert in model-driven development, Gaphor will possibly have all your needs covered. Gapher is a simple but powerful solution with many features that can be a useful tool for software developers and engineers.

For more information about this program or about its use, users can consult the program website, the repository on Github of the project, or your official documentation.

Add Comment