Python-Based Interactive RDKit Molecule Editing with rdEditor

06 March 2024, Version 1
This content is a preprint and has not undergone peer review at the time of posting.


RDKit is a widely used toolkit for cheminformatics, renowned for its fast C++ backend and versatile Python API. However, in many cases, users find themselves needing to create or edit molecules in external programs, as the majority prefer not to manipulate raw SMILES strings. Unfortunately, most available tools for this purpose are either proprietary, deprecated, or not Python-based. Here we introduce rdEditor, a molecular editor entirely written in Python 3 using PySide2 graphical user interface widgets. The application is programmed in an object-oriented fashion, and the custom PySide2 widgets can be easily reused in other applications. It's important to note that this application is an editor, not a drawing program. In other words, RDKit handles the layout of the molecule entirely, and the user interacts with the molecular graph object directly, rather than drawing on a canvas with subsequent conversion to molecular format. While reusing functionality from RDKit contributes to an efficient codebase, there are some drawbacks if end-users expect to have control over the precise placement of atoms. The code is released as open-source and is available on GitHub at:

Supplementary weblinks


Comments are not moderated before they are posted, but they can be removed by the site moderators if they are found to be in contravention of our Commenting Policy [opens in a new tab] - please read this policy before you post. Comments should be used for scholarly discussion of the content in question. You can find more information about how to use the commenting feature here [opens in a new tab] .
This site is protected by reCAPTCHA and the Google Privacy Policy [opens in a new tab] and Terms of Service [opens in a new tab] apply.