This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Chemvas
Desktop editor for drawing molecular structures and reaction schemes and exporting publication figures.
Open source. 36 of 65 checklist features confirmed.
Main canvas
Dark native title bar; canvas and toolbar backgrounds remain light.
Default drawings
- Black bonds and atom labels on a white canvas.
- Default SVG export has a transparent background and outlined labels.
- MOL import preserves the supplied two-dimensional layout.
- Paclitaxel has closely spaced oxygen labels.
- Exported MOL atom, bond and stereo records match both fixtures.
Facts
- GitHub stars
- 0 stars on 6 Nov 2026
- First commit
- 3 Jan 2026
- Repository activity
- 683 commits, 3 contributors, last push 5 Nov 2026
- Latest version
- v0.28.0
- Version we tested
- 0.28.0
- Runs on
- macOS, Windows, Linux
- License
- MIT License
- Price
- Free
- Relies on
- No third-party engine found. Custom Qt canvas and molecular model; RDKit backend removed before v0.28.0.
- Draws with
- Qt QPainter and QGraphicsScene; QSvgGenerator and QPdfWriter for vector export
- Chemistry from
- In-house atom/bond model; no external chemistry backend
- Interface
- PyQt6 (Qt Widgets)
- Main language
- Python
- Other languages
- None
- Renderer
- Original: Chemvas Qt bond/label renderer
- Third-party licenses
- Includes GPL-3.0 (PyQt6) and LGPL-3.0 (Qt).
- Download
- 1.0 MB
- Installed
- 268 MB
- Alpha software distributed through PyPI; standalone installer acceptance remains pending.
- CDXML is limited to single pages; external edits can reduce some objects to images.
- Some guides retain obsolete CDXML export-menu entries and describe MOL as import-only.
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 and hashed bonds on the canvas.

Ring tools
A benzene ring on the canvas.

Chair and Haworth rings
A cyclohexane chair on the canvas.

Charges, isotopes and atom labels
Nitrogen and oxygen labels in a caffeine structure.

Lasso select and transforms
Selection toolbar and a selected curved arrow.

Reaction arrows
Forward and equilibrium arrows on the canvas.

Curved mechanism arrows
Curved arrows on the canvas, with one selected.

Align and distribute
Alignment and distribution controls in the selection toolbar.

MOL and SDF
A caffeine structure displayed in the simple.mol document.
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, double and triple bonds manually. Opens the screenshot.Single, double and triple bondsDrew single, double and triple bonds manually.github.com
- Partly: Drew wedge and hash bonds; no wavy bond control found. Opens the screenshot.Wedge, hash and wavy bondsDrew wedge and hash bonds; no wavy bond control found.github.com
- Not establishedDative, hydrogen and quadruple bonds
- Yes, according to the manual: Left, center and right bond-position shortcuts. Opens the cited page.Choose double-bond sideLeft, center and right bond-position shortcuts.github.com
- Yes, tested by running it: Placed benzene with the ring tool. Opens the screenshot.Ring toolsPlaced benzene with the ring tool.github.com
- Yes, tested by running it: Placed cyclohexane chair template. Opens the screenshot.Chair and Haworth ringsPlaced cyclohexane chair template.github.com
- Partly: Keyboard chain sprouting; continuous zigzag dragging is not documented. Opens the cited page.Chain toolKeyboard chain sprouting; continuous zigzag dragging is not documented.github.com
- Partly: Placed ring and chair templates; no broader library found. Opens the cited page.Template libraryPlaced ring and chair templates; no broader library found.
- Not establishedSave your own templates
- Partly: Me, Ph and tBu carry CDXML graphs; other aliases stay labels. Opens the cited page.Group abbreviationsMe, Ph and tBu carry CDXML graphs; other aliases stay labels.github.com
- Partly: Charges and arbitrary labels; molecular model lacks isotope fields. Opens the cited page.Charges, isotopes and atom labelsCharges and arbitrary labels; molecular model lacks isotope fields.github.com
- Yes, according to the manual: Dedicated Radical mark tool. Opens the cited page.Radicals and lone pairsDedicated Radical mark tool.github.com
- Yes, according to the manual: Hover shortcuts change atom labels and bond types. Opens the cited page.Keyboard drawingHover shortcuts change atom labels and bond types.github.com
- Partly: Marquee selection and transform handles; no freehand selection mode. Opens the cited page.Lasso select and transformsMarquee selection and transform handles; no freehand selection mode.github.com
- Yes, according to the manual: Drag-based perspective rotation with optional axis locking. Opens the cited page.Tilt drawings in perspectiveDrag-based perspective rotation with optional axis locking.github.com
Reactions and mechanisms
- Yes, tested by running it: Drew forward and equilibrium arrows. Opens the screenshot.Reaction arrowsDrew forward and equilibrium arrows.github.com
- Yes, tested by running it: Drew curved arrows and selected their editing handles. Opens the screenshot.Curved mechanism arrowsDrew curved arrows and selected their editing handles.github.com
- Not establishedMachine-readable reactions
- No: Reaction mapping was removed; no mapping panel remains. Opens the cited page.Atom mappingReaction mapping was removed; no mapping panel remains.github.com
- Yes, according to the manual: s, p, hybrid, d and molecular-orbital shapes. Opens the cited page.Orbitals and symbolss, p, hybrid, d and molecular-orbital shapes.github.com
Figures and layout
- Yes, according to the manual: Font family, size, weight, subscript and superscript. Opens the cited page.Rich text captionsFont family, size, weight, subscript and superscript.github.com
- Yes, according to the manual: Shape and bracket drawing tools. Opens the cited page.Shapes, brackets and curvesShape and bracket drawing tools.github.com
- Yes, according to the manual: Six alignment directions and horizontal/vertical distribution. Opens the cited page.Align and distributeSix alignment directions and horizontal/vertical distribution.github.com
- Yes, according to the manual: Group and ungroup commands. Opens the cited page.Group and ungroupGroup and ungroup commands.github.com
- Not established2D structure cleanup
- Yes, according to the manual: Default drawing style approximates ACS 1996. Opens the cited page.Journal drawing stylesDefault drawing style approximates ACS 1996.github.com
- Yes, according to the manual: Saved document styling is reused by New Canvas. Opens the cited page.Reusable custom stylesSaved document styling is reused by New Canvas.github.com
- Yes, according to the manual: Atoms, bonds, notes and charge marks color independently. Opens the cited page.Color controlAtoms, bonds, notes and charge marks color independently.github.com
- Partly: Colored hover halos are transient and excluded from figure exports. Opens the cited page.Color highlightingColored hover halos are transient and excluded from figure exports.github.com
- Partly: Standard/custom paper sizes; multipage CDXML unsupported. Opens the cited page.Page layout and multipageStandard/custom paper sizes; multipage CDXML unsupported.github.com
- Yes, according to the manual: Embed PNG/JPEG images; adjust size, opacity and layering. Opens the cited page.Imported picturesEmbed PNG/JPEG images; adjust size, opacity and layering.github.com
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: Flags questionable valences for H, B, C, N, O and F. Opens the cited page.Structure checkingFlags questionable valences for H, B, C, N, O and F.github.com
- Not establishedR/S and E/Z labels
- No: No formula or mass command in inspected menus or tools. Opens the cited page.Formula and massNo formula or mass command in inspected menus or tools.
- Not establishedProperty estimates
- No: No name conversion command in inspected menus or tools. Opens the cited page.Name to structureNo name conversion command in inspected menus or tools.
- No: No structure naming command in inspected menus or tools. Opens the cited page.Structure to nameNo structure naming command in inspected menus or tools.
- Not establishedNMR prediction
- Yes, according to the manual: Explicit generic-aryl bindings export native CDXML queries. Opens the cited page.R-groups and query structuresExplicit generic-aryl bindings export native CDXML queries.github.com
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not establishedOnline structure lookup
- No: No model view command; cholesterol SDF opening rejected. Opens the cited page.3D model viewNo model view command; cholesterol SDF opening rejected.github.com
- Not establishedCrystal structures
Files and exchange
- Yes, tested by running it: Saved caffeine CDXML, closed it, then successfully reloaded it. Opens the cited page.CDXML import and exportSaved caffeine CDXML, closed it, then successfully reloaded it.github.com
- No: Binary CDX is explicitly unsupported. Opens the cited page.CDX import and exportBinary CDX is explicitly unsupported.github.com
- Partly: MOL import/export worked; SDF opening rejected by extension warning. Opens the screenshot.MOL and SDFMOL import/export worked; SDF opening rejected by extension warning.github.com
- No: Paste timed out; canvas stayed empty; no SMILES import command. Opens the cited page.SMILESPaste timed out; canvas stayed empty; no SMILES import command.github.com
- No: Former Molecule Info identifier generation was removed. Opens the cited page.InChIFormer Molecule Info identifier generation was removed.raw.githubusercontent.com
- Not establishedRXN files
- Yes, tested by running it: Saved both fixtures with default transparent Plain SVG settings. Opens the cited page.SVG exportSaved both fixtures with default transparent Plain SVG settings.github.com
- Yes, tested by running it: Exported paclitaxel as vector PDF. Opens the cited page.PDF exportExported paclitaxel as vector PDF.github.com
- Yes, tested by running it: Exported paclitaxel PNG at default 300 DPI. Opens the cited page.High-resolution PNGExported paclitaxel PNG at default 300 DPI.github.com
- Not establishedPaste to and from ChemDraw
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Yes, according to the manual: Documented Python CDXML serialization and typed label-binding functions. Opens the cited page.Python APIDocumented Python CDXML serialization and typed label-binding functions.github.com
- Not establishedJavaScript or TypeScript API
- Yes, according to the manual: Headless document composition, inspection, patching, layout and rendering. Opens the cited page.Command-line toolHeadless document composition, inspection, patching, layout and rendering.github.com
- Yes, according to the manual: Documented agent CLI accepts structured JSON composition and patch requests. Opens the cited page.AI agent controlDocumented agent CLI accepts structured JSON composition and patch requests.github.com
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- Not established: Desktop package; browser adapter retired, editor embedding undocumented.Embed in your own appDesktop package; browser adapter retired, editor embedding undocumented.github.com

