This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
WebMolKit
A TypeScript toolkit for embedding molecular sketching, chemical rendering, file conversion, and cheminformatics in web applications.
Open source. 27 of 65 checklist features confirmed.
Main canvas
Default drawings
- The repository's sketcher example was served locally after a Bun build.
- The demo and research file did not show a version; package metadata says 2.0.11.
- The demo copies SVG and MOL text to the clipboard rather than downloading files.
- The default editor shows molecular formula and mass in the upper right.
- Imported paclitaxel displayed colored atom labels and stereochemistry descriptors.
Facts
- GitHub stars
- 38 stars on 6 Nov 2026
- First commit
- 7 Aug 2016
- Repository activity
- 658 commits, 1 contributor, last push 3 Nov 2026
- Version we tested
- 2.0.11
- Runs on
- Browser
- License
- Apache License 2.0.
- Price
- Free
- Relies on
- No third-party engine found. Self-contained TypeScript sketcher and chemistry implementation; no external runtime dependencies.
- Draws with
- In-house MetaVector renderer using HTML Canvas 2D and SVG.
- Chemistry from
- In-house WebMolKit chemistry toolkit.
- Interface
- Custom TypeScript widgets and browser DOM.
- Main language
- TypeScript
- Other languages
- None
- Renderer
- Original: WebMolKit DrawMolecule / ArrangeMolecule / MetaVector
- Third-party licenses
- Not established
- Library integration is required to build a complete application.
- Documentation is mainly source comments and examples.
- SMILES output omits stereochemistry.
In use
Screenshots from our test of this version.

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

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

Dative, hydrogen and quadruple bonds
Bond context menu includes bond orders zero through four.

Ring tools
A benzene ring and the ring template palette.

Chair and Haworth rings
Ring template palette with a chair-shaped ring.

Template library
Functional group template palette beside the drawing canvas.

Group abbreviations
A Bu group label and abbreviation controls in the toolbar.

Charges, isotopes and atom labels
Edit Atom dialog with symbol, charge, and isotope settings.

Radicals and lone pairs
Edit Atom dialog with an unpaired electron setting.

Atom mapping
Edit Atom dialog with a mapping field.

R/S and E/Z labels
Molecular structure annotated with R and S stereochemical labels.

Formula and mass
Caffeine structure with molecular formula and mass at upper right.
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. Opens the screenshot.Single, double and triple bondsDrew single, double, and triple bonds.github.com
- Yes, tested by running it: Drew solid wedge, hashed wedge, and wavy bonds. Opens the screenshot.Wedge, hash and wavy bondsDrew solid wedge, hashed wedge, and wavy bonds.github.com
- Yes, according to the manual: Zero-order coordination and quadruple bonds. Opens the cited page.Dative, hydrogen and quadruple bondsZero-order coordination and quadruple bonds.github.com
- Not establishedChoose double-bond side
- Yes, tested by running it: Drew aliphatic and aromatic six-membered rings. Opens the screenshot.Ring toolsDrew aliphatic and aromatic six-membered rings.github.com
- Yes, seen in the app: Chair-shaped ring template visible. Opens the screenshot.Chair and Haworth ringsChair-shaped ring template visible.
- Not establishedChain tool
- Yes, according to the manual: Functional groups, protecting groups, ligands, biomolecules, and other structures. Opens the cited page.Template libraryFunctional groups, protecting groups, ligands, biomolecules, and other structures.github.com
- Not establishedSave your own templates
- Yes, according to the manual. Opens the cited page.Group abbreviationsgithub.com
- Yes, according to the manual. Opens the cited page.Charges, isotopes and atom labelsgithub.com
- Yes, according to the manual: Unpaired-electron counts produce radical dots. Opens the cited page.Radicals and lone pairsUnpaired-electron counts produce radical dots.github.com
- Partly: Shortcuts target clicked or selected atoms and bonds. Opens the cited page.Keyboard drawingShortcuts target clicked or selected atoms and bonds.github.com
- Yes, according to the manual: Lasso selection; rotate, flip, and scale selected atoms. Opens the cited page.Lasso select and transformsLasso selection; rotate, flip, and scale selected atoms.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- Partly: Forward arrows through reaction rendering API; additional arrow types unverified. Opens the cited page.Reaction arrowsForward arrows through reaction rendering API; additional arrow types unverified.github.com
- No: No curved arrow tool found in sketcher demo. Opens the cited page.Curved mechanism arrowsNo curved arrow tool found in sketcher demo.
- Yes, according to the manual: Native DataSheet reactions store reactant, reagent, and product molecules. Opens the cited page.Machine-readable reactionsNative DataSheet reactions store reactant, reagent, and product molecules.github.com
- Yes, according to the manual: Manual atom-map numbers; reaction renderer displays mapping labels. Opens the cited page.Atom mappingManual atom-map numbers; reaction renderer displays mapping labels.github.com
- Not establishedOrbitals and symbols
Figures and layout
- Not establishedRich text captions
- Not establishedShapes, brackets and curves
- Not establishedAlign and distribute
- Not establishedGroup and ungroup
- Not established2D structure cleanup
- Partly: Generic publication preset; named journal presets unverified. Opens the cited page.Journal drawing stylesGeneric publication preset; named journal presets unverified.github.com
- Partly: Reusable rendering policies via API; style-saving interface unverified. Opens the cited page.Reusable custom stylesReusable rendering policies via API; style-saving interface unverified.github.com
- Yes, according to the manual: Per-atom and per-bond overrides through the rendering API. Opens the cited page.Color controlPer-atom and per-bond overrides through the rendering API.github.com
- Yes, according to the manual: Rendering API provides translucent colored atom circles, preserved in SVG. Opens the cited page.Color highlightingRendering API provides translucent colored atom circles, preserved in SVG.github.com
- Not establishedPage layout and multipage
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Not establishedStructure checking
- Yes, tested by running it: R/S descriptors appeared on imported paclitaxel. Opens the screenshot.R/S and E/Z labelsR/S descriptors appeared on imported paclitaxel.github.com
- Yes, tested by running it: Caffeine displayed C8H10N4O2 and 194.19. Opens the screenshot.Formula and massCaffeine displayed C8H10N4O2 and 194.19.github.com
- Not establishedProperty estimates
- No: Pasting caffeine was rejected; no name input found. Opens the cited page.Name to structurePasting caffeine was rejected; no name input found.
- No: No naming command found in sketcher demo. Opens the cited page.Structure to nameNo naming command found in sketcher demo.
- Not establishedNMR prediction
- Yes, according to the manual: Query atom lists and excluded elements. Opens the cited page.R-groups and query structuresQuery atom lists and excluded elements.github.com
- Yes, according to the manual. Opens the cited page.Polymers and repeat unitsgithub.com
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not establishedOnline structure lookup
- No: No rotatable 3D view found in sketcher demo. Opens the cited page.3D model viewNo rotatable 3D view found in sketcher demo.
- Not establishedCrystal structures
Files and exchange
- No: No CDXML import or export command found. Opens the cited page.CDXML import and exportNo CDXML import or export command found.
- Not establishedCDX import and export
- Yes, tested by running it: Pasted MOL and SDF; copied MDL MOL. Opens the cited page.MOL and SDFPasted MOL and SDF; copied MDL MOL.github.com
- No: SMILES paste rejected; no SMILES export control found. Opens the cited page.SMILESSMILES paste rejected; no SMILES export control found.github.com
- Not establishedInChI
- Not establishedRXN files
- Yes, tested by running it: Copy SVG button produced SVG text. Opens the cited page.SVG exportCopy SVG button produced SVG text.github.com
- No: No PDF export command found in sketcher demo. Opens the cited page.PDF exportNo PDF export command found in sketcher demo.
- No: No PNG export command found in sketcher demo. Opens the cited page.High-resolution PNGNo PNG export command found in sketcher demo.
- Not establishedPaste to and from ChemDraw
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Not establishedPython API
- Yes, according to the manual: Documented sketcher and clipboard API examples. Opens the cited page.JavaScript or TypeScript APIDocumented sketcher and clipboard API examples.github.com
- Not establishedCommand-line tool
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Yes, according to the manual: SketcherPlugins callbacks extend paste handling and fragment composition. Opens the cited page.PluginsSketcherPlugins callbacks extend paste handling and fragment composition.github.com
- Yes, according to the manual: Import Sketcher or load webmolkit.js; setup(), then render into container. Opens the cited page.Embed in your own appImport Sketcher or load webmolkit.js; setup(), then render into container.github.com
