nauty and Traces

Brendan McKay and Adolfo Piperno

Please visit the other nauty Traces page at for more than is here.


nauty and Traces are programs for computing automorphism groups of graphs and digraphs. They can also produce a canonical labelling.

nauty and Traces are written in a portable subset of C, and run on a considerable number of different systems.

There is a suite of programs called gtools included in the nauty package. For example, geng can generate non-isomorphic graphs very quickly. There are also generators for bipartite graphs, trees, digraphs, multigraphs, and other classes, and many programs for manipulating files of graphs in a compact format.


A complete manual is included in the package. It is also separately available here.
See the file changes24-28.txt for a summary of recent changes.

The original design of nauty is in B. D. McKay, Practical Graph Isomorphism, Congressus Numerantium, 30 (1981) 45-87. A scan is available.
The original design of Traces is in A. Piperno, Search Space Contraction in Canonical Labeling of Graphs, available at
The current algorithms behind nauty and Traces are described in the paper of McKay and Piperno cited below.

How to cite nauty or Traces

If you use nauty or Traces in your research, please cite this paper:
B. D. McKay and A. Piperno, Practical Graph Isomorphism, II, J. Symbolic Computation (2013) 60 94-112. Preprint version at

How to get it

If you agree to the restrictions listed below, you may fetch version 2.8.8 of nauty and Traces as a gzipped tar file (1.6MB).

nauty uses the GNU autoconf installation system. You are advised to read the file README before compiling anything.

Installation procedure for Linux, MacOS, Cygwin, etc.
   tar xvzf nauty2_8_8.tar.gz
   cd nauty2_8_8

After this procedure, the directory nauty2_8_8 contains all the nauty executables. Move them somewhere else as you wish.

Some options are available at the configuration stage; see the manual.

Note that old or broken systems may not be supported at all; try an older version of nauty. A few things in the package, especially shortg, need a POSIX-like environment (such as pipes), though newer versions of Cygwin are fine.

Nauty mailing list

You are invited to join the nauty mailing list so that you can receive notices of updates and exchange information with other users. Once you join the list, you can post to it by sending mail to .


Traces and dretodot are copyright to Adolfo Piperno.
Files planarity.[ch] are copyright to the Magma project.
Files watercluster2.c and genposetg.c are copyright to Gunnar Brinkmann.
Files nautycliquer.h and nautycliquer.c are copyright to Sampo Niskanen and Patric Östergård.
Parts of file nauchromatic.c are copyright to Gordon Royle.
Everything else in the package is copyright to Brendan McKay.

The minimal restrictions on usage are in the file COPYRIGHT in the package and here.

Absolutely no guarantees or warranties are made concerning the suitability, correctness, or any other aspect of this program. Any use is at your own risk.

Old Versions

Prior to version 2.2, nauty and gtools were distributed separately. Traces was not distributed with nauty until version 2.5.

Version 2.7r4 of nauty and Version 2.1 of Traces.
Version 2.6r12 of nauty and Version 2.1 of Traces.
Version 2.5r9 of nauty and Version 2.0 of Traces.
Version 2.4r2 of nauty.
Version 2.2 of nauty.
Version 2.0 (beta 9) of nauty.
Version 1.0 (beta 11) of gtools.
Version 1.9 of nauty.


Brendan D. McKay
School of Computing
Australian National University
Canberra, ACT, Australia
brendan dot mckay at anu dot edu dot au

Adolfo Piperno
Dipartimento di Informatica
Sapienza Universitá di Roma
Roma, Italy
piperno at di dot uniroma1 dot it