This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
ChemCAD
A desktop application for sketching chemical structures, translating names, planning reactions and exploring solvent workflows.
Open source. 27 of 65 checklist features confirmed.
Main canvas
Would not run on our Mac
Would not run on our Mac
Default drawings
We could not finish testing this tool: Unmodified source build failed: src/app/screenshot.cpp:18:10: fatal error: 'GL/gl.h' file not found. macOS SDK provides OpenGL/gl.h. See build.log.
Would not run on our Mac
Caffeine
Would not run on our Mac
Paclitaxel
Would not run on our Mac
Cholesterol in 3D
- No application executable was produced; molecule and feature checks were not performed.
- Source commit: ead4420a62fdc34a9b17f0b47d51f66e8a65c90d.
- The project declares 0.1.0; no running application version could be checked.
- All 196 source files match the downloaded archive.
Facts
- GitHub stars
- 0 stars on 6 Nov 2026
- First commit
- 5 Aug 2026
- Repository activity
- 56 commits, 1 contributor, last push 25 Aug 2026
- Runs on
- Windows, Linux
- License
- MIT-licensed; bundled dependencies retain their own licenses.
- Price
- Free
- Relies on
- RDKit, CoordGen, OPSIN. Custom ImGui canvas; RDKit chemistry, CoordGen layout, OPSIN name parsing.
- Draws with
- Custom Dear ImGui ImDrawList drawing via OpenGL; RDKit MolDraw2DSVG for SVG; framebuffer capture for PNG
- Chemistry from
- RDKit; OPSIN for name-to-structure parsing
- Interface
- Dear ImGui docking with GLFW
- Main language
- C++
- Other languages
- GLSL: Fluid rendering and compute shaders
- Renderer
- Original: ChemCAD bond and label renderer
- Third-party licenses
- Includes Cairo (LGPL-2.1 or MPL-1.1, Windows), OFL-1.1 fonts, and MIT/BSD/zlib libraries; CHEM21 ratings' source article is CC-BY-NC-3.0.
- Download
- 1.9 MB
- No tagged releases or prebuilt installers; documented builds target Linux and Windows.
- Documents store molecules, without a general figure or page composition model.
- PNG captures the screen canvas; SVG uses a separate RDKit depiction.
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, according to the manual: Draw, cycle or keyboard-set single, double and triple bonds. Opens the cited page.Single, double and triple bondsDraw, cycle or keyboard-set single, double and triple bonds.github.com
- Yes, according to the manual: Solid wedge, hashed wedge and wavy bonds. Opens the cited page.Wedge, hash and wavy bondsSolid wedge, hashed wedge and wavy bonds.github.com
- Not establishedDative, hydrogen and quadruple bonds
- Not establishedChoose double-bond side
- Yes, according to the manual: Three-to-eight-member rings, benzene, cyclopentadiene and naphthalene. Opens the cited page.Ring toolsThree-to-eight-member rings, benzene, cyclopentadiene and naphthalene.github.com
- Not establishedChair and Haworth rings
- Yes, according to the manual: Dragging sets the zig-zag chain length. Opens the cited page.Chain toolDragging sets the zig-zag chain length.github.com
- Yes, according to the manual: Includes a fused naphthalene template. Opens the cited page.Template libraryIncludes a fused naphthalene template.github.com
- Not establishedSave your own templates
- Not establishedGroup abbreviations
- Partly: Elements and charges editable; canvas controls do not set isotopes. Opens the cited page.Charges, isotopes and atom labelsElements and charges editable; canvas controls do not set isotopes.github.com
- Not establishedRadicals and lone pairs
- Yes, according to the manual: Keys change hovered elements, bond orders and wedge/hash stereo. Opens the cited page.Keyboard drawingKeys change hovered elements, bond orders and wedge/hash stereo.github.com
- Partly: Rectangular selection and movement; no lasso, rotation, flip or resize. Opens the cited page.Lasso select and transformsRectangular selection and movement; no lasso, rotation, flip or resize.github.com
- Partly: Flat sketch tilts in preview; editable canvas remains two-dimensional. Opens the cited page.Tilt drawings in perspectiveFlat sketch tilts in preview; editable canvas remains two-dimensional.github.com
Reactions and mechanisms
- Not establishedReaction arrows
- Not establishedCurved mechanism arrows
- Yes, according to the manual: Project stores planner starting materials and target as SMILES. Opens the cited page.Machine-readable reactionsProject stores planner starting materials and target as SMILES.github.com
- Not establishedAtom mapping
- Partly: Interactive orbital preview, rather than placeable drawing objects. Opens the cited page.Orbitals and symbolsInteractive orbital preview, rather than placeable drawing objects.github.com
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: Clean Up Structure recomputes coordinates using CoordGen. Opens the cited page.2D structure cleanupClean Up Structure recomputes coordinates using CoordGen.github.com
- Not establishedJournal drawing styles
- Not establishedReusable custom styles
- Not establishedColor control
- Partly: Selection rings only; PNG captures them, SVG omits them. Opens the cited page.Color highlightingSelection rings only; PNG captures them, SVG omits them.github.com
- Not establishedPage layout and multipage
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: RDKit sanitization errors appear in the properties panel. Opens the cited page.Structure checkingRDKit sanitization errors appear in the properties panel.github.com
- Not establishedR/S and E/Z labels
- Yes, according to the manual: Formula and exact molecular mass computed through RDKit. Opens the cited page.Formula and massFormula and exact molecular mass computed through RDKit.github.com
- Yes, according to the manual: Computes Crippen cLogP through RDKit. Opens the cited page.Property estimatesComputes Crippen cLogP through RDKit.github.com
- Yes, according to the manual: Local OPSIN with PubChem fallback; results cached. Opens the cited page.Name to structureLocal OPSIN with PubChem fallback; results cached.github.com
- Partly: PubChem IUPAC lookup only; unmatched structures return not found. Opens the cited page.Structure to namePubChem IUPAC lookup only; unmatched structures return not found.github.com
- Not establishedNMR prediction
- Not establishedR-groups and query structures
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Yes, according to the manual: Fetches structures from PubChem when resolving chemical names. Opens the cited page.Online structure lookupFetches structures from PubChem when resolving chemical names.github.com
- Yes, according to the manual: Rotatable structure preview; omitted from README interface table. Opens the cited page.3D model viewRotatable structure preview; omitted from README interface table.github.com
- Not establishedCrystal structures
Files and exchange
- Not establishedCDXML import and export
- Not establishedCDX import and export
- Yes, according to the manual: MOL read/write; SDF import uses a single MolBlock parser. Opens the cited page.MOL and SDFMOL read/write; SDF import uses a single MolBlock parser.github.com
- Yes, according to the manual: Canonical SMILES copy and editable structure paste. Opens the cited page.SMILESCanonical SMILES copy and editable structure paste.github.com
- Not establishedInChI
- Not establishedRXN files
- Yes, according to the manual: RDKit vector export; omitted from README I/O summary. Opens the cited page.SVG exportRDKit vector export; omitted from README I/O summary.github.com
- Not establishedPDF export
- Partly: Captures display pixels; no independent print-resolution rendering. Opens the cited page.High-resolution PNGCaptures display pixels; no independent print-resolution rendering.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
- Yes, according to the manual: Optional API-key route planner; proposed products can enter editable canvas. Opens the cited page.Built-in AI assistantOptional API-key route planner; proposed products can enter editable canvas.github.com
Embedding and extension
- Yes, according to the manual: Data-only extension mechanism: add reaction templates as JSON. Opens the cited page.PluginsData-only extension mechanism: add reaction templates as JSON.github.com
- Partly: README says an ImGui app can host it, with no steps. C++20 source build. Opens the cited page.Embed in your own appREADME says an ImGui app can host it, with no steps. C++20 source build.github.com