This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
MolCanvas
A chemical structure editor for drawing organic molecules, reaction schemes, and polymer repeat units.
Source available. 33 of 65 checklist features confirmed.
Main canvas
Default drawings
- Default app canvas is dark with coloured heteroatoms.
- SMILES import automatically lays out and selects each structure.
- Paclitaxel displays wedge and hashed bonds without cleanup.
- SVG exports crop to the structure and use dark bonds.
- Cholesterol 3D SDF opens on the 2D canvas with explicit hydrogens.
Facts
- GitHub stars
- 6 stars on 6 Nov 2026
- First commit
- 23 Oct 2026
- Repository activity
- 47 commits, 3 contributors, last push 4 Nov 2026
- Latest version
- untagged-db1f52e99abd1bd7cd7b
- Version we tested
- 0.4.0
- Runs on
- macOS, Browser
- License
- Free to use; current code requires permission for modification or redistribution. Versions through v0.3.0 retain MIT licensing.
- Price
- Free
- Relies on
- OpenChemLib. Own SVG editor and renderer; OpenChemLib supplies molecular chemistry, conversion and coordinates.
- Draws with
- Custom SVG renderer for screen and vector export; HTML canvas rasterization for PNG
- Chemistry from
- OpenChemLib
- Interface
- Browser DOM/SVG interface; Tauri desktop shell using system WebKit
- Main language
- TypeScript
- Other languages
- Rust: Tauri desktop shell and native commands; JavaScript: OpenChemLib chemistry library
- Renderer
- Original: MolCanvas SVG renderer
- Third-party licenses
- Includes BSD-3-Clause (OpenChemLib).
- Download
- 3.2 MB
- Installed
- 5.6 MB
- Current source license restricts modification, redistribution and self-hosting.
- CDXML import omits curved arrows, shapes, query atoms and embedded objects.
- macOS minimum conflicts: release notes say 11+, app configuration requires 12+.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Single, double, and triple bonds on the canvas.

Wedge, hash and wavy bonds
Solid wedge, hashed wedge, and wavy bonds on the canvas.

Ring tools
Benzene and cyclohexane rings on the canvas.

Chain tool
A zig-zag chain on the canvas.

Template library
Structure library showing rings and fused-ring templates.

Lasso select and transforms
Selected caffeine structure and box-selection instructions.

Reaction arrows
Four reaction arrow styles on the canvas.

Color control
Caffeine structure with blue nitrogen and red oxygen labels.

Formula and mass
Caffeine structure with molecular formula and mass.

Property estimates
Caffeine structure with cLogP and TPSA values.

Structure to name
Caffeine structure with its PubChem name and CID.

Polymers and repeat units
Polymer tools panel with a repeat-unit command.

SMILES
Caffeine structure and its displayed SMILES string.

High-resolution PNG
PNG image of a caffeine structure.
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; changed to double and triple. Opens the screenshot.Single, double and triple bondsDrew single; changed to double and triple.github.com
- Yes, tested by running it: Drew wedge, hashed and wavy bonds. Opens the screenshot.Wedge, hash and wavy bondsDrew wedge, hashed and wavy bonds.github.com
- No: Dative becomes single; hydrogen and ionic bonds explicitly unsupported. Opens the cited page.Dative, hydrogen and quadruple bondsDative becomes single; hydrogen and ionic bonds explicitly unsupported.github.com
- Partly: Automatic side placement only; no manual side setting. Opens the cited page.Choose double-bond sideAutomatic side placement only; no manual side setting.github.com
- Yes, tested by running it: Placed benzene and cyclohexane using dedicated tools. Opens the screenshot.Ring toolsPlaced benzene and cyclohexane using dedicated tools.github.com
- Not establishedChair and Haworth rings
- Yes, tested by running it: Dragging created a six-bond zig-zag carbon chain. Opens the screenshot.Chain toolDragging created a six-bond zig-zag carbon chain.github.com
- Yes, tested by running it: Stamped naphthalene from the built-in library. Opens the screenshot.Template libraryStamped naphthalene from the built-in library.github.com
- Not establishedSave your own templates
- Yes, according to the manual. Opens the cited page.Group abbreviationsgithub.com
- Partly: Elements and charges editable; isotopes supported through import only. Opens the cited page.Charges, isotopes and atom labelsElements and charges editable; isotopes supported through import only.github.com
- Yes, according to the manual. Opens the cited page.Radicals and lone pairsgithub.com
- Yes, according to the manual. Opens the cited page.Keyboard drawinggithub.com
- Partly: Box selection, rotation and flips; no lasso or object resizing. Opens the cited page.Lasso select and transformsBox selection, rotation and flips; no lasso or object resizing.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- Yes, tested by running it: Drew forward, equilibrium, retrosynthesis and resonance arrows. Opens the screenshot.Reaction arrowsDrew forward, equilibrium, retrosynthesis and resonance arrows.github.com
- No: Curved arrows explicitly cannot be represented. Opens the cited page.Curved mechanism arrowsCurved arrows explicitly cannot be represented.github.com
- Yes, according to the manual: CDXML export identifies chemical reactants and products. Opens the cited page.Machine-readable reactionsCDXML export identifies chemical reactants and products.github.com
- No: Atom mapping is on the roadmap. Opens the cited page.Atom mappingAtom mapping is on the roadmap.github.com
- Not establishedOrbitals and symbols
Figures and layout
- Partly: Automatic subscripts; fixed font and no superscript formatting. Opens the cited page.Rich text captionsAutomatic subscripts; fixed font and no superscript formatting.github.com
- Partly: Polymer brackets supported; general shapes and curves unsupported. Opens the cited page.Shapes, brackets and curvesPolymer brackets supported; general shapes and curves unsupported.github.com
- Not establishedAlign and distribute
- Not establishedGroup and ungroup
- Yes, according to the manual: Regenerates selected or whole structure coordinates through OpenChemLib. Opens the cited page.2D structure cleanupRegenerates selected or whole structure coordinates through OpenChemLib.github.com
- Partly: Fixed ACS 1996 formatting applies only to CDXML export. Opens the cited page.Journal drawing stylesFixed ACS 1996 formatting applies only to CDXML export.github.com
- Not establishedReusable custom styles
- Partly: Fixed element palette toggle; no individual object color settings. Opens the cited page.Color controlFixed element palette toggle; no individual object color settings.github.com
- Partly: Blue selection halos only; exports explicitly remove selection and hover. Opens the cited page.Color highlightingBlue selection halos only; exports explicitly remove selection and hover.github.com
- Not establishedPage layout and multipage
- No: Embedded raster objects are unsupported and skipped. Opens the cited page.Imported picturesEmbedded raster objects are unsupported and skipped.github.com
- No: TLC plates and tables are explicitly unsupported and skipped. Opens the cited page.TLC plates and tablesTLC plates and tables are explicitly unsupported and skipped.github.com
Chemistry intelligence
- Yes, according to the manual: Valence problems are collected for on-canvas warnings. Opens the cited page.Structure checkingValence problems are collected for on-canvas warnings.github.com
- Not establishedR/S and E/Z labels
- Yes, tested by running it: Caffeine: C8H10N4O2, 194.19 g/mol; exact mass also shown. Opens the screenshot.Formula and massCaffeine: C8H10N4O2, 194.19 g/mol; exact mass also shown.github.com
- Yes, tested by running it: Caffeine cLogP -0.18 and TPSA 58.4 square angstroms displayed. Opens the screenshot.Property estimatesCaffeine cLogP -0.18 and TPSA 58.4 square angstroms displayed.github.com
- Yes, tested by running it: Typing caffeine fetched and drew its structure from PubChem. Opens the cited page.Name to structureTyping caffeine fetched and drew its structure from PubChem.github.com
- Yes, tested by running it: Caffeine identified as 1,3,7-trimethylpurine-2,6-dione, CID 2519. Opens the screenshot.Structure to nameCaffeine identified as 1,3,7-trimethylpurine-2,6-dione, CID 2519.github.com
- No: NMR shift prediction is on the roadmap. Opens the cited page.NMR predictionNMR shift prediction is on the roadmap.github.com
- No: Query atoms explicitly cannot be represented. Opens the cited page.R-groups and query structuresQuery atoms explicitly cannot be represented.github.com
- Yes, according to the manual: Repeat-unit chemistry, block counts and monomer-to-polymer conversion. Opens the cited page.Polymers and repeat unitsRepeat-unit chemistry, block counts and monomer-to-polymer conversion.github.com
- Partly: Amino-acid and biomolecule template categories; no sequence editor seen. Opens the cited page.Peptides and nucleic acidsAmino-acid and biomolecule template categories; no sequence editor seen.
- Not establishedImage to structure
- Yes, tested by running it: Caffeine lookup fetched its structure through PubChem. Opens the cited page.Online structure lookupCaffeine lookup fetched its structure through PubChem.github.com
- No: 3D SDF opens on 2D canvas; no viewer control found. Opens the cited page.3D model view3D SDF opens on 2D canvas; no viewer control found.
- Not establishedCrystal structures
Files and exchange
- Yes, tested by running it: Exported caffeine CDXML and re-imported it successfully. Opens the cited page.CDXML import and exportExported caffeine CDXML and re-imported it successfully.github.com
- No: Binary CDX support is on the roadmap. Opens the cited page.CDX import and exportBinary CDX support is on the roadmap.github.com
- Yes, tested by running it: Imported MOL and SDF; exported V2000 MOL and 3D SDF. Opens the cited page.MOL and SDFImported MOL and SDF; exported V2000 MOL and 3D SDF.github.com
- Yes, tested by running it: Pasted fixture SMILES and saved a .smi export. Opens the screenshot.SMILESPasted fixture SMILES and saved a .smi export.github.com
- No: InChI and InChIKey are on the roadmap. Opens the cited page.InChIInChI and InChIKey are on the roadmap.github.com
- Not establishedRXN files
- Yes, tested by running it: Saved default SVG exports for caffeine and paclitaxel. Opens the cited page.SVG exportSaved default SVG exports for caffeine and paclitaxel.github.com
- No: No PDF menu option; Command-P produced no response. Opens the cited page.PDF exportNo PDF menu option; Command-P produced no response.
- Partly: Default PNG saved at 800x868 pixels; no DPI metadata. Opens the screenshot.High-resolution PNGDefault PNG saved at 800x868 pixels; no DPI metadata.github.com
- Partly: Text CDXML/MOL/SMILES only; native ChemDraw clipboard formats unsupported. Opens the cited page.Paste to and from ChemDrawText CDXML/MOL/SMILES only; native ChemDraw clipboard formats unsupported.github.com
- 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
- Not established: Hosted editor available; supported embedding integration unconfirmed.Embed in your own appHosted editor available; supported embedding integration unconfirmed.github.com

