This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Chematic Draw
Desktop chemical structure editor for drawing molecules and reaction schemes and exporting chemical files and figures.
Open source. 38 of 65 checklist features confirmed.
Main canvas
Default drawings
- Tested the hosted playground, not the richer desktop application.
- Default dark canvas used black labels with poor contrast.
- Fit enlarged caffeine enough to clip a label; zooming out revealed it.
- Paclitaxel and cholesterol MOL exports lost input stereochemistry.
- Cholesterol SMILES export also lost stereochemistry; 3D viewport clipped the model.
Facts
- GitHub stars
- 3 stars on 6 Nov 2026
- First commit
- 6 Jun 2026
- Repository activity
- 352 commits, 1 contributor, last push 8 Oct 2026
- Latest version
- v1.0.14
- Version we tested
- chematic 1.0.38 (build inde…
- Runs on
- macOS, Windows, Linux, Browser
- License
- MIT, as declared in the application manifest.
- Price
- Free
- Relies on
- No third-party engine found. Custom Canvas 2D editor; chemistry uses the author's chematic Rust/WASM toolkit.
- Draws with
- Custom HTML Canvas 2D on screen; chematic SVG depiction for exports, with Electron printToPDF for PDF.
- Chemistry from
- chematic Rust toolkit compiled to WebAssembly; v1.0.31 in release v1.0.14.
- Interface
- Electron and React
- Main language
- TypeScript
- Other languages
- Rust: WebAssembly chemistry and SVG depiction; JavaScript: ChemSpider remote API host adapter
- Renderer
- Original: Chematic CanvasRenderer and SVG renderers
- Third-party licenses
- Electron/Chromium notices list LGPL/MPL/APSL/EPL copyleft, OFL-1.1 fonts, and EasyList data under GPL-3.0-or-later OR CC-BY-SA-3.0-or-later.
- Download
- 128 MB
- CDXML exchange covers a subset; advanced presentation can be lost.
- InChI generation is approximate; PubChem lookup can miss existing compounds.
- Publication layout needs manual review; PNG export has no DPI control.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Bond tools and a structure with single and double bonds.

Ring tools
Ring tools beside a structure containing several rings.

Charges, isotopes and atom labels
Atom properties show element, charge, and isotope controls.

Structure checking
The validation panel reports no errors beside a structure.

3D model view
The 3D panel displays a clipped molecular model.

MOL and SDF
The downloads list includes a completed MOL file.

SVG export
The downloads list includes completed SVG files.

High-resolution PNG
The downloads list includes a completed PNG 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: Keyboard added nitrogen bonded to carbon; templates contained multiple bonds. Opens the screenshot.Single, double and triple bondsKeyboard added nitrogen bonded to carbon; templates contained multiple bonds.github.com
- Partly: Wedge tool selected; stereochemical SMILES exported without stereo. Opens the cited page.Wedge, hash and wavy bondsWedge tool selected; stereochemical SMILES exported without stereo.github.com
- No: Accepted bond orders are single, double, triple and aromatic. Opens the cited page.Dative, hydrogen and quadruple bondsAccepted bond orders are single, double, triple and aromatic.github.com
- No: Double bonds are always centered. Opens the cited page.Choose double-bond sideDouble bonds are always centered.github.com
- Yes, tested by running it: Benzene template inserted a six-membered ring. Opens the screenshot.Ring toolsBenzene template inserted a six-membered ring.github.com
- Not establishedChair and Haworth rings
- Not establishedChain tool
- Yes, tested by running it: Inserted benzene from Templates panel. Opens the cited page.Template libraryInserted benzene from Templates panel.github.com
- Not establishedSave your own templates
- Not establishedGroup abbreviations
- Yes, tested by running it: Keyboard added a nitrogen atom. Opens the screenshot.Charges, isotopes and atom labelsKeyboard added a nitrogen atom.github.com
- Not establishedRadicals and lone pairs
- Yes, tested by running it: Shift+N added a bonded atom. Opens the cited page.Keyboard drawingShift+N added a bonded atom.github.com
- Partly: Rectangular selection, rotation and flips; no resize transform. Opens the cited page.Lasso select and transformsRectangular selection, rotation and flips; no resize transform.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- Partly: Selected arrow tool; canvas click did not place an arrow. Opens the cited page.Reaction arrowsSelected arrow tool; canvas click did not place an arrow.github.com
- Partly: Add Arrow entered source selection; no completed arrow verified. Opens the cited page.Curved mechanism arrowsAdd Arrow entered source selection; no completed arrow verified.github.com
- Yes, according to the manual: Reaction JSON preserves steps; RXN V2000 supports one step. Opens the cited page.Machine-readable reactionsReaction JSON preserves steps; RXN V2000 supports one step.github.com
- Yes, according to the manual: Atom-map numbers can be assigned manually. Opens the cited page.Atom mappingAtom-map numbers can be assigned manually.github.com
- Not establishedOrbitals and symbols
Figures and layout
- Partly: Plain text annotations only; fixed font without subscript/superscript controls. Opens the cited page.Rich text captionsPlain text annotations only; fixed font without subscript/superscript controls.github.com
- Partly: Text, arrows and brackets; no general shape or curve tools. Opens the cited page.Shapes, brackets and curvesText, arrows and brackets; no general shape or curve tools.github.com
- Partly: Aligns/distributes selected atoms; no whole-object layout. Opens the cited page.Align and distributeAligns/distributes selected atoms; no whole-object layout.github.com
- No: Group controls are inactive; imported groups have limited editing. Opens the cited page.Group and ungroupGroup controls are inactive; imported groups have limited editing.github.com
- Yes, according to the manual: Clean Up Structure command is available. Opens the cited page.2D structure cleanupClean Up Structure command is available.github.com
- Not establishedJournal drawing styles
- Not establishedReusable custom styles
- No: Colors controls are inactive. Opens the cited page.Color controlColors controls are inactive.github.com
- Partly: Orange atom selection backgrounds only; exports omit them. Opens the cited page.Color highlightingOrange atom selection backgrounds only; exports omit them.github.com
- Partly: CDXML multipage interchange; page-layout editing is not established. Opens the cited page.Page layout and multipageCDXML multipage interchange; page-layout editing is not established.github.com
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: Validates chemical valence and reports structure errors. Opens the cited page.Structure checkingValidates chemical valence and reports structure errors.github.com
- Yes, according to the manual: Computes R/S and E/Z; ambiguous assignments are omitted. Opens the cited page.R/S and E/Z labelsComputes R/S and E/Z; ambiguous assignments are omitted.github.com
- Yes, tested by running it: Caffeine showed C8H10N4O2 and 194.19. Opens the cited page.Formula and massCaffeine showed C8H10N4O2 and 194.19.github.com
- Yes, tested by running it: Property panel displayed MW, LogP, and ring count. Opens the cited page.Property estimatesProperty panel displayed MW, LogP, and ring count.github.com
- Yes, according to the manual: Desktop ChemSpider lookup requires configured API access and network. Opens the cited page.Name to structureDesktop ChemSpider lookup requires configured API access and network.github.com
- Partly: Research identifiers showed an empty IUPAC Name field. Opens the cited page.Structure to nameResearch identifiers showed an empty IUPAC Name field.github.com
- No: Prediction is explicitly unimplemented; peak import and manual annotation exist. Opens the cited page.NMR predictionPrediction is explicitly unimplemented; peak import and manual annotation exist.github.com
- Yes, according to the manual: Supports atom lists, wildcards, Markush and R-group query data. Opens the cited page.R-groups and query structuresSupports atom lists, wildcards, Markush and R-group query data.github.com
- Yes, according to the manual: Semantic repeat units support bounded two-attachment expansion. Opens the cited page.Polymers and repeat unitsSemantic repeat units support bounded two-attachment expansion.github.com
- Partly: Nucleic-acid residue metadata editing; no sequence-to-structure builder established. Opens the cited page.Peptides and nucleic acidsNucleic-acid residue metadata editing; no sequence-to-structure builder established.github.com
- Not establishedImage to structure
- Yes, according to the manual: Fetches importable SMILES; approximate InChIKeys can miss PubChem matches. Opens the cited page.Online structure lookupFetches importable SMILES; approximate InChIKeys can miss PubChem matches.github.com
- Partly: Generated cholesterol model; viewport clipped it severely. Opens the screenshot.3D model viewGenerated cholesterol model; viewport clipped it severely.github.com
- Not establishedCrystal structures
Files and exchange
- Partly: Reads/writes a subset; advanced presentation is not preserved losslessly. Opens the cited page.CDXML import and exportReads/writes a subset; advanced presentation is not preserved losslessly.github.com
- Not establishedCDX import and export
- Partly: MOL export worked; Open dialog disabled fixture MOL and SDF. Opens the screenshot.MOL and SDFMOL export worked; Open dialog disabled fixture MOL and SDF.github.com
- Partly: Paste and export worked; cholesterol export lost stereochemistry. Opens the cited page.SMILESPaste and export worked; cholesterol export lost stereochemistry.github.com
- Partly: Research panel displayed explicitly approximate InChI and derived InChIKey. Opens the cited page.InChIResearch panel displayed explicitly approximate InChI and derived InChIKey.github.com
- Yes, according to the manual: One-step RXN V2000; agents and coefficients require loss confirmation. Opens the cited page.RXN filesOne-step RXN V2000; agents and coefficients require loss confirmation.github.com
- Yes, tested by running it: SVG downloaded for caffeine, paclitaxel, and cholesterol. Opens the screenshot.SVG exportSVG downloaded for caffeine, paclitaxel, and cholesterol.github.com
- No: Export shortcut referred to unavailable File menu; no PDF control. Opens the cited page.PDF exportExport shortcut referred to unavailable File menu; no PDF control.github.com
- Yes, tested by running it: PNG downloaded for caffeine. Opens the screenshot.High-resolution PNGPNG downloaded for caffeine.github.com
- No: Clipboard accepts text/plain only; native ChemDraw objects are unsupported. Opens the cited page.Paste to and from ChemDrawClipboard accepts text/plain only; native ChemDraw objects are unsupported.github.com
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Not establishedPython API
- Yes, according to the manual: Documented TypeScript/WASM bridge and public Web Component package. Opens the cited page.JavaScript or TypeScript APIDocumented TypeScript/WASM bridge and public Web Component package.github.com
- Not establishedCommand-line tool
- Not establishedAI agent control
- No: Chat only answers keyword queries; cannot propose or edit drawings. Opens the cited page.Built-in AI assistantChat only answers keyword queries; cannot propose or edit drawings.github.com
Embedding and extension
- Yes, according to the manual: In-process extension registration only; third-party bundle loading is disabled. Opens the cited page.PluginsIn-process extension registration only; third-party bundle loading is disabled.github.com
- Partly: Unpublished source package; basic editing only; host supplies controls. Opens the cited page.Embed in your own appUnpublished source package; basic editing only; host supplies controls.github.com


