This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
rdEditor
A desktop molecule editor and reusable Python widget for editing RDKit structures.
Open source. 18 of 65 checklist features confirmed.
Main canvas
Settings > Theme: Qdt light and Qdt dark change canvas colors.
Default drawings
- Default dark canvas uses light bonds, red oxygen, and blue nitrogen.
- SMILES paste generates and fits 2D coordinates automatically.
- Paclitaxel shows wedges, hashes, and R/S labels by default.
- Paclitaxel automatic layout contains crossing bonds and crowded labels.
- No GUI image export or rotatable 3D view was found.
Facts
- GitHub stars
- 181 stars on 6 Nov 2026
- First commit
- 13 Sept 2018
- Repository activity
- 167 commits, 8 contributors, last push 3 May 2026
- Latest version
- 0.5.1
- Version we tested
- 0.5.1
- Runs on
- macOS, Windows, Linux
- License
- GNU Lesser General Public License version 3.
- Price
- Free
- Relies on
- RDKit. Custom editor uses RDKit molecular graphs and SVG rendering.
- Draws with
- RDKit MolDraw2DSVG generates SVG, displayed by Qt QSvgWidget.
- Chemistry from
- RDKit
- Interface
- PySide6 / Qt Widgets
- Main language
- C++
- Other languages
- Python: Editor and RDKit bindings
- Renderer
- Borrowed: RDKit MolDraw2D (SVG)
- Third-party licenses
- PySide6/Qt: LGPLv3/GPLv3 or commercial terms. RDKit/NumPy: BSD-3-Clause; PyQtDarkTheme: MIT with Apache-2.0 icons. Bundled Icons8 graphics carry separate attribution terms.
- Download
- 0.4 MB
- Installed
- 1.4 GB
- RDKit controls molecular layout, limiting precise placement for publication figures.
- Latest pyqtdarktheme dependency requires Python below 3.12; rdeditor itself requires 3.10 or newer.
- README says atom clicks add bonded atoms; current code replaces atoms and uses dragging to add them.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Triple bond on the canvas, with bond tools at left.

Wedge, hash and wavy bonds
Molecule with solid and hashed wedge bonds.

Ring tools
Benzene and cyclohexane rings on the canvas.

Template library
Carboxylic acid structure with its template selected.

Charges, isotopes and atom labels
Caffeine with nitrogen and oxygen labels and element tools.

Structure checking
Caffeine structure with Sanitizable status shown.

R/S and E/Z labels
Molecule with R and S stereochemical labels.

MOL and SDF
Caffeine structure opened from a MOL file.
Features
- Tested by running it
- Seen in the app
- The manual says yes
- Partly, with the reason shown
- Not supported
- Not established, which is not the same as no
Select a mark for its proof. A filled mark opens our screenshot, or the manual if the check left nothing to picture. A ring opens the manual.
Drawing structures
- Yes, tested by running it: Drew single bonds and changed them to double and triple. Opens the screenshot.Single, double and triple bondsDrew single bonds and changed them to double and triple.github.com
- Partly: R/S toggle creates wedge/hash; no wavy drawing tool found. Opens the screenshot.Wedge, hash and wavy bondsR/S toggle creates wedge/hash; no wavy drawing tool found.github.com
- Yes, according to the manual: Special Bonds menu exposes RDKit types, including dative and quadruple. Opens the cited page.Dative, hydrogen and quadruple bondsSpecial Bonds menu exposes RDKit types, including dative and quadruple.github.com
- Not establishedChoose double-bond side
- Yes, tested by running it: Placed benzene and cyclohexane from toolbar. Opens the screenshot.Ring toolsPlaced benzene and cyclohexane from toolbar.github.com
- Not establishedChair and Haworth rings
- Not establishedChain tool
- Yes, tested by running it: Placed built-in carboxylic acid template. Opens the screenshot.Template libraryPlaced built-in carboxylic acid template.github.com
- Not establishedSave your own templates
- Not establishedGroup abbreviations
- Partly: Charges and elements editable; no exposed isotope setter. Opens the cited page.Charges, isotopes and atom labelsCharges and elements editable; no exposed isotope setter.github.com
- Not establishedRadicals and lone pairs
- Not establishedKeyboard drawing
- Partly: Individual atom selection only; bond selection explicitly unimplemented; transforms unverified. Opens the cited page.Lasso select and transformsIndividual atom selection only; bond selection explicitly unimplemented; transforms unverified.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- No: No reaction-arrow command in menus or toolbars. Opens the cited page.Reaction arrowsNo reaction-arrow command in menus or toolbars.
- No: No curved-arrow command in menus or toolbars. Opens the cited page.Curved mechanism arrowsNo curved-arrow command in menus or toolbars.
- Not establishedMachine-readable reactions
- Partly: Molecular atom-map numbers only; no reactant/product reaction model. Opens the cited page.Atom mappingMolecular atom-map numbers only; no reactant/product reaction model.github.com
- Not establishedOrbitals and symbols
Figures and layout
- Not establishedRich text captions
- Not establishedShapes, brackets and curves
- Not establishedAlign and distribute
- Not establishedGroup and ungroup
- Yes, according to the manual: Recalculates 2D coordinates, disregarding existing coordinates. Opens the cited page.2D structure cleanupRecalculates 2D coordinates, disregarding existing coordinates.github.com
- Not establishedJournal drawing styles
- Not establishedReusable custom styles
- Partly: Configurable selection highlights through Python; persistent object colors unverified. Opens the cited page.Color controlConfigurable selection highlights through Python; persistent object colors unverified.github.com
- Yes, according to the manual: Configurable atom selection halos persist in SVG returned by Python API. Opens the cited page.Color highlightingConfigurable atom selection halos persist in SVG returned by Python API.github.com
- Not establishedPage layout and multipage
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: Sanitization failures appear in the status bar. Opens the cited page.Structure checkingSanitization failures appear in the status bar.github.com
- Yes, tested by running it: R/S labels changed when stereocenter was toggled. Opens the screenshot.R/S and E/Z labelsR/S labels changed when stereocenter was toggled.github.com
- No: No molecular formula or mass command found. Opens the cited page.Formula and massNo molecular formula or mass command found.
- Not establishedProperty estimates
- No: Pasting caffeine produced no structure; no naming command found. Opens the cited page.Name to structurePasting caffeine produced no structure; no naming command found.
- No: No structure-naming command found in menus. Opens the cited page.Structure to nameNo structure-naming command found in menus.
- Not establishedNMR prediction
- Yes, according to the manual: Simple numbered R-group dummy atoms; full Markush authoring unverified. Opens the cited page.R-groups and query structuresSimple numbered R-group dummy atoms; full Markush authoring unverified.github.com
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not establishedOnline structure lookup
- No: No 3D view command in menus or toolbars. Opens the cited page.3D model viewNo 3D view command in menus or toolbars.
- Not establishedCrystal structures
Files and exchange
- No: CDXML import left blank canvas despite opened status. Opens the cited page.CDXML import and exportCDXML import left blank canvas despite opened status.github.com
- No: File handlers support MOL and SMILES only. Opens the cited page.CDX import and exportFile handlers support MOL and SMILES only.github.com
- Yes, tested by running it: MOL read/write; supplied single-record SDF opened. No SDF export option. Opens the screenshot.MOL and SDFMOL read/write; supplied single-record SDF opened. No SDF export option.github.com
- Yes, tested by running it: Pasted fixtures and saved caffeine SMILES successfully. Opens the cited page.SMILESPasted fixtures and saved caffeine SMILES successfully.github.com
- No: File handlers support MOL and SMILES only; clipboard parses SMILES. Opens the cited page.InChIFile handlers support MOL and SMILES only; clipboard parses SMILES.github.com
- No: File handlers support MOL and SMILES only. Opens the cited page.RXN filesFile handlers support MOL and SMILES only.github.com
- No: Save As Any File returned Invalid file format. Opens the cited page.SVG exportSave As Any File returned Invalid file format.github.com
- No: Save As Any File returned Invalid file format. Opens the cited page.PDF exportSave As Any File returned Invalid file format.github.com
- No: Save As Any File returned Invalid file format. Opens the cited page.High-resolution PNGSave As Any File returned Invalid file format.github.com
- Not establishedPaste to and from ChemDraw
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Yes, according to the manual: Widget properties and signals drive molecule editing and display. Opens the cited page.Python APIWidget properties and signals drive molecule editing and display.cheminformania.com
- Not establishedJavaScript or TypeScript API
- No: rdEditor always launches QApplication; no headless conversion or rendering. Opens the cited page.Command-line toolrdEditor always launches QApplication; no headless conversion or rendering.github.com
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- Yes, according to the manual: Import rdeditor.molEditWidget.MolEditWidget; add to PySide6 layout and connect molChanged. Opens the cited page.Embed in your own appImport rdeditor.molEditWidget.MolEditWidget; add to PySide6 layout and connect molChanged.cheminformania.com



