Dia - The Diagram Creation Tool

Dia is an application designed for quick creation of structured diagrams such as simple, line-based illustrations, flowcharts, UML charts and network diagrams. Being a vector based tool, there is some overlap with other applications such as Inkscape, but Dia's focus is on diagrams that are more functional than aesthetic.

The hub of Dia is its floating toolbox. Personally, I prefer to work fullscreen with this type of task, so I set the toolbox to always float on top of other windows in the preferences. The actual diagrams are edited within one or more document windows. The document is theoretically infinite in size, and you create more page space by scrolling off the side of the page.

The toolbox features a set of tools that will be familiar to anyone who has used a vector drawing package before, such as lines and boxes, alongside selection and text tools. These facilities seem sparse until you reach the meat of the program, the shapes palette. Initially, this defaults to about 25 flowchart objects that can be placed onto the diagram. However, these objects are more than just simple icons. For example, if you select the first shape, a rectangular box that represents “operation” in a standard flow chart, you can then place it within the diagram. The operation box has a flashing cursor in the middle of it for text input, and it automatically resizes itself to contain text, even when you add multiple lines.

Objects typically feature connection points around the perimeter, which makes it very easy to connect shapes using lines. You can connect a line to a specific connection point or allow the program to automatically select the best connection point, which updates as you move the object around.

You can choose other sets of shapes by using a drop-down menu. For example, there is a set for creating diagrams of electrical circuits, and another for chemical engineering diagrams. In total there are about 20 sets, most of which are applicable to scientific, computing and business fields. Dia is particularly good for creating computer network diagrams, and has a set of objects for just this purpose.

Dia can export to the PNG bitmap format in addition to a wide range of common vector formats. The program itself has some support in third party applications such as LaTeX publishing system LyX. It's also available as a Windows application.


As with a lot of specialist software, the user interface isn't aimed at casual users, and this results in a learning curve that may necessitate some recourse to the manual. It's possible to add your own sets of custom shapes, but unfortunately, it's a fiddly business that involves editing files. In fairness, the shapes are more than just pictures as they have quite a lot of extra information associated with them.

Dia is designed for the drag and drop (click and then click again and then press space to repeat, actually) creation of structured diagrams involving standard sets of objects. I suspect that many users also use it as a no-nonsense vector illustration creation program. However, if this is your main requirement, you might be better off with Inkscape. In fact, it would be quite possible to use Dia to create the type of diagrams that it's best at and then import the result into Inkscape to add a bit of eye candy.

Although Dia hasn't seen much in the way of actual updates in a couple of years, thankfully, it is still being maintained. If you have to create a lot of standardized diagrams, Dia is still hard to beat.

The Dia website


UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

DIA Useability Issues

stan reichardt's picture

I have been watching Dia for years and find fault with it's lack of usability in that I always find that printing doesn't easily match up with what has been created.

As an example, consider the image shown in this article that diagrams checking the kettle, some steps working with boiling the water, adding tea, then adding milk. A novice would want the whole diagram to print out on a single page. Without reducing the sizes of all images involved, by default this diagram will print out on two letter size pages, not one. The "add milk" step prints on a second page.

Also, I frequently test Dia by creating some diagrams of my home Local Area Network (LAN) using landscape page settings. I always have the same problems. Invariably all the default settings are way too big, and it takes considerable effort to scale down the images and text fonts if one wants to put everything on a single sheet of paper. There is no easy way to reduce everything by say, 5 or 10 per cent if what you have created is just a little too big for one output sheet.

Otherwise, it has a lot of capability; but, the constant issue of sizing or re-sizing output is most unfortunate. Yes, I know that the blue guidelines match up with output pages, which is something that is not readily pointed out in the documentation. Still, I constantly have to fight with it to get output sized the way I want. Not a plesant way to do things, especially for any beginners. I only recommend it after pointing out the sizing issues.

It is a great software

Olle's picture

I think it fill its purpose well, as an information science student I have
used it serval times to draw ULM diagram it have worked wonderfully.

The Pencil project

Jags's picture

Folks, for designing UI, I found Pencil sketch to be really helpful. Available (not only) as firefox extension. Easy to use and extend.

give it a try.

Dia - Custom

Car;tpm Lee's picture

"As with a lot of specialist software, the user interface isn't aimed at casual users, and this results in a learning curve that may necessitate some recourse to the manual. It's possible to add your own sets of custom shapes, but unfortunately, it's a fiddly business that involves editing files. In fairness, the shapes are more than just pictures as they have quite a lot of extra information associated with them."

At least for Linux:

I spent several years evaluating software for one of the biggest education companies back in the late 90's. I find the software slightly quirky. Two different menu's one for the Editor and one for the work area seems odd but not beyond the grasp of all but the most clueless. The interface could be improved but is workable.

As for custom shapes. The process is quite trivial and if you had actually tried to make custom shapes and sheets you would have discovered no manual and a minor bug. (Did you try?) But when explored and when explained properly is within the grasp of even the clueless.

Would you like to try again?

Is Dia supports MDL file format

RajaA's picture

Can I open mdl files on Dia?.
Please update me some more related information, if any.

Mathematics Research

cantormath's picture

This tool has become essential in mathematics research. Many mathematicians and graduate students use this tool on a regular basis for all of their papers.


CuisineThai's picture

Dia is a great tool for creating class models, but yes it lacks some features as DB design. Or did i miss something ? Such a feature would be great


goblin's picture

Back in the old days, I used tedia2sql for converting my DB design diagrams to actual SQL.

A message on tedia2sql's web page says:
Message from the owner(s)
IMPORTANT NOTE! Dia has changed its file format. tedia2sql is not currently compatible with that new file format, so you can only use tedia2sql with Dia 0.96 or earlier. There is a good modular Perl-based Dia-->SQL converter in CPAN now under active development that should work with Dia 0.97. It is already in Debian unstable as libparse-dia-sql-perl and will likely work into stable over the normal Debian unstable-->stable lifespan. Check it out!

Maybe that Dia -> SQL converter in CPAN is what you're looking for?


Lamenting more development of Dia

ScottW's picture

It seems that with a little care and feeding, Dia could be a replacement for Visio. Anything that helps unseat the Microsoft monopoly would be good for competition and open source. As it stands, this tool works well but cannot replace Visio for network architects, etc. And that's too bad.