This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Kemia
A JavaScript editor and chemistry toolkit for embedding 2D molecular structures and reactions in web pages.
Open source. 22 of 65 checklist features confirmed.
Main canvas
Paclitaxel rendering is clipped to a thin strip.
Default drawings
SMILES produced clipped labels without visible bonds; no MOL import available.
Caffeine
SMILES produced clipped labels without visible bonds; no MOL import available.
Paclitaxel
No 3D view
Cholesterol in 3D
- Hosted reaction editor loaded with a preset reaction.
- Drawings were clipped to a thin strip in WebKit and Chromium.
- The separate SMILES demo accepted caffeine and paclitaxel.
- The editor File menu offered only New.
- The name resolver produced no result for aspirin.
Facts
- GitHub stars
- 14 stars on 6 Nov 2026
- First commit
- 18 Mar 2010
- Repository activity
- 721 commits, 10 contributors, last push 13 Jun 2011
- Latest version
- v0.2
- Version we tested
- v0.2-79-gceacc9a
- Runs on
- Browser
- License
- Apache License 2.0.
- Price
- Free
- Relies on
- None linked. Ported into its own code: CDK, MX. Own canvas; CDK coordinate generation and MX ring perception are ported.
- Draws with
- Google Closure goog.graphics with SVG, VML, or HTML canvas backends
- Chemistry from
- Kemia's own JavaScript chemistry toolkit
- Interface
- Google Closure Library (goog.ui)
- Main language
- JavaScript
- Other languages
- None
- Renderer
- Original: Kemia MoleculeRenderer over Closure graphics
- Third-party licenses
- Google Closure Library: Apache-2.0; MX-derived ring code: MIT upstream. CDK-derived layout files carry Apache-2.0 notices.
- Pre-alpha software; repository last updated in June 2011.
- SMILES generation is a stub; MOL export omits charges and isotopes.
- Several capabilities require API integration; the default toolbar omits cleanup.
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
- Partly: Single, double, triple update atom labels; drawings are clipped. Opens the cited page.Single, double and triple bondsSingle, double, triple update atom labels; drawings are clipped.github.com
- Partly: Up, down, and wavy tools respond; drawings are clipped. Opens the cited page.Wedge, hash and wavy bondsUp, down, and wavy tools respond; drawings are clipped.github.com
- Partly: Quadruple bonds available; no dative option in bond menu. Opens the cited page.Dative, hydrogen and quadruple bondsQuadruple bonds available; no dative option in bond menu.github.com
- Partly: Automatic ring-interior or centered placement; no manual side selection. Opens the cited page.Choose double-bond sideAutomatic ring-interior or centered placement; no manual side selection.github.com
- Partly: Benzene tool responds; drawing is clipped. Opens the cited page.Ring toolsBenzene tool responds; drawing is clipped.github.com
- Not establishedChair and Haworth rings
- Partly: Number keys grow chains; no drag-chain tool. Opens the cited page.Chain toolNumber keys grow chains; no drag-chain tool.github.com
- Yes, according to the manual: Includes naphthalene beyond simple ring templates. Opens the cited page.Template libraryIncludes naphthalene beyond simple ring templates.github.com
- Not establishedSave your own templates
- Not establishedGroup abbreviations
- Partly: Element and charge editing; isotope labels are not rendered. Opens the cited page.Charges, isotopes and atom labelsElement and charge editing; isotope labels are not rendered.github.com
- Not establishedRadicals and lone pairs
- Yes, according to the manual: Hover an atom, then change its element or charge with shortcuts. Opens the cited page.Keyboard drawingHover an atom, then change its element or charge with shortcuts.github.com
- Partly: Molecule movement and rotation; rectangle selector remains a stub. Opens the cited page.Lasso select and transformsMolecule movement and rotation; rectangle selector remains a stub.github.com
- Not establishedTilt drawings in perspective
Reactions and mechanisms
- Partly: Forward arrow tool responds; drawing is clipped. Opens the cited page.Reaction arrowsForward arrow tool responds; drawing is clipped.github.com
- No: No curved arrow control in editor. Opens the cited page.Curved mechanism arrowsNo curved arrow control in editor.
- Yes, according to the manual: Reactants and products serialize as molecular graphs in reaction JSON. Opens the cited page.Machine-readable reactionsReactants and products serialize as molecular graphs in reaction JSON.github.com
- Not establishedAtom mapping
- Not establishedOrbitals and symbols
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: Optional coordinate-regeneration command; omitted from default toolbar. Opens the cited page.2D structure cleanupOptional coordinate-regeneration command; omitted from default toolbar.github.com
- Not establishedJournal drawing styles
- Not establishedReusable custom styles
- Partly: Element-wide palette configuration; no individual atom color control. Opens the cited page.Color controlElement-wide palette configuration; no individual atom color control.github.com
- Yes, according to the manual: Renderer API draws customizable colored halos around atoms and bonds. Opens the cited page.Color highlightingRenderer API draws customizable colored halos around atoms and bonds.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 in demo. Opens the cited page.Formula and massNo formula or mass command in demo.
- Not establishedProperty estimates
- No: Aspirin resolver returned no structure. Opens the cited page.Name to structureAspirin resolver returned no structure.github.com
- No: No naming command in demo. Opens the cited page.Structure to nameNo naming command in demo.
- Not establishedNMR prediction
- Partly: R1 placement adds accessible label; drawing clipped. Opens the cited page.R-groups and query structuresR1 placement adds accessible label; drawing clipped.github.com
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not established: NIH resolver wrapper uses a legacy external proxy; availability unverified.Online structure lookupNIH resolver wrapper uses a legacy external proxy; availability unverified.github.com
- No: No 3D view control in demos. Opens the cited page.3D model viewNo 3D view control in demos.
- Not establishedCrystal structures
Files and exchange
- No: File menu contains only New. Opens the cited page.CDXML import and exportFile menu contains only New.
- Not establishedCDX import and export
- Yes, according to the manual: MOL read/write API; SDF records split manually. Opens the cited page.MOL and SDFMOL read/write API; SDF records split manually.github.com
- Partly: Separate demo accepts SMILES; no output command; drawing clipped. Opens the cited page.SMILESSeparate demo accepts SMILES; no output command; drawing clipped.github.com
- Not established: Resolver demo accepts InChI; remote backend availability unverified.InChIResolver demo accepts InChI; remote backend availability unverified.github.com
- Yes, according to the manual: RXN reading and writing through JavaScript API. Opens the cited page.RXN filesRXN reading and writing through JavaScript API.github.com
- No: No image export command in demo. Opens the cited page.SVG exportNo image export command in demo.
- No: No PDF export command in demo. Opens the cited page.PDF exportNo PDF export command in demo.
- No: No PNG export command in demo. Opens the cited page.High-resolution PNGNo PNG export command in 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: Documents parsing, coordinate generation, and editor initialization. Opens the cited page.JavaScript or TypeScript APIDocuments parsing, coordinate generation, and editor initialization.github.com
- Not establishedCommand-line tool
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Yes, according to the manual: Documented plugin base class with event and command extension hooks. Opens the cited page.PluginsDocumented plugin base class with event and command extension hooks.github.com
- Yes, according to the manual: Load kemia.js; instantiate kemia.controller.ReactionEditor and register editing plugins. Opens the cited page.Embed in your own appLoad kemia.js; instantiate kemia.controller.ReactionEditor and register editing plugins.github.com
