This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
JMolDraw
A Java application for drawing and editing two-dimensional chemical structures.
Open source. 20 of 65 checklist features confirmed.
Main canvas
Interface and canvas remain light under both per-process appearance overrides.
Default drawings
We could not finish testing this tool: Native image export and structure saving could not be completed: filename entry was inaccessible through computer-use automation.
- Archive is 0.6alpha; the unchanged application About box reports V0.5.
- Default drawings use thin black bonds and black atom labels.
- Paclitaxel retains visible filled wedges and hashed bonds from MOL.
- Cholesterol SDF projection has overlapping explicit hydrogen labels.
- Export PNGs are screenshot crops; native exports and MOL writing were unverified.
- Redraw retried both current Kekule SMILES fixtures; each produced no drawing and the same vec2-null error.
Facts
- Latest version
- 0.6alpha
- Version we tested
- V0.5
- Runs on
- macOS, Windows, Linux
- License
- GNU GPL version 2 or later.
- Price
- Free
- Relies on
- No third-party engine found. Own molecular canvas and chemistry; Apache Batik provides general SVG export.
- Draws with
- Java2D Graphics2D; Apache Batik for SVG; Java ImageIO for PNG/JPEG
- Chemistry from
- In-house JMD molecule model and chemistry algorithms
- Interface
- Java Swing
- Main language
- Java
- Other languages
- None
- Renderer
- Original: JMolDraw JMD molecular views
- Third-party licenses
- Includes Apache-1.1 (Batik 1.5.1) and permissive W3C API licenses; redistribution requires notices and attribution.
- Download
- 1.2 MB
- Installed
- 163 MB
- Latest listed release is 0.6alpha from 2006-10-02; current Java compatibility was not tested.
- MOL/JME saving omits free-text captions; SVG is export-only.
- Browser integration uses a legacy Java applet and opens its own window.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Single, double, and triple bonds on the drawing canvas.

Wedge, hash and wavy bonds
A molecular structure with solid and hashed wedge bonds.

Ring tools
Ring tool buttons and a benzene ring on the canvas.

Lasso select and transforms
A selected bond surrounded by square handles.

MOL and SDF
A structure displayed from simple.mol.
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 bond; repeated clicks changed it to double and triple. Opens the screenshot.Single, double and triple bondsDrew single bond; repeated clicks changed it to double and triple.sourceforge.net
- Partly: Filled wedges drawn; imported hashes render; wavy drawing unverified. Opens the screenshot.Wedge, hash and wavy bondsFilled wedges drawn; imported hashes render; wavy drawing unverified.sourceforge.net
- Not establishedDative, hydrogen and quadruple bonds
- Yes, according to the manual: JMDBondDrawingToolBase cycles double bonds through left, centered and right. Opens the cited page.Choose double-bond sideJMDBondDrawingToolBase cycles double bonds through left, centered and right.sourceforge.net
- Yes, tested by running it: Placed benzene; toolbar also exposes three- through eight-membered rings. Opens the screenshot.Ring toolsPlaced benzene; toolbar also exposes three- through eight-membered rings.sourceforge.net
- Not establishedChair and Haworth rings
- Partly: Dragging chain tool produced one bond; longer chain creation unverified. Opens the cited page.Chain toolDragging chain tool produced one bond; longer chain creation unverified.sourceforge.net
- Yes, tested by running it: Opened Bases palette and placed adenine from the library. Opens the cited page.Template libraryOpened Bases palette and placed adenine from the library.sourceforge.net
- Partly: Save MOL/JME, then register it by editing template configuration. Opens the cited page.Save your own templatesSave MOL/JME, then register it by editing template configuration.sourceforge.net
- Not establishedGroup abbreviations
- Yes, according to the manual: Atom dialogs set arbitrary symbols, charges and isotope numbers. Opens the cited page.Charges, isotopes and atom labelsAtom dialogs set arbitrary symbols, charges and isotope numbers.sourceforge.net
- Yes, according to the manual: Singlet, doublet and triplet radicals have editable atom settings. Opens the cited page.Radicals and lone pairsSinglet, doublet and triplet radicals have editable atom settings.sourceforge.net
- Not establishedKeyboard drawing
- Yes, according to the manual: Lasso selection, rotation, flipping and resize handles are implemented. Opens the cited page.Lasso select and transformsLasso selection, rotation, flipping and resize handles are implemented.sourceforge.net
- Yes, according to the manual: Rotate 3D transforms drawings around X and Y axes. Opens the cited page.Tilt drawings in perspectiveRotate 3D transforms drawings around X and Y axes.sourceforge.net
Reactions and mechanisms
- No: No reaction-arrow command found in inspected menus and toolbars. Opens the cited page.Reaction arrowsNo reaction-arrow command found in inspected menus and toolbars.
- No: No curved-arrow command found in inspected menus and toolbars. Opens the cited page.Curved mechanism arrowsNo curved-arrow command found in inspected menus and toolbars.
- Not establishedMachine-readable reactions
- Not establishedAtom mapping
- Not establishedOrbitals and symbols
Figures and layout
- Yes, according to the manual: JMDTextEditDialog supports fonts, superscripts and subscripts. Opens the cited page.Rich text captionsJMDTextEditDialog supports fonts, superscripts and subscripts.sourceforge.net
- Not establishedShapes, brackets and curves
- Not establishedAlign and distribute
- Not establishedGroup and ungroup
- Not established2D structure cleanup
- Not establishedJournal drawing styles
- Not establishedReusable custom styles
- Yes, according to the manual: JMDColorEditDialogComponent applies foreground colors to selected objects. Opens the cited page.Color controlJMDColorEditDialogComponent applies foreground colors to selected objects.sourceforge.net
- Partly: Temporary colored selection boxes only; foreground coloring is separate. Opens the cited page.Color highlightingTemporary colored selection boxes only; foreground coloring is separate.sourceforge.net
- Not establishedPage layout and multipage
- No: JMDImageFilter.read returns an empty document instead of importing images. Opens the cited page.Imported picturesJMDImageFilter.read returns an empty document instead of importing images.sourceforge.net
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: Bond edits trigger a Valence Warning with undo/reduction choices. Opens the cited page.Structure checkingBond edits trigger a Valence Warning with undo/reduction choices.sourceforge.net
- Not establishedR/S and E/Z labels
- No: No formula or mass command found in menus or molecule dialog. Opens the cited page.Formula and massNo formula or mass command found in menus or molecule dialog.
- Not establishedProperty estimates
- No: No name conversion command found in inspected menus or dialogs. Opens the cited page.Name to structureNo name conversion command found in inspected menus or dialogs.
- No: No naming command found in inspected menus or molecule dialog. Opens the cited page.Structure to nameNo naming command found in inspected menus or molecule dialog.
- Not establishedNMR prediction
- Yes, according to the manual: Query Atom editor supports atom lists and Beilstein generic groups. Opens the cited page.R-groups and query structuresQuery Atom editor supports atom lists and Beilstein generic groups.sourceforge.net
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Not establishedOnline structure lookup
- No: Cholesterol SDF opened as flat drawing with overlapping hydrogen labels. Opens the cited page.3D model viewCholesterol SDF opened as flat drawing with overlapping hydrogen labels.
- Not establishedCrystal structures
Files and exchange
- No: Absent from Open and Save As format lists. Opens the cited page.CDXML import and exportAbsent from Open and Save As format lists.
- Not establishedCDX import and export
- Partly: MOL and first SDF structure import worked; writing remained unverified. Opens the screenshot.MOL and SDFMOL and first SDF structure import worked; writing remained unverified.sourceforge.net
- No: Opening simple.smi failed: Cannot read field x because vec2 is null. Opens the cited page.SMILESOpening simple.smi failed: Cannot read field x because vec2 is null.
- Not establishedInChI
- Not establishedRXN files
- Yes, according to the manual: JMDSVGExportFilter generates vector SVG using Apache Batik. Opens the cited page.SVG exportJMDSVGExportFilter generates vector SVG using Apache Batik.sourceforge.net
- No: No PDF format or print command found in File menu. Opens the cited page.PDF exportNo PDF format or print command found in File menu.
- Partly: PNG export uses drawing pixel bounds without a DPI setting. Opens the cited page.High-resolution PNGPNG export uses drawing pixel bounds without a DPI setting.sourceforge.net
- 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: applet.txt documents JavaScript control through a legacy Java applet. Opens the cited page.JavaScript or TypeScript APIapplet.txt documents JavaScript control through a legacy Java applet.sourceforge.net
- No: main ignores arguments and always opens the GUI. Opens the cited page.Command-line toolmain ignores arguments and always opens the GUI.sourceforge.net
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- No: Applet opens separate window; no inline integration supported. Opens the cited page.Embed in your own appApplet opens separate window; no inline integration supportedsourceforge.net


