This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Reactio Draw
An editor for drawing chemical structures, reaction schemes and publication figures.
Open source. 58 of 65 checklist features confirmed.
Official demo
Main canvas
Dark interface; canvas remains white.
Default drawings
- Default ACS style used colored heteroatoms and a visible grid.
- SMILES import required clicking the sheet to place each structure.
- Caffeine and paclitaxel exports preserved fixture identity and stereochemistry.
- Paclitaxel's default layout triggered a ring-stereobond warning.
- Cholesterol 3D generation inverted its hydroxyl stereocenter; rotation restored it.
- Native cholesterol model stores depth coordinates; MOL export flattens them to zero Z.
Facts
- GitHub stars
- 30 stars on 6 Nov 2026
- First commit
- 18 Oct 2026
- Repository activity
- 83 commits, 1 contributor, last push 5 Nov 2026
- Latest version
- v1.11
- Version we tested
- 1.10
- Runs on
- Browser
- License
- Free software under GNU AGPL version 3 or later.
- Price
- Free
- Relies on
- OpenChemLib, InChI, OPSIN, Octet Draw, openclatura, RDKit. Original SVG canvas; Octet supplies naming; openclatura and RDKit are optional desktop helpers.
- Draws with
- Custom SVG renderer; HTML canvas for PNG/TIFF and custom vector EPS export
- Chemistry from
- In-house with OpenChemLib, InChI, OPSIN and Octet Draw naming
- Interface
- Vanilla HTML/CSS/JavaScript with native desktop webview wrappers
- Main language
- JavaScript
- Other languages
- Go: Windows/Linux wrappers and MCP server; Swift: macOS WebKit wrapper; Python: Optional naming and image recognition; Java: Desktop OPSIN fallback; C: InChI compiled to WebAssembly; VBA: Word add-in
- Renderer
- Original: In-house SVG renderer
- Third-party licenses
- Desktop OPSIN bundles jna-inchi (LGPL-2.1-or-later) and JNA (Apache-2.0 OR LGPL-2.1). NMR data requires database share-alike and OSI-licensed reliant software; ChEBI drawings require CC BY 4.0 attribution. Other bundled components use permissive licenses.
- Download
- 24 MB
- Installed
- 27 MB
- macOS installation builds the app locally and requires Apple's Command Line Tools.
- Local API/MCP require a separate add-on; image recognition additionally requires MolScribe.
- Some naming guides still require desktop Java; v1.10 includes browser-based OPSIN.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Bond examples and ring structures on the drawing canvas.

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

Ring tools
Benzene and cyclohexane drawings beside the ring tools.

Chair and Haworth rings
Bridged and chair-shaped structure templates in the left palette.

Template library
Bridged structure palette and an adamantane drawing.

Keyboard drawing
Hotkeys for changing atoms while pointing at them.

Lasso select and transforms
Selected ethanol structure with resize and rotation handles.

Tilt drawings in perspective
Cholesterol drawing with the rotation tool selected.

Reaction arrows
Forward and equilibrium arrows on the canvas.

Curved mechanism arrows
Curved arrow on the drawing canvas.

Machine-readable reactions
Reaction drawing with reaction SMILES in the analysis panel.

Rich text captions
Font, bold, italic, subscript, and superscript controls.

Structure checking
Highlighted ring bond and a stereobond warning.

R/S and E/Z labels
Analysis panel includes a checkbox for R/S and E/Z labels.

Formula and mass
Caffeine drawing alongside molecular weight and exact mass.

Property estimates
Caffeine drawing with cLogP and TPSA values.

Structure to name
Caffeine drawing and its alternative systematic name.

NMR prediction
NMR prediction controls with a proton nucleus selector.

SMILES
Caffeine drawing and its SMILES string.

InChI
Caffeine drawing with InChI and InChIKey fields.

Command-line tool
Info panel lists command-line render, convert, calc, nmr, and check.

AI agent control
Info panel describes a separate AI assistants add-on and commands.
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, triple bonds; changed an existing bond order. Opens the screenshot.Single, double and triple bondsDrew single, double, triple bonds; changed an existing bond order.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: Dative and quadruple bonds. Opens the cited page.Dative, hydrogen and quadruple bondsDative and quadruple bonds.github.com
- Yes, according to the manual: L, R and C choose left, right or centered. Opens the cited page.Choose double-bond sideL, R and C choose left, right or centered.github.com
- Yes, tested by running it: Placed benzene and cyclohexane using dedicated tools. Opens the screenshot.Ring toolsPlaced benzene and cyclohexane using dedicated tools.github.com
- Yes, according to the manual: Two cyclohexane chair templates. Opens the cited page.Chair and Haworth ringsTwo cyclohexane chair templates.github.com
- Yes, according to the manual: Drag distance sets zigzag chain length. Opens the cited page.Chain toolDrag distance sets zigzag chain length.github.com
- Yes, tested by running it: Placed adamantane from built-in bridged structure palette. Opens the screenshot.Template libraryPlaced adamantane from built-in bridged structure palette.github.com
- Yes, according to the manual. Opens the cited page.Save your own templatesgithub.com
- Yes, according to the manual: Chemical definitions and expansion to atoms. Opens the cited page.Group abbreviationsChemical definitions and expansion to atoms.github.com
- Yes, according to the manual: Isotopes through SMILES, files and the API. Opens the cited page.Charges, isotopes and atom labelsIsotopes through SMILES, files and the API.github.com
- Yes, according to the manual. Opens the cited page.Radicals and lone pairsgithub.com
- Yes, according to the manual. Opens the cited page.Keyboard drawinggithub.com
- Yes, according to the manual: Lasso, rotate, flip, proportional scaling and stretching. Opens the cited page.Lasso select and transformsLasso, rotate, flip, proportional scaling and stretching.github.com
- Yes, according to the manual. Opens the cited page.Tilt drawings in perspectivegithub.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 electron-pair arrow and edited its curvature. Opens the screenshot.Curved mechanism arrowsDrew curved electron-pair arrow and edited its curvature.github.com
- Yes, tested by running it: Drawing reaction arrows produced reaction SMILES in Analysis. Opens the screenshot.Machine-readable reactionsDrawing reaction arrows produced reaction SMILES in Analysis.github.com
- Not establishedAtom mapping
- Yes, according to the manual. Opens the cited page.Orbitals and symbolsgithub.com
Figures and layout
- Yes, according to the manual: Font selection, subscripts, superscripts, bold and italic. Opens the cited page.Rich text captionsFont selection, subscripts, superscripts, bold and italic.github.com
- Yes, according to the manual: Editable shapes and brackets; API also supports curves. Opens the cited page.Shapes, brackets and curvesEditable shapes and brackets; API also supports curves.github.com
- Yes, according to the manual. Opens the cited page.Align and distributegithub.com
- Yes, according to the manual. Opens the cited page.Group and ungroupgithub.com
- Yes, according to the manual: Clean Up Structure, 2D and Reaction commands. Opens the cited page.2D structure cleanupClean Up Structure, 2D and Reaction commands.github.com
- Yes, according to the manual: ACS, Nature, RSC, Angewandte and Synthesis/Synlett presets. Opens the cited page.Journal drawing stylesACS, Nature, RSC, Angewandte and Synthesis/Synlett presets.github.com
- Yes, according to the manual: Custom bond/font settings saved as defaults for new documents. Opens the cited page.Reusable custom stylesCustom bond/font settings saved as defaults for new documents.github.com
- Yes, according to the manual: Individual atom, bond, text and shape colors. Opens the cited page.Color controlIndividual atom, bond, text and shape colors.github.com
- Yes, according to the manual: Atom halos and bond bands support adjustable colors and width. Opens the cited page.Color highlightingAtom halos and bond bands support adjustable colors and width.github.com
- Not establishedPage layout and multipage
- Yes, according to the manual: PNG/JPEG images placed and resized on the sheet. Opens the cited page.Imported picturesPNG/JPEG images placed and resized on the sheet.github.com
- Yes, according to the manual: Editable reagent-table cells on the sheet. Opens the cited page.TLC plates and tablesEditable reagent-table cells on the sheet.github.com
Chemistry intelligence
- Yes, tested by running it: Default paclitaxel layout triggered a highlighted ring-stereobond warning. Opens the screenshot.Structure checkingDefault paclitaxel layout triggered a highlighted ring-stereobond warning.github.com
- Yes, according to the manual: Computed CIP R/S and E/Z labels. Opens the cited page.R/S and E/Z labelsComputed CIP R/S and E/Z labels.github.com
- Yes, tested by running it: Caffeine: C8H10N4O2, molecular weight 194.19, exact mass 194.0804. Opens the screenshot.Formula and massCaffeine: C8H10N4O2, molecular weight 194.19, exact mass 194.0804.github.com
- Yes, tested by running it: Caffeine cLogP -0.18 and TPSA 58.4 displayed. Opens the screenshot.Property estimatesCaffeine cLogP -0.18 and TPSA 58.4 displayed.github.com
- Yes, tested by running it: Ethanol name produced CCO and C2H6O. Opens the cited page.Name to structureEthanol name produced CCO and C2H6O.github.com
- Partly: Alternative naming worked; primary command failed because openclatura was absent. Opens the screenshot.Structure to nameAlternative naming worked; primary command failed because openclatura was absent.github.com
- Yes, according to the manual: Offline 1H, 13C, 19F and 31P predictions. Opens the cited page.NMR predictionOffline 1H, 13C, 19F and 31P predictions.github.com
- Yes, according to the manual: R-group lists, enumeration and decomposition. Opens the cited page.R-groups and query structuresR-group lists, enumeration and decomposition.github.com
- Yes, according to the manual: Chemical repeat units; SRU and CDXML/CDX round-trip. Opens the cited page.Polymers and repeat unitsChemical repeat units; SRU and CDXML/CDX round-trip.github.com
- Not establishedPeptides and nucleic acids
- Yes, according to the manual: Requires AI add-on and separately installed MolScribe; Mac/Windows. Opens the cited page.Image to structureRequires AI add-on and separately installed MolScribe; Mac/Windows.github.com
- Not establishedOnline structure lookup
- Partly: Builds and rotates; generated cholesterol inverted one stereocenter. Opens the cited page.3D model viewBuilds and rotates; generated cholesterol inverted one stereocenter.github.com
- Yes, according to the manual: CIF import is a test version. Opens the cited page.Crystal structuresCIF import is a test version.github.com
Files and exchange
- Yes, tested by running it: Exported caffeine CDXML and reopened it as recognized chemistry. Opens the cited page.CDXML import and exportExported caffeine CDXML and reopened it as recognized chemistry.github.com
- Yes, according to the manual. Opens the cited page.CDX import and exportgithub.com
- Yes, tested by running it: MOL import/export and SDF export/reimport succeeded. Opens the cited page.MOL and SDFMOL import/export and SDF export/reimport succeeded.github.com
- Yes, tested by running it: All three fixture SMILES imported; SMILES exports saved. Opens the screenshot.SMILESAll three fixture SMILES imported; SMILES exports saved.github.com
- Yes, according to the manual: Offline InChI and InChIKey output. Opens the cited page.InChIOffline InChI and InChIKey output.github.com
- Yes, according to the manual. Opens the cited page.RXN filesgithub.com
- Yes, tested by running it: All three SVG exports saved and parsed as vector XML. Opens the cited page.SVG exportAll three SVG exports saved and parsed as vector XML.github.com
- No: No PDF/Print command found; Cmd+P opened no print dialog. Opens the cited page.PDF exportNo PDF/Print command found; Cmd+P opened no print dialog.
- Yes, tested by running it: Default 3× PNG exported; roughly 600 dpi at SVG physical size. Opens the cited page.High-resolution PNGDefault 3× PNG exported; roughly 600 dpi at SVG physical size.github.com
- Yes, according to the manual: Windows native CDX clipboard, both directions. Opens the cited page.Paste to and from ChemDrawWindows native CDX clipboard, both directions.github.com
- Yes, according to the manual: Editable Word drawings on Windows/Mac; cross-platform return uses copy/paste. Opens the cited page.Editable in Word or PowerPointEditable Word drawings on Windows/Mac; cross-platform return uses copy/paste.github.com
- Yes, according to the manual: Windows OLE objects support double-click editing in Word and PowerPoint. Opens the cited page.Windows Office OLEWindows OLE objects support double-click editing in Word and PowerPoint.github.com
APIs and automation
- Partly: Documented HTTP wrapper example; requires desktop API add-on. Opens the cited page.Python APIDocumented HTTP wrapper example; requires desktop API add-on.github.com
- Yes, according to the manual: Documented JavaScript postMessage API. Opens the cited page.JavaScript or TypeScript APIDocumented JavaScript postMessage API.github.com
- Yes, according to the manual: Renders and converts without a window; Linux needs a desktop session. Opens the cited page.Command-line toolRenders and converts without a window; Linux needs a desktop session.github.com
- Yes, according to the manual: Separate AI-assistants add-on required. Opens the cited page.AI agent controlSeparate AI-assistants add-on required.github.com
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- Yes, according to the manual: Load web/index.html?embed in an iframe; exchange structures through postMessage. Opens the cited page.Embed in your own appLoad web/index.html?embed in an iframe; exchange structures through postMessage.github.com


