Skip to content
Chemical Drawing Atlas

This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.

ChemCanvas

A desktop editor for drawing 2D chemical structures, reaction schemes and mechanisms.

WebsiteManualGitHub

Open source. 33 of 65 checklist features confirmed.

Main canvas

ChemCanvas main canvas, light mode
light mode
ChemCanvas main canvas, dark mode
dark mode

Dark interface; drawing canvas remains white.

Default drawings

caffeine as drawn by ChemCanvas with default settings

Caffeine

paclitaxel as drawn by ChemCanvas with default settings

Paclitaxel

No 3D view

Cholesterol in 3D

Facts

GitHub stars
59 stars on 6 Nov 2026
First commit
21 Jul 2021
Repository activity
497 commits, 1 contributor, last push 5 Nov 2026
Latest version
v0.14.8
Version we tested
0.14.8
Runs on
Windows, Linux
License
GNU General Public License version 3 or later.
Price
Free
Relies on
None linked. Ported into its own code: OASA. Custom Qt canvas; chemistry includes adapted OASA source.
Draws with
Qt QGraphicsScene and QPainter; custom SVG serialization
Chemistry from
Custom Python molecular graph, SMILES and aromaticity code
Interface
PyQt5 (v0.14.8)
Main language
Python
Other languages
C++: Qt widgets and graphics via PyQt5
Renderer
Original: ChemCanvas molecular drawing over Qt
Third-party licenses
PyQt5 uses GPL-3.0 and Qt LGPL-3.0. Adapted OASA code is GPL-covered (upstream GPL-2.0-or-later; repository notices GPL-3.0).
Download
0.4 MB
Installed
156 MB

In use

Screenshots from our test of this version.

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

Files and exchange

APIs and automation

Embedding and extension

  • Not establishedPlugins
  • Not established: Standalone PyQt application; no editor integration API documented.Embed in your own appStandalone PyQt application; no editor integration API documented.github.com

Open the full pageManual