Skip to content
Chemical Drawing Atlas

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

All features

2D structure cleanup

A command tidies bond lengths and angles of a drawn structure.

87 tools have this, 10 of them shown here. 2 do not. 39 not established.

What powers it: Indigo (WebAssembly) (2), RDKit.js (WebAssembly) (2), In-house (ChemDraw 2D structure-generation and cleanup algorithms, local) (1), Ported from RDKit RDDepictor (Rust); In-house (Rust layout refinements) (1), In-house browser JavaScript cleanup; optional Indigo 1.46.0 indigo-ketcher-norender browser WebAssembly layout/clean2d (1), RDKit RDDepictor (C++), with In-house (C++) coordination layout (1), Ported from Indigo MoleculeCleaner2d and BiconnectedDecomposer (TypeScript, modified) (1), In-house (TypeScript polygon/tree cleanup) + OpenChemLib (JavaScript re-layout) + RDKit MinimalLib (WebAssembly fallback) (1), Indigo 1.40.0 (WebAssembly, through Ketcher standalone) (1), In-house layoutMolecule 2D coordinate generator (JavaScript module in browser) (1), In-house JavaScript layout/cleanup; bundled OpenChemLib 9.25.1 JavaScript assists cage conformers and stereochemistry preservation (1), Indigo 1.45.1 (C++ compiled to WebAssembly, indigo-ketcher through ketcher-standalone 3.17.2) (1), In-house (TypeScript geometry cleanup); RDKit MinimalLib 2026.9.1 (WebAssembly RDDepictor and CoordGen layout seeds for tangled structures) (1), Indigo (WebAssembly via ketcher-standalone) (1), In-house (chematic-depict, Rust/WebAssembly compute_layout) (1), In-house (JavaScript); RDKit.js (WebAssembly, complex-ring coordinates) (1), Indigo (WebAssembly through embedded Ketcher 3.18.0) (1), RDKit/CoordGen (Python, local server) + In-house NumPy/FIRE refinement (1), RDKit (Python rdDepictor.Compute2DCoords) (1), OpenChemLib (browser JavaScript Molecule.inventCoordinates); In-house (orientation preservation and fallback geometry) (1), OpenChemLib (JavaScript npm package) (1), Indigo (indigo-ketcher 1.40.0 WebAssembly through Ketcher 3.12.0); RDKit native Python bindings for alternate-canvas backend cleanup (1), OpenChemLib JS (JavaScript, inventCoordinates) (1), Indigo 1.46.0 (WebAssembly, Ketcher standalone browser worker) (1), In-house (JavaScript, browser) (1), In-house (JavaScript) (1), RDKit (Python) (1), In-house ChemDoodle Java API (remote iChemLabs CloudServices; optimize with dimension 2) (1), Indigo (WebAssembly through ketcher-standalone, clean2d) (1), RDKit (Python rdDepictor; optional CoordGen backend) (1), Indigo C++ (indigo-ketcher WebAssembly in standalone mode, or Indigo HTTP service in remote mode) (1), Indigo 1.46.0 (WebAssembly) (1), OpenChemLib (JavaScript) (1), OASA (vendored Python, coords_generator) (1), In-house (TypeScript ring and chain layout, alignment and spacing) (1), RDKit RDDepictor (C++; WebAssembly in browser build); In-house monomer layout (1), Open Babel gen2D (native C++ through optional obabeliface shared library) (1), RDKit (local Python/PyInstaller sidecar; Compute2DCoords with 3D embedding fallback) (1), RDKit.js (WebAssembly; CoordGen 2D layout) (1), CDK StructureDiagramGenerator (Java) (1), In-house (Molsoft libchem, WebAssembly; asm.js fallback); Molsoft conversion service (remote server fallback) (1), CDK (Java StructureDiagramGenerator and GeometryUtil) (1), RDKit (Python, local server) (1), In-house (1), Ported from OpenChemLib CoordinateInventor (Java compiled to JavaScript with GWT) (1), In-house browser JavaScript coordinate optimizer (Clean Structure) (1), In-house (Elemental JavaScript) (1), Open Babel (optional C++ compiled to WebAssembly with Emscripten; Gen2D); Indigo (optional C++ WebAssembly alternative; layout) (1), Ported from JMDraw (C++ SDG implementation) (1), In-house (Java bond length normalization only) (1), OpenChemLib (GWT-compiled JavaScript) (1), Open Babel (Ruby bindings, application server; gen2D) (1), In-house (JavaScript automatic coordinate layout) (1), RDKit (Python; CoordGen preferred) (1), Ported from CDK (JavaScript) (1), Open Babel (WebAssembly via Kekule.js; import layout only) (1), OASA (bundled Python coordinate generator) (1), In-house (ChemDoodle 2D coordinate-layout algorithm, local Java library) (1), In-house (JavaScript local cleanup); optional Indigo (WebAssembly layout/clean2d) (1), In-house Chemaxon Cleaner (local Java core library) (1), RDKit.js (browser WebAssembly get_new_coords); RDKit and Indigo (desktop Electron IPC); In-house (desktop normalClean) (1), In-house Chemaxon Clean2D (remote Java REST service via MJSWS, JChem Web Services or JChem Microservices; clean2dws) (1), BIOVIA Pipeline Pilot Chemistry SDK / PPChem SDK (local SDK; small-molecule cleanup since Draw 2021) (1), Indigo (native C++ via Rust FFI; indigoClean2d and indigoLayout) (1), RDKit (C++) (1), In-house Marvin Web Services structure clean (remote Java service) (1), CDKSwiftNativePort (CDKStructureDiagramGenerator native Swift port) (1), In-house (C tidy_mol; endpoint snapping and duplicate removal) (1), In-house (C++ ring, bond-length and angle cleanup) (1), RDKit (native C++ RDDepict::compute2DCoords with CoordGen preferred) (1), In-house (C++ libjcp_engine.so via N-API) (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.

Clean up structure command beside a selected molecule.

Yes, according to the manual: Clean Up straightens bond lengths and angles. Octet Draw

1.1.0

Uses Ported from Indigo MoleculeCleaner2d and BiconnectedDecomposer (TypeScript, modified)

Clean up structure command beside a selected molecule.

Clean up command above the caffeine drawing.

Yes, according to the manual: Clean up command: Ctrl+L. Covalent

2uu6kqoryy

Uses In-house layoutMolecule 2D coordinate generator (JavaScript module in browser)

Clean up command above the caffeine drawing.

The Clean up command above structures on the canvas.

Yes, according to the manual: Standardizes bond lengths and angles while checking stereochemistry. vibe-sketcher

0.6.5

Uses RDKit/CoordGen (Python, local server) + In-house NumPy/FIRE refinement

The Clean up command above structures on the canvas.

Tidy structure button above the drawing canvas.

Yes, according to the manual Chemliora

15.19.0

Uses OpenChemLib JS (JavaScript, inventCoordinates)

Tidy structure button above the drawing canvas.

The Clean Up 2D button beneath a drawing.

Yes, according to the manual: Clean Up 2D tidies molecular drawing coordinates. MoleditPy

5.1.3

Uses RDKit (Python rdDepictor; optional CoordGen backend)

The Clean Up 2D button beneath a drawing.

Automatic layout button beside an ethylbenzene drawing.

Yes, according to the manual Molecule Builder (OvOHongYu)

0.1.0

Uses In-house (TypeScript ring and chain layout, alignment and spacing)

Automatic layout button beside an ethylbenzene drawing.

Clean up command above the drawing canvas.

Yes, according to the manual WaveSpeed AI Chemical Structure Drawer

cBQ3oDFlZ9g0696A_FKvj

Uses RDKit.js (WebAssembly; CoordGen 2D layout)

Clean up command above the drawing canvas.

Edit panel with a Clean up 2D structure button.

Yes, according to the manual SketchScape

1.0

Uses RDKit (Python, local server)

Edit panel with a Clean up 2D structure button.

Editor menu offers a compute 2D coordinates command.

Yes, according to the manual: Selected-molecule popup recomputes 2D coordinates. JSME Molecule Editor

v2024-04-29

Uses OpenChemLib (GWT-compiled JavaScript)

Editor menu offers a compute 2D coordinates command.

Clean command in the toolbar above drawn structures.

Yes, according to the manual: Server-side Open Babel generates 2D coordinates. Ketcherails (ketcher-rails)

0.1.12

Uses Open Babel (Ruby bindings, application server; gen2D)

Clean command in the toolbar above drawn structures.

Available, no screenshot

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

Not available

Not established (39)

ChemCanvas, chemfig, Chemvas, cDraw, BondCraft, ChemSema, SketchEl 2, RadSketch, schematic, WebMolKit, ChemCanvasJS, Chemical Structure Editor (CSE), JMolDraw, MolTouch, Chemeditor (Chemie-Lernprogramme), vue-chemdraw (0chem), ChemWriter, MCDL Java Chemical Structure Editor, Glass, molsketch-cljs, MolPad, BKChem, GChemPaint, Chem4Word, JSDraw, MoleculeSketch, FX ChemStruct / FX Draw Chemical Structures, ChemGraphic 2, MyChemise, CyBy-Draw, Chem+ Molecular Structure Editor, MolPrime+, MolGenDraw, Chirys Draw, Chem Sketcher (Non_REM.Persona Laboratory), Chemograph Plus, moled, ChemWorks, Molecule

Open the full pageManual