Since Dia is maintained on a volunteer basis, there's no fixed plan for when what will be done, nor can we tell anybody to code specific parts.  Thus, the development tends to happen where people get annoyed enough with the current state that they do something about it.  Which is fine.  We (the maintainers) are happy to get contributions; however, we will not automatically add any patch we're sent.  We would like potential contributors to take a look at our Apps/Dia/CodingGuidelines first and Apps/Dia/HowToSubmitPatches second; following these will dramatically increase your change of having your patch accepted.

Current state

People are using Dia to draw a variety of technical diagrams.  Please try Dia out and tell us what you think of it.  Check out the code too, you might even want to contribute...

The file format is XML based since 0.30, so it's pretty easy to keep backwards compatible.  We'll do our best to make new versions load older files; no guarantees the other way, though.

We develop under i386 Linux (Ubuntu) and gtk+ 2.0, and it works for us ™.  Dia is known to run on several Linux/Unix variations, MacOS X, and Windows; installation packages are available from the Download page.  If you have successfully tried it on some other architecture, please tell us.

For those interested in helping out, or curious about what's currently going on, we try to keep up a page with current development.  For those who feel like adding something of their own, there's a page of potential development with features we'd like to get but don't have anyone looking at yet.


Dia is designed to be very flexible. Diagram types are scanned for and loaded at runtime from dynamic libraries. In the future we hope many different kinds of diagram types will exist. Things like JSP diagrams, block diagrams, organization charts, whatever. If you want to help with this, please contact us.

Dia development takes place in GNOME GIT. Please read the notes and guidelines on the rest of this page (and follow the links to other pages) before contributing to Dia.

The latest changes are listed at You may also want to take a look at Dia's issue tracker to track the current state. The top of the News page has a link to the list of features that have already been added in GIT for inclusion in the next release.

The following command:

  • git clone

can be used to get a copy of the most recent sources.

For more developer resources, see

Development documentation

Generic information



Specific parts



The roadmap towards version 1.0 (as of version 0.96, end of 2006) is laid out below. Of course, since all the work is done by volunteers, it may turn out otherwise, but these are the areas that the maintainers feel should be focused on first.


  • Better and faster text rendering. Object highlighting for user feedback. Rotation, at least an implementation in the renderers and some primitive interface. Visio import and export.


  • Changeable units. Better groups implementation. Move object up/down layer. Setting of multiple object properties. Modal text input system. Maybe update the UML properties box. Maybe use of TextLine instead of raw strings everywhere.


  • Cleanup of UML properties. Setting properties for multiple objects properly. Export options should be in the export dialog.


  • At some uncertain time, we will do a 1.0 release. Gearing up for this will include stability testing, memory leak closing, an API freeze (perhaps for an entire release) and more.

Other ideas bubbling around: and OmniGraffle file format support. Rotation, possibly just of text. LaTeX support in the form of in-diagram display of rendered LaTeX.

UML support

The UML support is quite extensive; all of the static structure diagram parts are done. In the future, support for other kinds of UML diagrams will come.

The core UML objects are the only ones left that don't use the standard properties API, but rather define their own GTK dialogs. This needs to change, and the only missing part is a property that handles arbitrary-length lists of properties.

For future work on UML, here's a presentation explaining UML:  06-UMLAndClasses.pdf (downloaded from

Network diagrams

Dia can be used to draw diagram of LANs and WANs. At the moment, very few objects usable for drawing these diagrams are implemented; there is more to come.

Other diagram types

Dia currently also supports Entity-Relationship diagrams, flowcharts, Sybase database diagrams, electric circuit diagrams, GRAFCET, IDEF0, and much more.

Google Summer of Code

I missed the deadline for submitting some project ideas to the 2007 Google Summer of Code. For next year's SoC, here are the ideas:

Rotation (maybe with scaling, too)

Better autorouting

Full dockability


Mailing List

There is a mailing list for discussions about the design, development, and usage of Dia. See the Contact page for more details.


See the Contact page for how to submit bug reports.


This program was originally programmed by Alexander Larsson,  The current maintainer is Hans Breuer.  Steffen Macke maintains the Win32 installer.

The following persons have in some way contributed:

  • James Henstridge (james at
  • Jerome Abela (abela at
  • Hans Breuer (hans at
  • Lars Clausen (lars at
  • Emmanuel Briot (briot at
  • Fredrik Hallenberg (hallon at
  • Francis J. Lacoste (francis at
  • Steffen Macke (sdteffen at

  • M. C. Nelson (mcn at
  • Jacek Pliszka (Jacek at
  • Henk Jan Priester (hj at
  • Alejandro Aguilar Sierra (asierra at
  • Hubert Figuière (hfiguiere at
  • Alexey Novodvorsky (aen at
  • Patric Sung (phsung at
  • Robert Young (robert at
  • 田郷 明 (Akira TAGOH) (tagoh at
  • Richard Rowell (rwrowell at
  • Frank Gevaerts (frank.gevaerts at
  • M. C. Nelson (mcn at
  • Matthieu Sozeau (mattam at
  • Xing Wang (quixon at
  • Andrew Ferrier (andrew at
  • Angus Ainslie (angusa at
  • Alan Horkan (horkana at
  • Martin Hans (opfinder at

Dia is documented by:

  • Henry House (hajhouse at
  • Judith Samson (judith at
  • Kevin Breit (battery841 at
  • Thomas Harding (tom at
  • Mark Dexter (dextercowley at
  • Alan Horkan (horkana at

Apps/Dia/Development (last edited 2019-01-12 23:09:46 by AndreKlapper)