Skip to content
Chemical Drawing Atlas

This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.

All features

Structure checking

Valence or structure problems are flagged.

88 tools have this, 11 of them shown here. 1 do not. 39 not established.

What powers it: In-house (6), Ketcher (TypeScript); Indigo (WebAssembly) (2), RDKit (Python) (2), Ported from RDKit (Rust) (1), In-house browser JavaScript valence, charge and stereo checks (1), RDKit (C++) valence and stereo perception; In-house (C++) structure checks (1), In-house (TypeScript valence, charge and geometry checks); Indigo (WebAssembly stereochemistry checks) (1), In-house (TypeScript native valence rules) + RDKit MinimalLib (WebAssembly structure validation) (1), Indigo (WebAssembly, valence and radical checks) (1), In-house valenceProblems and valencesFor (JavaScript modules in browser) (1), In-house JavaScript valence and drawing checks; bundled OpenChemLib 9.25.1 JavaScript stereo perception for stereochemical warnings (1), Ketcher 3.17.2 (TypeScript calcValence/badConn live warnings); Indigo 1.45.1 (WebAssembly explicit structure check) (1), In-house (TypeScript incremental atom, valence, isotope and label checks) (1), Ketcher (TypeScript valence model) and Indigo (WebAssembly structure checks) (1), In-house (chematic-core and chematic-perception, Rust/WebAssembly; bridge structural validation) (1), RDKit.js (WebAssembly sanitization); In-house (JavaScript advisories) (1), Ketcher TypeScript valence rules; Indigo WebAssembly full structure checker (1), RDKit (Python sanitization, local server) + In-house structure checks (1), RDKit (Python Chem.DetectChemistryProblems/SanitizeMol); in-house coverage warnings (1), In-house (browser JavaScript valence, charge, bond and aromaticity rules) (1), In-house (TypeScript valence rules) (1), Ketcher TypeScript valence rules; Indigo WebAssembly structure checker; In-house TypeScript side-panel validation (1), OpenChemLib JS (JavaScript valence and aromaticity analysis); In-house (JavaScript charge checks) (1), Ketcher (TypeScript valence checks); Indigo (WebAssembly structure checks) (1), In-house (JavaScript, browser) (1), Ketcher (TypeScript valence checks); Indigo (WebAssembly additional structure checks) (1), RDKit (Python Chem.SanitizeMol; custom atom highlighting) (1), In-house TypeScript valence rules; Indigo C++ full structure checker via WebAssembly or HTTP service (1), Ketcher 3.18.0 (TypeScript valence rules) (1), OpenChemLib (JavaScript) (1), In-house (TypeScript valence tables and bond-order checks) (1), In-house (Python conservative valence warnings) (1), RDKit (C++; WebAssembly in browser build) (1), In-house (TypeScript valence-table checks; transition metals exempt) (1), RDKit.js (WebAssembly) (1), CDK (Java CDKAtomTypeMatcher and CDKHydrogenAdder); In-house (Kotlin error markers) (1), RDKit (Python sanitization); In-house (error reporting) (1), In-house (Rust live element valence and label validation) (1), Ported from OpenChemLib ExtendedMolecule.validate (Java compiled to JavaScript with GWT) (1), In-house browser JavaScript graph/valence checks plus RDKit.js browser WebAssembly get_mol validation (1), In-house (Elemental JavaScript) (1), WebMolKit (TypeScript; overlapping-atom checks only) (1), In-house (JavaScript; Kekule.IssueCheck.AtomValenceChecker) (1), In-house (C++ Molecule::ValenceErrors and MolData valence table) (1), In-house (Java overlapping-atom warnings only) (1), In-house (Rust chemifree-valence-3 bounded valence model) (1), Ketcher (bundled JavaScript) (1), In-house (JavaScript fixed-valence and explicit-bond checks) (1), Ported from Open Babel (MDL valence model rewritten in TypeScript) (1), Ported from BKChem (Python validator using bundled OASA valence model) (1), In-house (JavaScript valence, charge and stereo heuristics) (1), In-house Marvin JS (Java compiled to browser JavaScript by GWT; native valence-error checking) (1), In-house (Python validator) with OASA (Python atom valence) (1), Indigo (native C++ via Rust FFI; indigoCheckObj) (1), In-house (Rust neutral bond-capacity check) (1), In-house ValenceCalculator (Java compiled by GWT to browser JavaScript) (1), In-house Chem4Word.Model2 PeriodicTable.SpareValencies/Atom.Overbonded (C#) (1), cht (bundled local C executable; overlapping-bond warnings only) (1), In-house (C++ carbon bond-order-sum check) (1), In-house (JSDraw2.Mol.setHCount, JavaScript) (1), RDKit (native C++ MolOps::sanitizeMol and AtomValenceException) (1), idris2-chem (Idris chem package, atom-type validation); In-house (invalid-atom highlighting) (1), MMDS core library (Objective-C, local) (1), RDKit (Python Chem.SanitizeMol) (1)

  • 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.

Highlighted ring bond and a stereobond warning.

Yes, tested by running it: Default paclitaxel layout triggered a highlighted ring-stereobond warning. Reactio Draw

1.10

Uses In-house JavaScript valence and drawing checks; bundled OpenChemLib 9.25.1 JavaScript stereo perception for stereochemical warnings

Highlighted ring bond and a stereobond warning.

The validation panel reports no errors beside a structure.

Yes, according to the manual: Validates chemical valence and reports structure errors. Chematic Draw

chematic 1.0.38 (build inde…

Uses In-house (chematic-core and chematic-perception, Rust/WebAssembly; bridge structural validation)

The validation panel reports no errors beside a structure.

Settings dialog with Show valence warnings enabled.

Yes, according to the manual: Embedded Ketcher underlines atoms with incorrect valence in red. FreeChemDraw

3.18.0

Uses Ketcher TypeScript valence rules; Indigo WebAssembly full structure checker

Settings dialog with Show valence warnings enabled.

Settings dialog with valence warnings enabled.

Yes, according to the manual: Invalid valence is underlined; structure checking is available. Kendraw

0.1.0

Uses Ketcher TypeScript valence rules; Indigo WebAssembly structure checker; In-house TypeScript side-panel validation

Settings dialog with valence warnings enabled.

Settings dialog with the valence warnings option enabled.

Yes, according to the manual BoltzDraw

Ketcher 2.24.0

Uses Ketcher (TypeScript); Indigo (WebAssembly)

Settings dialog with the valence warnings option enabled.

The structure check flags ten items to review.

Yes, according to the manual: Flags excess valence, overlapping atoms, and undefined stereocenters. Zeanium Molecule Drawer

Hosted, 5 Nov 2026

Uses In-house (JavaScript, browser)

The structure check flags ten items to review.

Settings dialog with Show valence warnings enabled.

Yes, according to the manual: Invalid valence is underlined in red. Ketcher

3.18.0

Uses In-house TypeScript valence rules; Indigo C++ full structure checker via WebAssembly or HTTP service

Settings dialog with Show valence warnings enabled.

View menu shows Valence Errors enabled.

Yes, according to the manual Schrödinger Sketcher

Release 2026-4 (build 131)

Uses RDKit (C++; WebAssembly in browser build)

View menu shows Valence Errors enabled.

The molecule panel displays a valence indicator reading OK.

Yes, according to the manual: Flags excessive valence using a limited built-in element table. RadSketch

b7450e4

Uses In-house

The molecule panel displays a valence indicator reading OK.

Warnings list atoms with fewer bonds than expected.

Yes, tested by running it: Warnings flag overbonded and underbonded atoms. ChemMD

0.1.0 (2768408)

Uses In-house (JavaScript fixed-valence and explicit-bond checks)

Warnings list atoms with fewer bonds than expected.

Caffeine structure with Sanitizable status shown.

Yes, according to the manual: Sanitization failures appear in the status bar. rdEditor

0.5.1

Uses RDKit (Python)

Caffeine structure with Sanitizable status shown.

Available, no screenshot

ChemDraw's license keeps us from publishing pictures of its interface.

Not available

Not established (39)

Sciformation VectorMol, ChemDoodle Web Components, ChemCanvas, MolView.com, PyChem-Pro, Molsketch, cDraw, JChemPaint, Molsoft HTML5 Molecule Editor, JSME Molecule Editor, Butlerov, schematic, WebMolKit, ChemCanvasJS, Chemical Structure Editor (CSE), Kemia, Chemeditor (Chemie-Lernprogramme), vue-chemdraw (0chem), ChemWriter, MCDL Java Chemical Structure Editor, Glass, molsketch-cljs, MolPad, GChemPaint, ACD/ChemSketch, FX ChemStruct / FX Draw Chemical Structures, Chemistry 4-D Draw, BondDraw, ChemGraphic 2, EasyChem, MyChemise, Chem+ Molecular Structure Editor, Chirys Draw, ChemScribble, Chem Sketcher (Non_REM.Persona Laboratory), alvaSketcher, moled, ChemWorks, Molecule

Open the full pageManual