This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Molsketch
Desktop editor for drawing two-dimensional molecular structures, reaction schemes, and mechanism diagrams.
Open source. 32 of 65 checklist features confirmed.
Official demo
Main canvas
Dark canvas retains black bonds, reducing contrast.
Default drawings
- SMILES imports generated 2D coordinates without manual cleanup.
- Default canvas showed black structures on a dark background.
- Default PNG export used white background and 10× pixel scaling.
- Caffeine round-trip matched; paclitaxel output changed and omitted stereochemical assignments.
- Template library was empty after refresh.
Facts
- GitHub stars
- 20 stars on 6 Nov 2026
- First commit
- 7 Jul 2009
- Repository activity
- 1,217 commits, 9 contributors, last push 11 Oct 2025
- Latest version
- 0.8.4
- Version we tested
- 0.8.4
- Runs on
- macOS, Windows, Linux
- License
- GPLv2 or later in source; application metadata instead says GPL-2.0-only.
- Price
- Free
- Relies on
- Open Babel. Custom canvas; optional Open Babel handles chemical formats and 2D coordinate generation.
- Draws with
- Qt QPainter on QGraphicsScene; QSvgGenerator for SVG and QPrinter for printing.
- Chemistry from
- In-house molecular model with an optional Open Babel adapter.
- Interface
- Qt Widgets (Qt 5 or Qt 6)
- Main language
- C++
- Other languages
- C: Optional native InChI library
- Renderer
- Original: Molsketch libmolsketch (Qt QPainter)
- Third-party licenses
- Includes LGPL-3.0 (Qt and Oxygen icons), GPL-2.0 (optional Open Babel), and GPL runtimes with linking exceptions.
- Download
- 1.9 MB
- Installed
- 12 MB
- macOS requires a source build; Apple Silicon build issues remain open.
- Chemistry file exchange, cleanup, and Wikidata lookup require Open Babel.
- App metadata advertises weight and bundled templates; current code and release notes differ.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Single, double, and triple bonds in an exported drawing.

Wedge, hash and wavy bonds
Solid wedge, hashed wedge, and wavy bonds in an exported drawing.

Ring tools
A triangular ring alongside straight and curved arrows.

Reaction arrows
A straight reaction arrow alongside a ring and curved arrow.

Curved mechanism arrows
A curved arrow alongside a ring and straight arrow.

High-resolution PNG
Preferences show bitmap export scaling set to 10.0×.
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: Single, double, and triple bonds drawn; features-test.png. Opens the screenshot.Single, double and triple bondsSingle, double, and triple bonds drawn; features-test.png.github.com
- Yes, tested by running it: Wedge, hash, and wavy bonds drawn; features-test.png. Opens the screenshot.Wedge, hash and wavy bondsWedge, hash, and wavy bonds drawn; features-test.png.github.com
- Partly: Dotted/dashed dative styles; no additional specialist bond category in controls. Opens the cited page.Dative, hydrogen and quadruple bondsDotted/dashed dative styles; no additional specialist bond category in controls.github.com
- Yes, according to the manual: Symmetric, asymmetric, and inverted asymmetric double bonds. Opens the cited page.Choose double-bond sideSymmetric, asymmetric, and inverted asymmetric double bonds.github.com
- Partly: Triangle drawn; other ring sizes and aromatic options untested. Opens the screenshot.Ring toolsTriangle drawn; other ring sizes and aromatic options untested.github.com
- Not establishedChair and Haworth rings
- Not establishedChain tool
- No: Library refresh remained empty; interface requests user-defined library folders. Opens the cited page.Template libraryLibrary refresh remained empty; interface requests user-defined library folders.sourceforge.net
- Yes, according to the manual: Save molecules as MSM files for reuse in folder-based libraries. Opens the cited page.Save your own templatesSave molecules as MSM files for reuse in folder-based libraries.github.com
- Partly: Labels supported; chemical abbreviation handling remains a TODO. Opens the cited page.Group abbreviationsLabels supported; chemical abbreviation handling remains a TODO.github.com
- Partly: Charges and custom labels; no dedicated isotope field. Opens the cited page.Charges, isotopes and atom labelsCharges and custom labels; no dedicated isotope field.github.com
- Yes, according to the manual. Opens the cited page.Radicals and lone pairsgithub.com
- Not establishedKeyboard drawing
- Partly: Rectangular selection and rotation; full free-selection transforms are not provided. Opens the cited page.Lasso select and transformsRectangular selection and rotation; full free-selection transforms are not provided.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- Partly: Forward arrow drawn; alternate arrow styles not exercised. Opens the screenshot.Reaction arrowsForward arrow drawn; alternate arrow styles not exercised.github.com
- Yes, tested by running it: Curved full-head arrow drawn and exported. Opens the screenshot.Curved mechanism arrowsCurved full-head arrow drawn and exported.github.com
- Not establishedMachine-readable reactions
- Not establishedAtom mapping
- Not establishedOrbitals and symbols
Figures and layout
- Yes, according to the manual: Paste formatted text from another application. Opens the cited page.Rich text captionsPaste formatted text from another application.sourceforge.net
- Yes, according to the manual: Rectangular and rounded frames, square and curly brackets. Opens the cited page.Shapes, brackets and curvesRectangular and rounded frames, square and curly brackets.github.com
- Yes, according to the manual. Opens the cited page.Align and distributegithub.com
- Not establishedGroup and ungroup
- Yes, according to the manual: Requires the Open Babel adapter and gen2D operation. Opens the cited page.2D structure cleanupRequires the Open Babel adapter and gen2D operation.github.com
- Not establishedJournal drawing styles
- Yes, according to the manual: Bond and font preferences persist for reuse. Opens the cited page.Reusable custom stylesBond and font preferences persist for reuse.github.com
- Yes, according to the manual. Opens the cited page.Color controlgithub.com
- Partly: Blue selection outlines highlight atoms and bonds; exports clear selection. Opens the cited page.Color highlightingBlue selection outlines highlight atoms and bonds; exports clear selection.github.com
- Partly: Print preview offers page setup; multipage editing not verified. Opens the cited page.Page layout and multipagePrint preview offers page setup; multipage editing not verified.
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Not establishedStructure checking
- Not establishedR/S and E/Z labels
- Partly: Selection displayed C47H51NO14; no mass readout found. Opens the cited page.Formula and massSelection displayed C47H51NO14; no mass readout found.github.com
- Not establishedProperty estimates
- No: Caffeine Wikidata query failed with network error 499. Opens the cited page.Name to structureCaffeine Wikidata query failed with network error 499.github.com
- No: Only editable Name field; no naming command found. Opens the cited page.Structure to nameOnly editable Name field; no naming command found.
- Not establishedNMR prediction
- Not establishedR-groups and query structures
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- No: Caffeine Wikidata query failed with network error 499. Opens the cited page.Online structure lookupCaffeine Wikidata query failed with network error 499.github.com
- No: No 3D command in File, Edit, View, or Help. Opens the cited page.3D model viewNo 3D command in File, Edit, View, or Help.
- Partly: Open Babel imports atoms/bonds; crystal unit-cell information is discarded. Opens the cited page.Crystal structuresOpen Babel imports atoms/bonds; crystal unit-cell information is discarded.github.com
Files and exchange
- Partly: Export re-imported; reaction and mechanism arrows absent from CDXML. Opens the cited page.CDXML import and exportExport re-imported; reaction and mechanism arrows absent from CDXML.openbabel.org
- Partly: CDX import listed; no CDX save format listed. Opens the cited page.CDX import and exportCDX import listed; no CDX save format listed.
- Yes, tested by running it: Caffeine MOL opened and saved; SDF listed in formats. Opens the cited page.MOL and SDFCaffeine MOL opened and saved; SDF listed in formats.github.com
- Partly: Imported both fixtures; paclitaxel round-trip altered stereochemistry. Opens the cited page.SMILESImported both fixtures; paclitaxel round-trip altered stereochemistry.github.com
- Yes, according to the manual: Requires Open Babel's InChI support. Opens the cited page.InChIRequires Open Babel's InChI support.github.com
- Partly: Open Babel 3 imports components; reaction roles and mapping are discarded. Opens the cited page.RXN filesOpen Babel 3 imports components; reaction roles and mapping are discarded.github.com
- Yes, tested by running it: Native SVG export wrote features-test.svg. Opens the cited page.SVG exportNative SVG export wrote features-test.svg.github.com
- Yes, tested by running it: Saved through Print Preview and macOS PDF save. Opens the cited page.PDF exportSaved through Print Preview and macOS PDF save.github.com
- Partly: Default 10× scaling; 1850×1750 caffeine PNG; no DPI control. Opens the screenshot.High-resolution PNGDefault 10× scaling; 1850×1750 caffeine PNG; no DPI control.github.com
- Not establishedPaste to and from ChemDraw
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Not establishedPython API
- Not establishedJavaScript or TypeScript API
- Not establishedCommand-line tool
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- Partly: GPL-2.0-or-later; Qt/C++ integration undocumented. Opens the cited page.Embed in your own appGPL-2.0-or-later; Qt/C++ integration undocumented.github.com



