This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
BKChem
Desktop editor for drawing two-dimensional chemical structures, reaction schemes, and publication figures.
Open source. 43 of 65 checklist features confirmed.
Main canvas
Would not run on our Mac
Would not run on our Mac
Default drawings
We could not finish testing this tool: Official stable 0.13.0 source fails before launch under uv Python 3.11.17 with Tk: Python 2 print syntax causes SyntaxError at bkchem.py:96. uv does not support Python 2.7. Official Mac fallback contains only PowerPC/i386 executables; open -n and computer-use fail with -10386 (i386 is no longer supported). No BKChem window opened.
Would not run on our Mac
Caffeine
Would not run on our Mac
Paclitaxel
Would not run on our Mac
Cholesterol in 3D
- No document window opened.
- Molecule imports, rendering, and feature checks could not be tested.
Facts
- Latest version
- 0.14.0-pre4
- Runs on
- macOS, Windows, Linux
- License
- GNU GPL version 2 or later.
- Price
- Free
- Relies on
- OASA, InChI. Custom canvas uses OASA chemistry; InChI generation invokes an optional external executable.
- Draws with
- Tkinter Canvas on screen; custom SVG serialization and Cairo PDF/PNG export.
- Chemistry from
- OASA; external IUPAC InChI executable for InChI generation.
- Interface
- Tkinter with Python megawidgets (Pmw).
- Main language
- Python
- Other languages
- C: Bundled Windows InChI executable; Tcl: Tk GUI runtime
- Renderer
- Original: BKChem bond/atom/ftext renderer (Tk Canvas)
- Third-party licenses
- Includes GPL-2.0-or-later (OASA), LGPL (Piddle), MIT (Pmw) and legacy IUPAC/InChI Trust Licence 1.0 in Windows builds.
- Download
- 1.0 MB
- Installed
- 11 MB
- Homepage lists pre2; latest tag is pre4 (2014); desktop binaries target legacy systems.
- Older docs conflict with source: CDXML exists, Cairo exports text on Windows, and SMILES imports E/Z stereochemistry.
- Batch conversion requires X on Unix; WebBook lookup plugins use legacy interfaces.
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, according to the manual: Click existing bonds to cycle single, double and triple. Opens the cited page.Single, double and triple bondsClick existing bonds to cycle single, double and triple.gitlab.com
- Yes, according to the manual: Wedge, hatch and wavy adder bond styles. Opens the cited page.Wedge, hash and wavy bondsWedge, hatch and wavy adder bond styles.gitlab.com
- Partly: Dashed and dotted bonds; no dedicated dative bond type. Opens the cited page.Dative, hydrogen and quadruple bondsDashed and dotted bonds; no dedicated dative bond type.gitlab.com
- Yes, according to the manual: Shift-click cycles centered and either-side double bonds. Opens the cited page.Choose double-bond sideShift-click cycles centered and either-side double bonds.gitlab.com
- Yes, according to the manual: Includes benzene and common carbocyclic ring templates. Opens the cited page.Ring toolsIncludes benzene and common carbocyclic ring templates.gitlab.com
- Yes, according to the manual: Built-in chair template. Opens the cited page.Chair and Haworth ringsBuilt-in chair template.gitlab.com
- Partly: Keyboard appends 2–9 atoms; no drag-to-length chain tool. Opens the cited page.Chain toolKeyboard appends 2–9 atoms; no drag-to-length chain tool.bkchem.zirael.org
- Yes, according to the manual: Includes a fused heterocyclic purine template. Opens the cited page.Template libraryIncludes a fused heterocyclic purine template.gitlab.com
- Yes, according to the manual: Save As Template creates reusable user templates. Opens the cited page.Save your own templatesSave As Template creates reusable user templates.bkchem.zirael.org
- Yes, according to the manual: Common groups and linear formulas expand into structures. Opens the cited page.Group abbreviationsCommon groups and linear formulas expand into structures.bkchem.zirael.org
- Partly: Element labels and charges; isotope notation lacks chemical interpretation. Opens the cited page.Charges, isotopes and atom labelsElement labels and charges; isotope notation lacks chemical interpretation.gitlab.com
- Yes, according to the manual: Radical, biradical and lone-pair marks. Opens the cited page.Radicals and lone pairsRadical, biradical and lone-pair marks.gitlab.com
- Yes, according to the manual: Select an atom and type its replacement label. Opens the cited page.Keyboard drawingSelect an atom and type its replacement label.bkchem.zirael.org
- Partly: Rectangular selection; no lasso. Rotation, mirroring and scaling available. Opens the cited page.Lasso select and transformsRectangular selection; no lasso. Rotation, mirroring and scaling available.gitlab.com
- Yes, according to the manual: 3D rotation of drawn molecules and fragments. Opens the cited page.Tilt drawings in perspective3D rotation of drawn molecules and fragments.bkchem.zirael.org
Reactions and mechanisms
- Yes, according to the manual: Forward, retrosynthetic and equilibrium arrows. Opens the cited page.Reaction arrowsForward, retrosynthetic and equilibrium arrows.bkchem.zirael.org
- Yes, according to the manual: Editable splines with full or electron-transfer half heads. Opens the cited page.Curved mechanism arrowsEditable splines with full or electron-transfer half heads.gitlab.com
- Partly: Legacy reactant/product serialization remains; reaction authoring mode is disabled. Opens the cited page.Machine-readable reactionsLegacy reactant/product serialization remains; reaction authoring mode is disabled.gitlab.com
- Not establishedAtom mapping
- Yes, according to the manual: Includes a pz orbital mark. Opens the cited page.Orbitals and symbolsIncludes a pz orbital mark.gitlab.com
Figures and layout
- Yes, according to the manual: Free text supports font styling, subscripts and superscripts. Opens the cited page.Rich text captionsFree text supports font styling, subscripts and superscripts.gitlab.com
- Yes, according to the manual: Editable vector shapes, polylines and brackets. Opens the cited page.Shapes, brackets and curvesEditable vector shapes, polylines and brackets.gitlab.com
- Yes, according to the manual: Align selected objects by edges or centers. Opens the cited page.Align and distributeAlign selected objects by edges or centers.gitlab.com
- Not establishedGroup and ungroup
- Not established2D structure cleanup
- Not establishedJournal drawing styles
- Yes, according to the manual: Save personal bond, font and color standards. Opens the cited page.Reusable custom stylesSave personal bond, font and color standards.gitlab.com
- Yes, according to the manual: Individual atom colors and configurable bond/object colors. Opens the cited page.Color controlIndividual atom colors and configurable bond/object colors.gitlab.com
- Yes, according to the manual: Colored backgrounds behind visible atom labels persist in SVG export. Opens the cited page.Color highlightingColored backgrounds behind visible atom labels persist in SVG export.gitlab.com
- Partly: Page sizing supported; tabs save separate documents. Opens the cited page.Page layout and multipagePage sizing supported; tabs save separate documents.gitlab.com
- Not establishedImported pictures
- Not establishedTLC plates and tables
Chemistry intelligence
- Yes, according to the manual: Reports exceeded valence and zero-order bonds. Opens the cited page.Structure checkingReports exceeded valence and zero-order bonds.gitlab.com
- Not establishedR/S and E/Z labels
- Yes, according to the manual: Computes formula, molecular weight and monoisotopic mass. Opens the cited page.Formula and massComputes formula, molecular weight and monoisotopic mass.gitlab.com
- Not establishedProperty estimates
- Yes, according to the manual: NIST WebBook lookup plugin; current service compatibility unverified. Opens the cited page.Name to structureNIST WebBook lookup plugin; current service compatibility unverified.gitlab.com
- Partly: Retrieves database names rather than generating systematic nomenclature. Opens the cited page.Structure to nameRetrieves database names rather than generating systematic nomenclature.gitlab.com
- Not establishedNMR prediction
- Yes, according to the manual: Atom lists and A/Q/X/R query atoms. Opens the cited page.R-groups and query structuresAtom lists and A/Q/X/R query atoms.gitlab.com
- Not establishedPolymers and repeat units
- Not establishedPeptides and nucleic acids
- Not establishedImage to structure
- Yes, according to the manual: Imports NIST WebBook structures; current service compatibility unverified. Opens the cited page.Online structure lookupImports NIST WebBook structures; current service compatibility unverified.gitlab.com
- Yes, according to the manual: Imported 3D structures rotate on the drawing canvas. Opens the cited page.3D model viewImported 3D structures rotate on the drawing canvas.bkchem.zirael.org
- Not establishedCrystal structures
Files and exchange
- Yes, according to the manual: Experimental CDXML import and export. Opens the cited page.CDXML import and exportExperimental CDXML import and export.gitlab.com
- Not establishedCDX import and export
- Yes, according to the manual: MOL read/write; single-molecule export; SDF support unverified. Opens the cited page.MOL and SDFMOL read/write; single-molecule export; SDF support unverified.gitlab.com
- Yes, according to the manual: Imports a SMILES subset and generates SMILES. Opens the cited page.SMILESImports a SMILES subset and generates SMILES.bkchem.zirael.org
- Yes, according to the manual: Subset import; export uses an external InChI executable. Opens the cited page.InChISubset import; export uses an external InChI executable.bkchem.zirael.org
- Not establishedRXN files
- Yes, according to the manual: Vector SVG; native CD-SVG also embeds editable BKChem data. Opens the cited page.SVG exportVector SVG; native CD-SVG also embeds editable BKChem data.gitlab.com
- Yes, according to the manual: Vector PDF via Cairo. Opens the cited page.PDF exportVector PDF via Cairo.gitlab.com
- Yes, according to the manual: Cairo export offers configurable resolution up to 10,000 dpi. Opens the cited page.High-resolution PNGCairo export offers configurable resolution up to 10,000 dpi.gitlab.com
- Not establishedPaste to and from ChemDraw
- Not establishedEditable in Word or PowerPoint
- Not establishedWindows Office OLE
APIs and automation
- Yes, according to the manual: Documented external Python control; API described as unstable. Opens the cited page.Python APIDocumented external Python control; API described as unstable.bkchem.zirael.org
- Not establishedJavaScript or TypeScript API
- Partly: Batch conversion hides windows but requires X on Unix. Opens the cited page.Command-line toolBatch conversion hides windows but requires X on Unix.bkchem.zirael.org
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Yes, according to the manual: XML descriptors and Python script or mode extensions. Opens the cited page.PluginsXML descriptors and Python script or mode extensions.bkchem.zirael.org
- Not established: External Python API controls standalone application; editor embedding remains unconfirmed.Embed in your own appExternal Python API controls standalone application; editor embedding remains unconfirmed.bkchem.zirael.org