(c) 2001-2006 David Symonds
Last Updated: 22 February 2007
Latest Version: 1.3.2
Australian flag English flag US flag Catalan flag Chinese flag French flag
German flag Spanish flag Italian flag Romanian flag Swedish flag


What is GraphThing?

GraphThing is a tool that allows you to create, manipulate and study graphs. These "graphs" are mathematical objects (look at this introduction to Graph Theory) that describe relationships between sets; they are not 2D plots, charts, or anything similar to that. If the image on the right means nothing to you, you're probably at the wrong place.

Is it free?

GraphThing is Free Software, licensed under the terms of the GNU GPL. That means that not only does it cost you nothing, but you also have the freedom to redistribute it or modify it however you please, so long as you also give these freedoms to others.

As an example, the CityBuilder project has taken a particular version of GraphThing, and modified it for their own needs. They have released the source code to their forked version under the GNU GPL.

If you find GraphThing useful, especially in either an educational or academic setting, please email me and tell me your thoughts about it!


22nd December 2006

GraphThing 1.3.2 is out. This is a small update to include the new Chinese (Simplified) translation, courtesy of Guo Yixuan.

2nd October 2006

Cyril Brulebois has managed to get GraphThing into Debian ( see his blog entry)! Within a short amount of time it should enter the current official unstable Debian distribution ("sid"), and hopefully even the new upcoming stable release ("etch")! Great news for all Debian users out there! Congratulations to Cyril Brulebois for getting his first upload into Debian!
13th October 2006 - Update: GraphThing has now entered the current testing distribution ("etch").

19th September 2006

GraphThing 1.3.1 is out. This is a maintenance release, fixing up some of the build process and rolling in some 64-bit fixes and a new manpage. If you're not having any problems, don't bother upgrading. Packages for this release will follow shortly.

6th September 2006

After a long hiatus, I'm pushing out version 1.3 of GraphThing. It's not a big revision over the previous version, but it needs releasing.

12th November 2005

Version 1.2.1 of GraphThing is available; it is a bug-fix release, exclusively for some problems writing vertex labels to files. If you know that this is not happening, this release is not for you.

28th October 2005

Version 1.2 of GraphThing is out now! Changes are mainly for multilingual support, so if you only use it in English, and you haven't had any problems compiling it, you don't need to upgrade from 1.1 to this version.

What can GraphThing do?

At the moment, only support for simple graphs and digraphs are supported; that is, no multiple edges or loops. Other than this, GraphThing can handle every type of graph. Below is a brief list of some of the main features of GraphThing:


GraphThing runs natively with English messages. The latest version of GraphThing has support for the following languages. If you would like to have GraphThing in your native language, and can help by translating, please get in contact with me!
Catalan flag Catalanca99% Josep M. Lopez
Chinese flag Simplified ChinesezhComplete Guo Yixuan
French flag Frenchfr99% Cyril Brulebois
German flag Germande95% Tilman Linneweh
Italian flag Italianit99% Matteo Boccafoli
Romanian flag Romanianro99% Ion Savin
Spanish flag Spanishes99% Josep M. Lopez
Swedish flag Swedish Chefsv_CKComplete David Symonds

It is reported that there are several problems with accented characters under the GTK port of wxWidgets. This usually happens with non-Unicode builds of wxWidgets, and can be remedied by either compiling GraphThing against a Unicode build of wxWidgets, or using a language code of something like 'fr_FR.UTF-8' (in the case of French).

The way to specify which language to use is operating system-dependent, but it comes down to setting the LANGUAGE environment variable to the language code (see the table above) of your choice. Microsoft Windows users should follow these instructions for Windows XP, or these instructions for Windows 2000.


Eulericity Chromatic Polynomial Chromatic Number
Prefabs Chromatic Number 2

What do I need?

You can either compile GraphThing yourself, or download a pre-made binary.

To compile it yourself, you will need: If you want multilingual support to work properly, you'll want to use a Unicode build of wxWidgets, if possible. For when you're not building wxWidgets yourself, but rather using a package from somewhere, here is what you need to know:


Mailing List

There is a mailing list for GraphThing, open to everyone who wishes to discuss GraphThing. Feature requests, bug reports, general complaints and praise are all welcome, though you must be subscribed to the list to be able to post.

To subscribe, send an email (with no subject) to, and a body of

	subscribe graphthing-discuss
The list archives are also available.

David Symonds <>