Open Source Cheminformatics Toolkits

When I wrote the article entitled A few thoughts on scientific software one of the responses I got was that people did not know about the existence of open-source chemistry toolkits so I thought I’d publish a page that hopefully prevent stop people reinventing the wheel. Here are a few open-source toolkits that I’m aware of.

OpenBabel (

Open Babel: An open chemical toolbox Open Babel presents a solution to the proliferation of multiple chemical file formats. In addition, it provides a variety of useful utilities from conformer searching and 2D depiction, to filtering, batch conversion, and substructure and similarity searching. For developers, it can be used as a programming library to handle chemical data in areas such as organic chemistry, drug design, materials science, and computational chemistry. Also Cheminformatics nodes for KNIME 

Authors: Noel M O’Boyle, Michael Banck, Craig A James, Chris Morley, Tim Vandermeersch and Geoffrey R Hutchison Journal of Cheminformatics 2011 3:33 DOI

Extensively used in nearly 50 projects ( installs available for Linux, MacOSX and Windows.

OpenBabel is written in C++ and source code is available, bindings are also available to allow scripting access using Java, .NET, Perl, Python or Ruby.

License GNU GPL.
Source code:
Mailing list:

RDKit (

The RDKit is an open source toolkit for cheminformatics, 2D and 3D molecular operations, descriptor generation for machine learning, etc. There’s also a molecular database cartridge for PostgreSQL and cheminformatics nodes for KNIME (distributed from the KNIME community site:

Installs available for Linux, MacOSX and Windows

The RDKit core algorithms and data structures are written in C++. Wrappers are provided to use the toolkit from either Python (2.x and 3.x), Java, or C#.

License: BSD.
Source code:
Frequency of releases: new feature releases twice a year. bug-fix releases every 6-8 weeks. .
Mailing lists:

How to contribute


The Chemistry Development Kit (CDK) is a collection of modular Java libraries for processing chemical information (Cheminformatics). The modules are free and open-source and are easy to integrate with other open-source or in-house projects. Also Cheminformatics nodes for KNIME

Authors: Willighagen et al. The Chemistry Development Kit (CDK) v2.0: atom typing, depiction, molecular formulas, and substructure searching. J. Cheminform. 2017; 9(3), DOI:

The latest release JAR with all dependencies included from GitHub ( CDK is written in Java

License GNU Lesser General Public License, version 2.1 (or later)..
Source code:

Indigo (

Indigo is a universal molecular toolkit that can be used for molecular fingerprinting, substructure search, and molecular visualization. Also capable of performing a molecular similarity search, it is 100% open source and provides enhanced stereochemistry support for end users, as well as a documented API for developers. Also Cheminformatics nodes for KNIME

Installs available for Linux, MacOSX and Windows

Indigo is written in C++ and source code is available, bindings are also available to allow scripting access using Java, .NET, Python.

License GNU General Public License .
Source code:

OpenChemLib (

Open source Java-based chemistry library, also openchemlib-js JavaScript interface with the openchemlib java library

Source code:

ChemDoodle Web Components (

The ChemDoodle Web Components library is a pure Javascript chemical graphics and cheminformatics library derived from the ChemDoodle® application and produced by iChemLabs. ChemDoodle Web Components allow the developer to present publication quality 2D and 3D graphics and animations for chemical structures, reactions and spectra.

License Gnu Public License (v3.0)..
Source code:

Kekule.js (

Kekule.js is an open source JavaScript library for chemoinformatics released under MIT license. Currently, it is molecule-centric, focusing on providing the ability to represent, draw, edit, compare and search molecule structures on web browsers.

License MIT license..
Source code:

WebMolKit (

Cheminformatics toolkit built with TypeScript. Can be used to carry out some fairly sophisticated cheminformatics tasks on a contemporary web browser, such as rendering molecules for display, format conversions, calculations, interactive sketching, among other things. The library can be used within any JavaScript engine, including web browsers, NodeJS and Electron.

Demo of molecular sketchwer.

Written in TypeScript. Requires the TypeScript compiler (tsc) to cross-compile into JavaScript

License Apache license 2.0.
Source code:

Chempy (

Chempy is a Python package useful forchemistry (mainly physical/inorganic/analytical chemistry).

  • Numerical integration routines for chemical kinetics (ODE solver front-end)
  • Integrated rate expressions (and convenience fitting routines)
  • Solver for equilibria (including multiphase systems)
  • Relations in physical chemistry:

Author Bjoern I. Dahlgren

License: BSD.
Source code:

Also worth reading

A curated list of Cheminformatics libraries and software

A curated list of Python packages related to chemistry

Last Updated 15 July 2023

Related Posts

2 thoughts on “Open Source Cheminformatics Toolkits

Comments are closed.