Create flow charts with Kivio

Jack Wallen
Jan 7, 2010
Updated • Dec 3, 2012

A flow chart is a digram representing a step-by-step solution to a problem. They have been used, for years, in businesses, science labs, schools, IT shops, and just about anywhere that needs to simplify problem solving. Some people choose to draw their flow charts with the help of graphing paper. But others prefer to map out their flow charts with software like Dia (see my article "Easy flow chart creation with Dia"). Naturally you will find more flowchart applications available for Linux. But like Dia is to GNOME, so Kivio is to KDE. Although these two application strive to arrive at the same goal, they do so differently. One primary difference is the interface. Where Dia somewhat resembles the GIMP's multi-windowed interface, Kivio strives to look and feel more like Microsoft's Visio. But does Kivio succeed? Let's find out.


If you already have KOffice installed, most likely Kivio is installed as well. If not, you can install Kivio without installing the rest of KOffice. To do so, follow these steps:

Open up your package management software (or a terminal window).

  1. Search for "kivio" (no quotes).
  2. Mark Kivio for installation.
  3. Click Apply to install.
  4. Or...issue your command line tool (such as yum install kivio or urpmi kivio) to install.

That's it. You are ready to begin using the tool.


Using Kivio isn't quite as straight-forward as is Dia. Although the fundamentals are the same, the steps to get to the results are not. Let's take a look at a few of these steps and see where the differences are.

Main Window

Figure 1

When you open the application (see Figure 1) you will immediately see the difference between Dia and Kivio (and more of a relationship to Microsoft Visio).  Unlike Dia, Kivio offers a multi-paned view with various tools available to make the job more efficient.

Outside of the interface, one of the first differences you will notice, between Dia and Kivio, is when you create an element on the chart Kivio does not automatically ready that element for text (like Dia does). If you want to add text to an element you first create the element, then you select the text tool, click on the element you just created, and type your text.

Although not a huge difference, if you are creating larger flow charts (with many elements) you will start to notice the added steps.

The next difference is when creating multi-point (or polylines). Muli-point lines are simple to create in Dia:

  1. Click the mult-point line tool.
  2. Select the point of the originating element where the line is to start.
  3. Drag the line to the end point element where you want to the line to terminate.
  4. Manipulate the mid-points until the line is exactly how you want it.
Figure 2

Creating a polyline in Kivio is different:

  1. Go to the Tools menu.
  2. Select Polyline Connector.
  3. Click on the originating element where you want the line to begin.
  4. Click on the spot where you need the polyline to have it's angle (see Figure 2).
  5. Click on the end point element where you want the line to terminate.

Figure 2 illustrates the creation of a polyline in Kivio. After clicking on your originating element and you move your cursor to where you want the angle to be the two green lines will appear as soon as you reach a valid connection point. When you see these lines connect, click on that connection point and your angle is set.

One final big difference you will see in Kivio is that arrowheads are not automatically added to connecting lines. Instead you have to add them. But you have multiple arrowhead types to add. In order to add an arrowhead to a connecting line follow these steps:

  1. Create your connecting line.
  2. Right click the connecting line.
  3. Select Format Arrowheads
  4. Select the type of arrowhead you want (from the Type drop down) at either the Origin or the End.
  5. Click OK.

Final thoughts

Which flowchart tool is better? That depends. If you want a flowchart too geared toward streamline and efficiency, go with Dia. If you want a flowchart tool geared more toward a standard GUI with loads of features, go with Kivio. In the end, both tools do an outstanding job of creating flowcharts.

Update: It appears that Kivio is no longer available. We have removed the link to the application's homepage as a consequence and suggest you try the alternative listed in the first paragraph here on the review.


Previous Post: «
Next Post: «


  1. Hans Bezemer said on January 8, 2010 at 9:40 am

    While I’m a KDE kind of guy, I find Dia significantly better. Note that I don’t use any of these programs to create flowcharts – I have Graphviz for that. I use Dia to make the kind of diagrams that Graphviz cannot create. Dia offers a host of different output formats (important, since most diagrams end up in LyX), renders neater pictures, offers more formatting options (or they’re easier to find or apply) and is easier to learn (IMHO). And there is a Windows version – important because at work I don’t have Linux at my disposal.

    In fact, after my Linux conversion I started out with Kivio after dumping the Novagraph offering. It wasn’t quite what I needed, so after some roaming around I ended up with Dia. Never looked back. Visio was never quite my thing anyway.

    1. Jure Repinc said on January 8, 2010 at 8:28 pm

      Hi Hans. if you are using diagramming apps a lot you could help with the next version of Kivio. The version presented here is from 1.x series of KOffice. Right now Kivio developers are starting to prepare Kivio for KOffice 2.x and they are now thinking about improving the workflows and things like that. So if you use these kind of apps a lot you could help developers in advising them how to make certain things work. If you decide to help you (or anyone else) would be most welcome to contact KOffice developers on their mailing list: or you could join the #koffice channel on Freenode IRC servers.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.