This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Glass
A JavaScript library for embedding chemical structure and reaction drawing in web pages.
Open source. 15 of 65 checklist features confirmed.
Main canvas
MOL import fails; molecule absent from screenshot.
Default drawings
SMILES and MOL imports failed; file I/O script did not load.
Caffeine
SMILES and MOL imports failed; file I/O script did not load.
Paclitaxel
No 3D view
Cholesterol in 3D
- No HTML demo was bundled; the repository was embedded in a minimal local page.
- The fileIO.js script fails to parse because index2 is declared twice.
- MOL import reports that importMol is not a function.
- Drawing changes appear, but each canvas mousedown raises an exportGlass error.
- The export dialog offers Glass, Mol2000 and SMILES; all failed.
Facts
- GitHub stars
- 1 stars on 6 Nov 2026
- First commit
- 1 Nov 2021
- Repository activity
- 13 commits, 1 contributor, last push 18 Feb 2022
- Version we tested
- Hosted, 5 Nov 2026
- Runs on
- Browser
- License
- Apache License 2.0.
- Price
- Free
- Relies on
- No third-party engine found. Custom Canvas rendering and in-house chemistry; jQuery is UI only.
- Draws with
- HTML5 Canvas 2D
- Chemistry from
- In-house JavaScript
- Interface
- jQuery with HTML/CSS
- Main language
- JavaScript
- Other languages
- None
- Renderer
- Original: Glass Canvas 2D renderer
- Third-party licenses
- Not established
- Requires webpage integration and jQuery; no tagged releases or packaged application.
- The expected GitHub Pages demo could not be reached on 2026-11-05.
- Main-branch fileIO.js has a duplicate let declaration that prevents JavaScript parsing.
In use
Screenshots from our test of this version.
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: Single, double, triple drawn; history raises errors. Opens the screenshot.Single, double and triple bondsSingle, double, triple drawn; history raises errors.github.com
- Partly: Wedge and hash applied; no wavy tool visible. Opens the screenshot.Wedge, hash and wavy bondsWedge and hash applied; no wavy tool visible.github.com
- Not establishedDative, hydrogen and quadruple bonds
- Partly: Switches left/right; centered rendering is automatic. Opens the cited page.Choose double-bond sideSwitches left/right; centered rendering is automatic.github.com
- Yes, tested by running it: Six-membered and benzene rings drawn. Opens the screenshot.Ring toolsSix-membered and benzene rings drawn.github.com
- Not establishedChair and Haworth rings
- Not establishedChain tool
- No: No templates beyond ring tools visible. Opens the cited page.Template libraryNo templates beyond ring tools visible.
- Not establishedSave your own templates
- Not establishedGroup abbreviations
- Partly: Periodic-table elements and charges; isotope entry is not established. Opens the cited page.Charges, isotopes and atom labelsPeriodic-table elements and charges; isotope entry is not established.github.com
- Not establishedRadicals and lone pairs
- Yes, according to the manual: Hovered atoms and bonds respond to element, charge, and stereo keys. Opens the cited page.Keyboard drawingHovered atoms and bonds respond to element, charge, and stereo keys.github.com
- Partly: Rectangle selection and movement; no rotation, flip, or selection-resize controls. Opens the cited page.Lasso select and transformsRectangle selection and movement; no rotation, flip, or selection-resize controls.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- No: Forward arrow drag failed with JavaScript error. Opens the cited page.Reaction arrowsForward arrow drag failed with JavaScript error.github.com
- No: No curved arrow tool visible. Opens the cited page.Curved mechanism arrowsNo curved arrow tool visible.
- Yes, according to the manual: Exports reaction SMILES using the first arrow and molecule positions. Opens the cited page.Machine-readable reactionsExports reaction SMILES using the first arrow and molecule positions.github.com
- Not establishedAtom mapping
- Not establishedOrbitals and symbols
Figures and layout
- Not establishedRich text captions
- Partly: Editable straight arrows only; brackets and curves are not implemented. Opens the cited page.Shapes, brackets and curvesEditable straight arrows only; brackets and curves are not implemented.github.com
- Not establishedAlign and distribute
- Not establishedGroup and ungroup
- Not established2D structure cleanup
- Not establishedJournal drawing styles
- Partly: Native drawings preserve font size and bond length; no separate presets. Opens the cited page.Reusable custom stylesNative drawings preserve font size and bond length; no separate presets.github.com
- Partly: Global color schemes only; individual object colors are not stored. Opens the cited page.Color controlGlobal color schemes only; individual object colors are not stored.github.com
- Partly: Temporary selection outlines inherit bond color; no saved highlight styling. Opens the cited page.Color highlightingTemporary selection outlines inherit bond color; no saved highlight styling.github.com
- Not establishedPage layout and multipage
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Not establishedStructure checking
- Not establishedR/S and E/Z labels
- No: No formula or mass command visible. Opens the cited page.Formula and massNo formula or mass command visible.
- Not establishedProperty estimates
- No: No name input command visible. Opens the cited page.Name to structureNo name input command visible.
- No: No naming command visible. Opens the cited page.Structure to nameNo naming command visible.
- Not establishedNMR prediction
- Not establishedR-groups and query structures
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not establishedOnline structure lookup
- No: No 3D view control visible. Opens the cited page.3D model viewNo 3D view control visible.
- Not establishedCrystal structures
Files and exchange
- No: No CDXML option in import or export dialog. Opens the cited page.CDXML import and exportNo CDXML option in import or export dialog.
- Not establishedCDX import and export
- No: MOL import and export failed; SDF not tested. Opens the cited page.MOL and SDFMOL import and export failed; SDF not tested.github.com
- No: SMILES import and export failed. Opens the cited page.SMILESSMILES import and export failed.github.com
- Not establishedInChI
- Not establishedRXN files
- No: No SVG option in export dialog. Opens the cited page.SVG exportNo SVG option in export dialog.
- No: No PDF option in export dialog. Opens the cited page.PDF exportNo PDF option in export dialog.
- No: No PNG option in export dialog. Opens the cited page.High-resolution PNGNo PNG option in export dialog.
- 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 JavaScript constructor and configuration options. Opens the cited page.JavaScript or TypeScript APIDocumented JavaScript constructor and configuration options.github.com
- Not establishedCommand-line tool
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Partly: Custom disconnection rules accepted through the JavaScript API. Opens the cited page.PluginsCustom disconnection rules accepted through the JavaScript API.raw.githubusercontent.com
- Partly: Current main has syntax error; pin earlier revision. Opens the cited page.Embed in your own appCurrent main has syntax error; pin earlier revision.github.com



