This website is biased toward ReShiki, because its maintainer also maintains ReShiki. Please be careful.
Penzene
A native desktop editor for chemical structures, reaction schemes and publication figures.
Open source. 55 of 65 checklist features confirmed.
Main canvas
Default drawings
- Default style was ACS 1996 with Arial 10 pt atom labels.
- The default canvas was dark with grid lines and light bonds.
- SMILES imports generated layouts without manual cleanup.
- Paclitaxel displayed wedge and hashed bonds.
- The 3D SDF fallback saved as MOL with explicit hydrogens and zero z coordinates.
Facts
- GitHub stars
- 4 stars on 6 Nov 2026
- First commit
- 23 Sept 2026
- Repository activity
- 584 commits, 1 contributor, last push 29 Oct 2026
- Latest version
- v2.0.0
- Version we tested
- 2.0.0
- Runs on
- macOS, Windows, Linux
- License
- GNU General Public License version 3 or later.
- Price
- Free
- Relies on
- RDKit, ChemDraw file library, InChI. Custom canvas; Ketcher inspired its interface. ChemDraw library handles files.
- Draws with
- Custom Qt QPainter renderer; QSvgGenerator for SVG and QPdfWriter for PDF.
- Chemistry from
- RDKit
- Interface
- Qt 6 Widgets
- Main language
- C++
- Other languages
- Python: Public package wrapping native engine; C: InChI identifier library
- Renderer
- Original: Penzene renderer (Qt QPainter)
- Third-party licenses
- Includes LGPL-3.0-only Qt, MPL-2.0 Eigen, GPL-3.0 GCC runtimes with GCC-exception-3.1 (Linux wheels), and ODbL-derived NMR data (share-alike; dependent software must be OSI-licensed).
- Download
- 46 MB
- Installed
- 103 MB
- Unsigned macOS and Windows installers can trigger operating-system security prompts.
- PubChem naming requires internet despite the manual's broader claim that Penzene never goes online.
- ChemDraw docs and save labels understate implemented support: orbital and Windows CDX imports, and non-molecule CDX exports.
In use
Screenshots from our test of this version.

Single, double and triple bonds
Bond palette with single, double and triple bond tools.

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

Ring tools
Five-membered and aromatic rings on the canvas.

Template library
Amino acid templates in the library panel.

Tilt drawings in perspective
A drawing rotated in 3D on the canvas.

Reaction arrows
Forward and equilibrium arrows on the canvas.

Curved mechanism arrows
Curved arrows with full and fishhook arrowheads.

Journal drawing styles
Drawing Styles lists ACS, RSC, Nature and other presets.

Reusable custom styles
Drawing Styles dialog with duplicate, import, export and save controls.

Formula and mass
Properties panel showing molecular formula, molecular weight and exact mass.

Property estimates
Properties panel showing cLogP, TPSA and other estimates.

Structure to name
Copied name: 1,3,7-trimethylpurine-2,6-dione.

NMR prediction
Predicted carbon-13 NMR stick spectrum.
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; changed existing bond through double and triple. Opens the screenshot.Single, double and triple bondsDrew single bond; changed existing bond through double and triple.github.com
- Partly: Wedge and hashed bonds drawn; no wavy tool found. Opens the screenshot.Wedge, hash and wavy bondsWedge and hashed bonds drawn; no wavy tool found.github.com
- Yes, according to the manual: Dative arrows and dotted hydrogen bonds. Opens the cited page.Dative, hydrogen and quadruple bondsDative arrows and dotted hydrogen bonds.github.com
- Yes, according to the manual: Keyboard controls place second lines left, centred or right. Opens the cited page.Choose double-bond sideKeyboard controls place second lines left, centred or right.github.com
- Yes, tested by running it: Drew benzene and five-membered ring using dedicated tools. Opens the screenshot.Ring toolsDrew benzene and five-membered ring using dedicated tools.github.com
- Yes, according to the manual: Chair cyclohexane tools and Haworth projection templates. Opens the cited page.Chair and Haworth ringsChair cyclohexane tools and Haworth projection templates.github.com
- Yes, according to the manual: Drag distance sets zig-zag chain length. Opens the cited page.Chain toolDrag distance sets zig-zag chain length.github.com
- Partly: Library opens; placement blocked by accessibility automation errors. Opens the screenshot.Template libraryLibrary opens; placement blocked by accessibility automation errors.github.com
- Yes, according to the manual: Save Selection as Template adds reusable user structures. Opens the cited page.Save your own templatesSave Selection as Template adds reusable user structures.github.com
- Yes, according to the manual: Recognizes Boc, OMe and others; expands abbreviations into structures. Opens the cited page.Group abbreviationsRecognizes Boc, OMe and others; expands abbreviations into structures.github.com
- Yes, according to the manual: Element labels, charges and isotope mass numbers. Opens the cited page.Charges, isotopes and atom labelsElement labels, charges and isotope mass numbers.github.com
- Yes, according to the manual: Atom Properties sets radical electrons and drawn lone pairs. Opens the cited page.Radicals and lone pairsAtom Properties sets radical electrons and drawn lone pairs.github.com
- Yes, according to the manual: Hovering establishes hotspots; keys change atoms and bonds. Opens the cited page.Keyboard drawingHovering establishes hotspots; keys change atoms and bonds.github.com
- Yes, according to the manual: Lasso selection, rotation, flip and scaling handles. Opens the cited page.Lasso select and transformsLasso selection, rotation, flip and scaling handles.github.com
- Yes, tested by running it: Rotate in 3D changed cholesterol's canvas projection. Opens the screenshot.Tilt drawings in perspectiveRotate in 3D changed cholesterol's canvas projection.github.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 and single-electron fishhook arrows. Opens the screenshot.Curved mechanism arrowsDrew curved electron-pair and single-electron fishhook arrows.github.com
- Yes, according to the manual: Reaction SMILES and RXN preserve reactants, agents and products. Opens the cited page.Machine-readable reactionsReaction SMILES and RXN preserve reactants, agents and products.github.com
- Yes, according to the manual: Manually assigned atom-map numbers export in SMILES and MOL. Opens the cited page.Atom mappingManually assigned atom-map numbers export in SMILES and MOL.github.com
- Yes, according to the manual: Editable s, p, lobe and hybrid orbital shapes. Opens the cited page.Orbitals and symbolsEditable s, p, lobe and hybrid orbital shapes.github.com
Figures and layout
- Yes, according to the manual: Fonts, bold, italic, formula subscripts and charge superscripts. Opens the cited page.Rich text captionsFonts, bold, italic, formula subscripts and charge superscripts.github.com
- Yes, according to the manual: Lines, boxes, ellipses and editable structure brackets. Opens the cited page.Shapes, brackets and curvesLines, boxes, ellipses and editable structure brackets.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 regenerates 2D layout while preserving stereochemistry and bond styles. Opens the cited page.2D structure cleanupClean regenerates 2D layout while preserving stereochemistry and bond styles.github.com
- Yes, according to the manual: ACS, RSC, Nature, Angewandte and SYNLETT/SYNTHESIS presets. Opens the cited page.Journal drawing stylesACS, RSC, Nature, Angewandte and SYNLETT/SYNTHESIS presets.github.com
- Yes, according to the manual: Save custom bond and font settings; exchange JSON styles. Opens the cited page.Reusable custom stylesSave custom bond and font settings; exchange JSON styles.github.com
- Yes, according to the manual: Colors individual atoms, bonds, arrows and text. Opens the cited page.Color controlColors individual atoms, bonds, arrows and text.github.com
- Partly: Selection halos highlight atoms and bonds only in the editor. Opens the cited page.Color highlightingSelection halos highlight atoms and bonds only in the editor.github.com
- Yes, according to the manual: Multiple pages in .penz; paper and journal page sizes. Opens the cited page.Page layout and multipageMultiple pages in .penz; paper and journal page sizes.github.com
- Not establishedImported pictures
- Yes, according to the manual: TLC template has movable spots, streaks, lanes and calculated Rf. Opens the cited page.TLC plates and tablesTLC template has movable spots, streaks, lanes and calculated Rf.github.com
Chemistry intelligence
- Yes, according to the manual: Flags excess valence and lists structural or stereo problems. Opens the cited page.Structure checkingFlags excess valence and lists structural or stereo problems.github.com
- Yes, according to the manual: Computes CIP R/S and E/Z labels from drawings. Opens the cited page.R/S and E/Z labelsComputes CIP R/S and E/Z labels from drawings.github.com
- Yes, tested by running it: Caffeine C8H10N4O2; MW 194.19; exact mass 194.0804. Opens the screenshot.Formula and massCaffeine C8H10N4O2; MW 194.19; exact mass 194.0804.github.com
- Yes, tested by running it: Cholesterol panel showed cLogP 7.39 and TPSA 20.2. Opens the screenshot.Property estimatesCholesterol panel showed cLogP 7.39 and TPSA 20.2.github.com
- Yes, tested by running it: Import Name caffeine returned a structure through PubChem. Opens the cited page.Name to structureImport Name caffeine returned a structure through PubChem.github.com
- Yes, tested by running it: Caffeine returned 1,3,7-trimethylpurine-2,6-dione via Copy As IUPAC Name. Opens the screenshot.Structure to nameCaffeine returned 1,3,7-trimethylpurine-2,6-dione via Copy As IUPAC Name.github.com
- Yes, tested by running it: NMR panel displayed a predicted cholesterol carbon-13 stick spectrum. Opens the screenshot.NMR predictionNMR panel displayed a predicted cholesterol carbon-13 stick spectrum.github.com
- Yes, according to the manual: MDL R-groups, generic atoms and chemical query atom lists. Opens the cited page.R-groups and query structuresMDL R-groups, generic atoms and chemical query atom lists.github.com
- Not establishedPolymers and repeat units
- Yes, according to the manual: Peptide sequences produce structures; supports D-residues and terminal caps. Opens the cited page.Peptides and nucleic acidsPeptide sequences produce structures; supports D-residues and terminal caps.github.com
- Not establishedImage to structure
- Yes, tested by running it: Caffeine name lookup fetched its structure from PubChem. Opens the cited page.Online structure lookupCaffeine name lookup fetched its structure from PubChem.github.com
- No: Canvas projection rotates; no molecular 3D model view found. Opens the cited page.3D model viewCanvas projection rotates; no molecular 3D model view found.github.com
- Not establishedCrystal structures
Files and exchange
- Yes, tested by running it: Saved caffeine CDXML and reopened it successfully. Opens the cited page.CDXML import and exportSaved caffeine CDXML and reopened it successfully.github.com
- Yes, according to the manual: Binary CDX import and export on every desktop platform. Opens the cited page.CDX import and exportBinary CDX import and export on every desktop platform.github.com
- Yes, tested by running it: MOL and SDF saved and reopened; 3D SDF also opened. Opens the cited page.MOL and SDFMOL and SDF saved and reopened; 3D SDF also opened.github.com
- Yes, tested by running it: Imported fixtures; copied caffeine SMILES and verified pasted text. Opens the cited page.SMILESImported fixtures; copied caffeine SMILES and verified pasted text.github.com
- Yes, according to the manual: Imports InChI; Copy As exports InChI and InChIKey. Opens the cited page.InChIImports InChI; Copy As exports InChI and InChIKey.github.com
- Yes, according to the manual. Opens the cited page.RXN filesgithub.com
- Yes, tested by running it: Default SVG exports written for all three fixtures. Opens the cited page.SVG exportDefault SVG exports written for all three fixtures.github.com
- Yes, tested by running it: Caffeine PDF exported; vector content and attached structures verified. Opens the cited page.PDF exportCaffeine PDF exported; vector content and attached structures verified.github.com
- Yes, tested by running it: Default caffeine PNG exported; pHYs metadata records 300 dpi. Opens the cited page.High-resolution PNGDefault caffeine PNG exported; pHYs metadata records 300 dpi.github.com
- Yes, according to the manual: Editable CDX clipboard transfer both ways on macOS. Opens the cited page.Paste to and from ChemDrawEditable CDX clipboard transfer both ways on macOS.github.com
- Yes, according to the manual: Windows installer enables editable Word and PowerPoint OLE drawing objects. Opens the cited page.Editable in Word or PowerPointWindows installer enables editable Word and PowerPoint OLE drawing objects.github.com
- Yes, according to the manual: Windows installer enables OLE objects with double-click editing and document updates. Opens the cited page.Windows Office OLEWindows installer enables OLE objects with double-click editing and document updates.github.com
APIs and automation
- Yes, according to the manual: Documented package edits, analyzes and renders drawings. Opens the cited page.Python APIDocumented package edits, analyzes and renders drawings.github.com
- Not establishedJavaScript or TypeScript API
- Yes, according to the manual: Headless rendering and batch descriptor exports. Opens the cited page.Command-line toolHeadless rendering and batch descriptor exports.github.com
- Not establishedAI agent control
- Not establishedBuilt-in AI assistant
Embedding and extension
- Not establishedPlugins
- Not established: Python renders static SVG; no embeddable editor widget documented.Embed in your own appPython renders static SVG; no embeddable editor widget documented.github.com

