cclib is an open source library, written in Python, for parsing and interpreting the results of computational chemistry packages. The goals of cclib are centered around the reuse of data obtained from these programs and contained in output files, specifically:

  • extract (parse) data from the output files generated by multiple programs

  • provide a consistent interface to the results of computational chemistry calculations, particularly those results that are useful for algorithms or visualization

  • facilitate the implementation of algorithms that are not specific to a particular computational chemistry package

  • to maximize interoperability with other open source computational chemistry and cheminformatic software libraries


The current version is cclib 1.8 (see the changelog for what’s new). The following programs are supported and systematically tested at the versions given in parentheses:

  • ADF (versions 2007 and 2013)

  • DALTON (versions 2013 and 2015)

  • Firefly, formerly known as PC GAMESS (version 8.0)

  • GAMESS (US) (versions 2017 and 2018)

  • GAMESS-UK (versions 7.0 and 8.0)

  • Gaussian (versions 09 and 16)

  • Jaguar (versions 7.0 and 8.3)

  • Molcas (version 18.0)

  • Molpro (versions 2006 and 2012)

  • MOPAC (version 2016)

  • NBO (version 7.0)

  • NWChem (versions 6.0, 6.1, 6.5, 6.6, 6.8, and 7.0)

  • ORCA (versions 4.1, 4.2, and 5.0)

  • Psi4 (versions 1.2.1, 1.3.1, and 1.7)

  • Q-Chem (versions 5.1, 5.4, and 6.0)

  • Turbomole (versions 5.9, 7.2, 7.4, and 7.5)

Output files from other versions of the above programs may still work, and regression tests are always welcome. The following legacy parsers are still tested as regressions, but not actively maintained:

  • Psi3 (version 3.4)

Many types of output data are parsed by cclib, including atom coordinates, orbital information, vibrational modes and TD-DFT calculations. See the page on Extracted Data for a complete list with coverage for the different programs. Several calculation methods are also provided for interpreting the electronic properties of molecules.

How to use cclib

You can download the source package for cclib 1.8 or the current development version (from the GitHub repository). For information on packages available in various Linux distributions, installing the source code and requirements, as well as basic usage, the How to install is a good place to start.

If you need further help, find a bug, need new features or have any question, please send email to the mailing list or submit an issue to the tracker.

About cclib

The code behind cclib was started as a collaboration between Noel O’Boyle, Adam Tenderholt and Karol M. Langner (see page about Development for details) and is licensed under the BSD 3-clause license. Other developers are encouraged to contribute to this open source project – send an email to the mailing list. Applications that use cclib include GaussSum and QMForge. It has also been used in the literature.

If you use cclib in your scientific work, please support our work by adding a reference to the following article:

N. M. O’Boyle, A. L. Tenderholt, K. M. Langner, cclib: a library for package-independent computational chemistry algorithms, J. Comp. Chem. 29 (5), pp. 839-845, 2008 (DOI).

A record for the latest release is also available on Zenodo.