Download c2x

Version one, check2xsf, is no longer advertised. Versions prior to 1.14 have bugs when parsing wavefunctions from parallel Castep calculations, or from versions of Castep from 2016 and beyond; they are not recommended.

Version two is available either in the form of binaries, or source code under the GPL version 3, as below. It may also be found in some Linux distributions (Ubuntu 21.04 and Debian bullseye being examples), although the version on this page may be more recent than the one in your favourite distribution.

For features under development and expected in the next release, see the c2x futures page.

Also a lazy quick installation guide.

Binaries etc

Linux, 2.41b, with spglib 2.0.2: Linux. Built on Ubuntu 20.04LTS (glibc 2.29).

MacOS, 2.41b, with spglib 2.0.2: MacOS (built on MacOS 10.13). Note that persuading recent versions of MacOS to run unsigned binaries downloaded from random websites can be hard. Apart from the expected chmod +x c2x one probably needs to attempt to launch it, and, when that fails, look in System Preferences, Security & Privacy. Mac users who also use Homebrew may prefer to follow the Homebrew installation.

MacOS, ARM, 2.41b, with spglib 2.0.2: MacOS ARM.

Man page, nroff source: man page.

Man page, html formatted: HTML-formatted man page.


c2x_2.41b.tgz (A C compiler is the main build requirement).

Static unversioned link to latest source (should have the same contents as the above link).

Change log.

The main optional, but very useful and highly recommended, dependency is the SPGlib library. It is packaged for many Linux distributions, and is also available here. Version numbers of at least 1.11 are recommended, and 1.12.2 is known to work with c2x and so is cached here. Version 1.16.3 also works, as does 2.0.2.

Test Suite

c2x_test.tgz (updated for 2.41b).

The test suite contains over a hundred brief tests, and some may be instructive as examples of the use of c2x, even if commments are absent!

The main unusual requirement for running the test is the existance of numdiff. Linux users will probably find it as an optional package with their favourite distribution, Mac users will have to make other arrangements, such as building it from source.


For those who like Homebrew,

$ brew tap mjr19-c2x/c2x
$ brew install c2x

should work. Don't try installing Homebrew just to use c2x, for Homebrew will download a large fraction of a gigabyte (currently around 730MB) of metadata, which is a bit excessive for installing something which is about 1MB in size! But people who already use Homebrew for other reasons may find it useful.

Older versions

In case they are useful for regression testing, some prior versions are archived.


Ideas, and source code, contributions are welcome! But, if contributing source code, you must agree to assign all intellectual property rights to MJ Rutter, the main author of c2x, so that it is possible to release c2x under other licences in the future. I do not believe that it will be possible for me to make my fortune by commercialising c2x(!), but I do not wish to be unable to contribute its code to a project which is not GPL v3 compatible.

See also the c2x futures page for features under development but not yet in the public release.

Contributions etc. via email to mjr19 @

Email list

There is a manually-maintained list for new release announcements, etc. To change your subscription, email mjr19 as above.

Citing c2x

If you find it useful in your published research, the traditional academic acknowledgement of a citation would be appreciated. C2x: a tool for visualisation and input preparation for Castep and other electronic structure codes, MJ Rutter, Computer Physics Communications, 225 174-179 (2018).