Old Content

Information on this page hasn't been updated in a while and may be outdated

Some links to... (Links with <!> next to them appear to be broken)

Tutorials and documentation

Dia Tutorial

Dia tutorial written by Harry George

Dia documentation

A chapter about Dia from the book "The GNU/Linux Desktop" by Kayon Toga

Apps/Dia/UML Tutorial

A nice little UML tutorial using Dia

Dia Mailing List

The Dia mailing list, for developers and users alike.

Additional shapes

Additional shapes for Dia

A repository for additional Dia shape downloads

Tools that generate Dia diagrams

Various Python scripts that run within Dia

See the Dia Python page.


AutoDia is a modular application that parses source code or data (if a handler is available) and produces an XML document in Dia format. Handlers for Perl, C++, Java and PHP are available. (This used to be called AutoDIAL.)


Diazy is an open source software package that is modeled after portions of the proprietary system Rational Rose. Diazy's two main objectives are to generate a source code framework from a UML diagram that was created in the popular open source-diagramming tool Dia. It will also generate a Dia UML class relationship diagram form any object oriented code source.

pstoshape.pl <!>

A Perl script that attempts to extract connected shapes from PostScript files. In some cases, this makes it very easy to generate shapes.

EMF Decoder <!>

A Perl script that attempts to decode Visio documents (even inside Word documents) by looking at the EMF (Enhanced MetaFile) part. Unfortunately, Visio 2002 only uses bitmaps for EMF, but older files can be converted with some restrictions.


HappyDoc generates documentation for Python programs, and can output Dia diagrams.


Synposis is a documentation extraction tool. It can output Dia diagrams among other things. It doesn't try to do layout.


ArgoUML2Dia converts from the ArgoUML format to Dia, though not all object types are supported yet.

PostgreSQL AutoDoc

A perl script which takes the database structure and exports an XML file which Dia can use, together with various documentation formats. This used to be called Postgres_to_Dia.


Agata Report is a Report Generator, written in PHP-GTK. Allows you to edit and get SQL results from several Databases as Text or PostScript Files. It can generate Dia diagrams with all the tables you are working on.


Medoosa is a documentation tool for C++ that can produce UML class diagrams including generalizations and associations. Corrections can be made interactively in a diagram editor (Dia) and are fed back into the source as Javadoc-style comments.


"cpp->dia" aka "cpp2dia" has been developed to create UML diagrams for Dia from an existing C++ source. "cpp->dia" is a small console based Tcl script, that should not be too intractable. The main focus for "cpp->dia" is at creating nice-looking UML diagrams, and not writing an high-end parser for C++ code. Therefore "cpp->dia" uses "ctags" to do the main work on parsing the C++ source. To layout the UML graph in a not-random way, "cpp->dia" can utilize "Graphviz" from A T & T Labs.


The goal of oraschemadoc is "JavaDoc" style detailed documentation for all objects in schemas covering Oracle specific features. The result of executing oraschemadoc is a set of static html files. It is also possible to export the datamodel to Dia UML Diagram.


SQL2DIA is a set of Perl scripts to generate Dia diagrams from existing databases.


A PHP parser that connects to an Interbase/Firebird database and returns a description of the database in Dia's native gzipped XML format.

Tools that generate something from Dia diagrams

Various Python scripts that run within Dia

See the Dia Python page.


Dia2SQL is a Perl script to convert Dia diagrams to SQL databases, by Tim Ellis. It supports a number of database systems, including Sybase, Postgres, Oracle, DB/2, MS-SQL, MySQL, and others.


Parse::Dia::SQL is a Perl module which converts Dia class diagrams into SQL. Parse::Dia::SQL is based on tedia2sql by Tim Ellis and others.

Nautilus Thumbnailers

A bunch of scripts that create thumbnails for Nautilus (a GNOME file/directory manager/browser). Dia is one of the file formats for which these scripts can generate a thumbnail (128x128 PNG).


Dia2Code is a small utility used to generate code from a Dia diagram. Generates code for Ada, C, C++, Java, PHP, PHP5, Python, Ruby, shapefile, SQL and C#.


Dia2SQL is a Perl script to convert Dia diagrams to SQL databases, by Alexander Troppmann.


A Perl script that parses Dia native XML files into valid SQL scripts.


Dia2SQL is also a Perl script to convert Dia diagrams (exported as EPS) to SQL databases, by Douglas Spencer.

Eros <!>

Eros is another Perl script to convert Dia diagrams to SQL databases, by Roberto Andrade Fonseca.


Dia2SQL is yet another transformer from Dia to SQL, this one written in PHP. By Daniel Afonso Heisler.


Dia2SQLpy is yet another transformer from Dia to SQL, this one written in Python. It supports both PostgreSQL and MySQL.

Yet Another dia2sql

Yet another tool to generate SQL statements from Dia XML files. Written in Python.


Yet another dia2sql converter. It is written in C++ and uses libxml2 and the STL. By Ivo van Kamp.


Dia2Postgres is a Perl script that can be used to convert Dia diagrams into PostgreSQL scripts or PHP mirror classes which can add, update and modify entries automatically. It has support for inheritance, simple references (limited to a single field), and a fake enum type which creates a table.


dia2fsm takes a dia diagram containing an FSM specification (please see the user guide for details of general usage and the UML objects to use) and forward generates skeleton code. The current version (V 0.0.2) supports C and C++ code generation (Java coming soon), and also creates a makefile to allow the skeleton code to be built and tested. It will also create an input file for AT & T's dot application, and generate a PNG image of the machine on request. The generated code is _not_ intended to be an academically sound FSM implementation, but is intended to provide an efficient, working state machine. dia2fsm is written in C++, and although it is built on Win2K only at present, any platform-sensitive code is implemented with the Qt library.


er2sql is a script which converts an ER (Entity-Relationship) diagram created by dia to SQL statements. All data types can be set by attaching the text-element with the type definition to the attributes. Keys, foreign keys, and auto increment are supported.


The aim of the project is to write a program that will gather information from a .dia file and then generate a table of contents that will contain hyperlinks on text and media files. The table of contents is inserted into each text file that is named in the Dia diagram. Media files are listed in table of contents, but are not changed. Thus, text and media files are automatically linked by hyperlinks.

Tools that use Dia diagrams both as input and as output


Integrates autodia, dia2code, and dia2sqlpy. Allows converting in both directions between Dia diagrams and SQL code; and between Dia diagrams and the languages supported by autodia and dia2code (Python, PHP, Java, C++, and more).


SchemaMania.org presents some ideas about how to make Dia a better database diagramming tool.

Dia ports

Dia for Windows

Dia setup program for Windows

Dia for Win32

The original Dia port to Windows. The above version, however, has been more recently updated.

Cool uses of Dia

ecolNet <!>

ecolNet (the closest link we could find to the one that seems to be broken) is a group of Linux users in Spain; our notes say that they use Dia to dynamically generate graphs of service relationships.

Dia sightings in the news

Newsforge <!>

An article that explains basic use of Dia 0.94 in a positive, but not jubilant light. Includes a bit about how to make new shapes, though he missed the fact that you can save .shape files from Dia.


A brief summary of Dia's capabilities. Dia is included in LinuxLinks.com's 'Linux Equivalents to Windows Software' section.

Software Development Magazine

An article about Visio that mentions Dia as a not-quite-as-polished version of Visio. Requires free registration.

O'Reilly Linux Network Administration

An article comparing four diagramming programs for Linux (Dia (v0.83), Tgif, Tkined, Xfig). Finds hierarchical views very important.

IBM developerWorks

Third part of an article series about metaprogramming, this article uses Dia as the example tool for implementing the idea of Model Driven Architecture.

Underlying code

The gimp

A free Photoshop like image editor for Linux/Unix.


The Gimp toolkit, the toolkit used by Dia.


Gnu Object Model Environment. A desktop environment for Linux/Unix.

Directories of software

Vector graphics foundry

The SourceForge Vector Graphics Foundry is a list of programs dealing with vector graphics. It lists many smaller, specialized programs as well as the generalized ones.



A diagram creation program for Windows. The inspiration for Dia. Now bought by Microsoft.


A diagramming program for Sparc/Solaris and Linux x86_32/x86_64. Offers a no-save evaluation download.


A diagramming program for Mac OS X.

Kivio mp

The commercial version of Kivio.


A cross-platform SVG vector drawing application, written in Java.

Free (Libre and/or Gratis)


The KDE diagram program, closely modelled on Visio.


A UML editor written in Java.


A highly configurable Java-based diagramming editor.


A UML editor based on DiaCanvas2. (DiaCanvas2, except for its look and feel, is not related to Dia.)

Tkined (RPM packages)

A diagramming program specialized for networks.

Tkined (homepage)

Ideagraph <!>

A simple idea visualization tool.


Quite old vector drawing program for X11.


A vector drawing program for X11 with hierarchical objects.


An extensible drawing editor for creating figures for inclusion in LaTeX documents.


A vector drawing program using GTK.


A vector graphics editor using SVG.

Skencil (formerly Sketch)

A vector drawing program.


A vector-graphics editor oriented for "prepress-ready" PostScript & PDF output.


A command-line universal vector-graphics translator.


A professional page layout program. Among its many capabilities are vector drawing tools intended for such things as adding graphical accents to the design of a printed page.


A sketching and painting program modelled on real-world painting materials. It includes vector graphics tools.

Gyve <!>

A free vector drawing program for Unix. The given link is to a directory entry for this program, but the program itself does not seem to be available.


A command-line utility for transforming a bitmap (a raster image) into a smooth vector image. SVG and other output formats are supported. The page contains links to other software related to raster-to-vector conversion.


A suite of X Windows drawing editors for PostScript, TeX, and web graphics production.


The Graphviz layout programs take descriptions of graphs in a simple text language; automatically draw diagrams; and output the diagrams in SVG or other formats, or display the diagrams in an interactive graph browser. Graphviz was not intended to be a Visio replacement, so it is probably frustrating to try to use it that way.


Takes text-based input and automatically produces graph descriptions which can then be post-processed by other software to generate UML graphs. UML class diagrams require Java and are meant to be post-processed by Graphviz; UML sequence diagrams require GNU plotutils, which can generate SVG.

Graphics of this web site are made with the Gimp and Xfig by Toussaint Frédéric

Apps/Dia/Links (last edited 2020-10-11 11:57:19 by ZanderBrown)