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.
Verdict
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.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- UX Designer
- Technical Support Rep
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Reply to comment | Linux Journal
10 hours 31 min ago - Nice article, thanks for the
21 hours 12 min ago - I once had a better way I
1 day 2 hours ago - Not only you I too assumed
1 day 3 hours ago - another very interesting
1 day 5 hours ago - Reply to comment | Linux Journal
1 day 7 hours ago - Reply to comment | Linux Journal
1 day 13 hours ago - Reply to comment | Linux Journal
1 day 14 hours ago - Favorite (and easily brute-forced) pw's
1 day 16 hours ago - Have you tried Boxen? It's a
1 day 21 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



Comments
DIA Useability Issues
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
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
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
"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
Can I open mdl files on Dia?.
Please update me some more related information, if any.
Mathematics Research
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.
Dia
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
tedia2sql
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?
vkr
Lamenting more development of Dia
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.