ChemWindow is the software chemists choose for chemical structure drawing and publishing worldwide. It also offers integrated solutions to modify, store, search, and retrieve chemical structures and properties. ChemWindow offers scientists even more solutions. 2D Chemical Structure Drawing - 3D Molecular Rendering.

Welcome to homepage of BKChem - a free chemical drawing program.

BKChem is a free (as in free software :o) chemical drawing program. It was conceived and written by Beda Kosata and is currently maintained by Reinis Danne.

BKChem is written in Python, an interpreted and very nice programming language. This implies some of the program features:

  • platform independence - BKChem should run on any platform that Python does.*
  • performance - as Python is interpreted language you should not expect the performance of a native code compiled application (in present days a very cheap tradeoff for platform independence). However BKChem should be pretty usable on all modern systems.

* BKChem is developed on GNU/Linux. It was however successfully used under WinXP and MacOS X.

Software

News

  • 2010-08-12 - BKChem 0.14.0-pre2 is out:

    This is a first release prepared by the new maintainer Reinis Danne.

    This release contains several significant changes:

    • new maintainer
    • sources are now managed using Git and hosted at gitorious.org
    • increase required Python version to 2.5
    • improved Unicode support
    • open BKChem on Windows in 'My Documents' by default
    • support for plural forms in translations
    • bugfixes

    As usually, more info is in progress.log, downloads on the download page.

    All translators are encouraged to update their translations. Please, send them in before the end of August, that will ensure that your updates will be included in the final 0.14.0 release.

  • 2010-06-25 - BK is dead - long live BKChem:

    Dear BKChem users,
    it is already more than 10 years since I started to work on BKChem. It has never occurred to me that it could develop into something useful and interesting for others. Now, after those long years of almost solitary work on BKChem, I think the time has come for me to step down and pass the torch to someone new.

    I will not bother you with my reasons, as I believe they are pretty standard - family, work, no time to spend on hobby projects The result is that I was not able to work on BKChem properly for a year or more. Because of this, I decided to make one last release and announce the death of BKChem. By a lucky coincidence, I was contacted by Reinis Danne, who has shown much interest in working on BKChem, before I actually did this. After a few emails and patches, I offered him to take over the project and he accepted it.

    This means that in the following weeks, more and more of the BKChem development will move to Reinis' hands. As start, my Git repository will no longer be the current one. The new repository and project pages are located on Gitorious - http://gitorious.org/bkchem and http://gitorious.org/oasa.

    I wish you all a very nice summer and better and faster BKChem releases.

    Beda

  • 2010-06-25 - Video tutorial for BKChem:

    One of my students, Martin Mastný, produced a very nice tutorial on drawing in BKChem. For those interested, it can be found here: http://bkchem.zirael.org/tutorial/.

  • 2010-04-15 - Development sources move from Tla to Git:

    After a long time of using tla (GNU Arch) for BKChem only, I decide to switch it to Git, which I use for everything else. I have updated the corresponding page, so you can give it a try. It should certainly make the access to BKChem development sources much less painful.

  • 2010-01-07 - BKChem 0.14.0-pre1 is out:

    After almost a year from the last release, there is finally something new - the first preview release of the 0.14 series. It includes several new or updated translations, brand new icon-set contributed by Yassine Mrabet, many bugfixes and some enhancements.

    As usually, more info is in the progress.log, downloads on the download page.

  • 2009-09-24 - OASA 0.13.1 windows package for Python 2.6 is available:

    Thanks to Noel O'Boyle a windows package of OASA is now also available for Python 2.6.

  • 2009-04-16 - BKChem 0.13.0 for MacOS X:

    Petri Kelottijärvi contributed a Mac OS 10.5 package for the newest version of BKChem. More info in the wiki.

  • 2009-03-19 - OASA 0.13.1 is out:

    This release of OASA includes several fixes, most notably of lockup during generation of images of complex systems of fused rings. Also image generation now works much faster for larger systems. I encourage everyone using OASA to upgrade to the new version.

    More information and download links are available here.

  • 2009-02-26 - BKChem enters Trophees du Libre:

    I am pround to announce that BKChem has entered the competition for important free software awards - Trophees du Libre.

  • 2009-02-23 - OASA 0.13.0 is out:

    Accompanying BKChem I also relase version 0.13 of OASA. This release includes several fixes and an enhancement of drawing of 3D rotated molecules similar to that of BKChem.

    More information and download links are available here.

  • 2009-02-23 - BKChem 0.13.0 is out:

    I decide to use the opportunity of two months in a row which have Friday the 13th to release version 0.13 of BKChem. This release includes one fix in InChIKey generation and an enhancement of drawing of 3D rotated molecules (examples will soon appear on my blog). BKChem also underwent some much needed code cleanup.

    As usually, more info is in the progress.log, downloads on the download page.

  • 2009-02-17 - BKChem 0.12.6 is out:

    This release brings new options for 3D rotation - ability to fix one bond and rotate around it, coupled with the possibility to rotate only one part of the molecule to adjust conformation of the molecule. It also includes a few bugfixes and translation updates.

    This release also finally includes the new Spanish and Italian translations promised in 0.12.5 (I apologize for the stupid packaging bug).

    As usually, more info is in progress.log, downloads on the download page.

  • 2009-02-09 - BKBlog:

    I started my personal blog to share random news and ideas related to BKChem, OASA, InChI, cheminformatics, etc.

  • 2009-02-09 - OASA 0.12.7 is out:

    This version fixes a bug in cairo_out that prevented the background from being painted. Therefore the export always had a transparent background, regardless of the value of background. More information and download links are available here.

  • 2009-01-29 - OASA 0.12.6 is out:

    This version of OASA adds export to SVG and PDF as well as support for more than one molecule per drawing. More information and download links are available here.

  • 2008-12-08 - BKChem 0.12.5 for Mac OS X:

    New Mac OS X package was contributed by Martin Ballaschk. You can find it on the download page.

  • 2008-11-26 - OASA 0.12.5 is out:

    There are some minor enhancements and fixes in the cairo_out code that might be worth checking out. More information and download links are available here.

  • 2008-11-26 - BKChem 0.12.5 is out:

    A problem with the BLT library reported on Ubuntu 8.10 was fixed (sidestepped) in this release. There are also a few bugfixes, a minor enhancement in form of monoisotopic mass calculation and new Italian and Spanish translations.

    I have also added a list of current translators to the translations page.

    As usually, more info is in progress.log, downloads on the download page.

  • 2008-10-24 - 0.12.4 is out, please update:

    As I posted earlier today, there is a bug in version 0.12.3 which causes corrupted files to be saved under specific conditions (for users without existing personal standard settings). This release rectifies this error and is also capable of reading corrupted files produced by the previous version.

    Please update. Download from here.

  • 2008-10-24 - serious bug found in 0.12.3:

    There is a stupid bug in the 0.12.3 version that bites only new users or users of fresh installs of BKChem. The details of this bug are described here, together with a temporary solution. A new version of BKChem rectifying this issue will follow soon.

    I am sorry for the inconvenience.

  • 2008-10-09 - 0.12.3 is out:

    This release adds a few minor features (simple minor mode for easy drawing of wavy lines that are used to depict the attachment point of a fragment, many more paper sizes and better handling of parts of drawing that accidentally get out of the paper, 2D rotation of arrows,..). For the first time, this release is also available without the Piddle libraries, which contain a jumble of different licences that might be in unacceptable for some users. Windows users should benefit from addition of a new Cairo based PDF export (for Linux users this is already available for quite a time).

    As usually, more info is in progress.log, downloads on the download page.

  • 2008-06-11 - Kludging BKChem:

    Gary Bartholomew contributed a nice step-by-step tutorial that shows how to wrestle BKChem to do what you want. It contains screenshots of every step and is well commented. You can download the tutorial from the wiki howtos page.

  • 30.5.2008 - 0.12.2 is out:

    In 0.12.1 I fixed a problem that caused H2O to appear as OH2. Unfortunately this fix also introduced a new bug - not hydrogens were automatically positioned, so OH appeared as OH regardless of position of its neighbor atom (-OH and OH-). This release was published mainly to deal with this stupid error.

    This release also features an improved and polished version of BKChem icon which was contributed by Jakub Szypulka.

    As usually, more info is in progress.log, downloads on the download page.

  • 27.5.2008 - new version of the BKChem bundle for Mac OS 10.5:

    The all-in-one bundle of BKChem for Mac OS 10.5 was updated by Martin Ballaschk. You can download it on the download page.

  • 26.5.2008 - BKChem bundle for Mac OS 10.5:

    Martin Ballaschk contributed an all-in-one bundle of BKChem for Mac OS 10.5. You can download it on the download page.

  • 20.5.2008 - new release of the OASA library:

    After a bug hunting session, a new version of OASA is available for download. More information and download links are available here. Thanks to Noel O'Boyle for helping me find several of the bugs.

  • 16.5.2008 - OASA library first public release:

    I have released a separate package for the OASA library which forms the basis of BKChem's. More information about this library is available here together with links to the packages.

  • 12.5.2008 - 0.12.1 is out:

    The second stable release in the 0.12 series is finally out. It fixes several bugs and adds some new features, such as cis-trans stereochemistry parsing from SMILES and nicer strained double bonds drawing.

    As usually, more info is in progress.log, downloads on the download page.

  • 10.12.2007 - 0.12.0 is finally out:

    The first stable release in the 0.12 series is finally out. It fixes several problems from the previous pre-release and although not every issue was resolved, it is much better than the last stable release 0.11.6.

    As usually, more info is in progress.log, downloads on the download page.

  • 5.11.2007 - preview release 0.12.0_pre7:

    Another iteration in the process of preparing perfect export plugins. This bugfix release should solve potential problems of BKChem getting stuck on some cairo-based exports (reported for SVG and EPS on Windows).

    As usually, more info is in progress.log, downloads on the download page.

  • 30.10.2007 - preview release 0.12.0_pre6:

    In quick succession another preview release is out. This one adds two important Cairo based exports - PostScript and SVG. Both have the same high quality of Cairo exports as the older PNG and PDF plugins. The new SVG export is also compatible with the popular RSVG viewing and rendering program, which does not support all the SVG features used by the default SVG export.

    As usually, more info is in progress.log, downloads on the download page.

  • 25.10.2007 - preview release 0.12.0_pre5:

    This is a quick-fix release. In pre4 a file essential for the ODF plugin is not installed during the install process using setup.py. This results in ODF export crashing with 'The manifest file not found in the plugin directory'.

    As usually, more info is in progress.log, downloads on the download page.

  • 22.10.2007 - preview release 0.12.0_pre4:

    This release adds support for different arrow types (retro, electron-transfer, equilibrium) and ODF (OpenOffice 2.0) export plugin.

    As usually, more info is in progress.log, downloads on the download page.

  • 2.10.2007 - BKChem has a wiki now:

    To give the users the possibility to share their experience with BKChem I have started BKChem wiki. Thanks to the effort of René Genz, there are already two articles on BKChem -> OpenOffice interaction. Please do not hesitate to contribute you tips, tricks and other BKChem related stuff.

  • 17.9.2007 - preview release 0.12.0_pre3:

    This release finally contains full support for spline arrows in SVG, PNG and PDF exports. It also contains fixes for several bugs. Although it is marked as preview release, I would encourage everyone to update because it is surely better than 0.11.6.

    As usually, more info is in progress.log, downloads on the download page.

  • 4.4.2007 - preview release 0.12.0_pre2:

    This release fixes a few of problems with 0.12.0_pre1. Unfortunately I did not have time to fix all the reported problems, not speaking about new features. On the other hand, it is better than nothing.

    As usually, more info is in progress.log, downloads on the download page.

  • 26.10.2006 - preview release 0.12.0_pre1:

    This release finally brings together all the changes that I had in my repository and the online version. There are several bugfixes and many enhancements.

    Not all the issues that were reported by users were fixed yet, but the ones that remain are small. The main focus of this release is to publish the new code for review before Xmas.

    As usually, more info is in progress.log, downloads on the download page.

  • 26.10.2006 - 0.11.6 is out:

    This version is yet another bug-fix release of the 0.11 series. It fixes two major bugs, one in the German translation, the other in OpenOffice Draw export. There are also a few other fixes.

    As usually, more info is in progress.log, downloads on the download page.

  • 30.8.2006 - 0.11.5 is out:

    After a long time of silence, I decided to publish an older snapshot of BKChem, so that at least something new appears. In this release several bugs were fixed, German translation was updated and the Windows package now includes Cairo thus enabling high quality PNG export.

    Also thanks to Jerome Pansanel I have a small howto on installation on MacOS X and a new Mac OS X screenshot.

    As usually, more info is in progress.log, downloads on the download page.

  • 14.8.2006 - I aten't dead:

    Because questions from users start to crop up if BKChem is still developed, I decided to update the website even without a new release. Unfortunately, I did not have much time lately to work on BKChem. Some progress has been made, but I have no time for the boring and time consuming work needed to make a reasonably good release. I am sorry for that, especially because there is a new German translation waiting to be included and several bugfixes. Shame on me.

    To do at least something for the users, I have updated the development sources page, because the howto was out of date and did not work, and also the Arch build scripts.

    I hope to make a release soon, but I can't promise anything.

  • 23.2.2006 - 0.11.4 is out:

    In this release several bugs were fixed and also some functionality added. The Cairo PNG export now asks for resolution of the exported file, thus enabling creation of high resolution exports. Also parsing of linear formulas was improved.

    As usually, more info is in progress.log, downloads on the download page.

  • 14.2.2006 - 0.11.3 is out:

    This bugfix release fixes problems with unicode path names on both Linux and Windows, problems with corrupted preference file preventing BKChem to start and some other bugs.

    As usually, more info is in progress.log, downloads on the download page.

  • 11.1.2006 - 0.11.2 is out:

    This bugfix release fixes problems with privileges on Windows machines by writting bkchems config files and user templates to the users directory instead of the install directory. Also French translation was updated (I forgot the update last time :( ).

    As usually, more info is in progress.log, downloads on the download page.

  • 5.12.2005 - info for translators:

    I have placed the .pot file needed for translation of BKChem to the homepage, so that it is easily accessible for the translators.

  • 5.12.2005 - 0.11.1 is out:

    After a long time a new version of BKChem is out. It is mostly a bugfix release.

    As usually, more info is in progress.log, downloads on the download page.

  • 4.10.2005 - BKChem site update:

    I have changed the look of the BKChem site a little and updated some information in FNA.

  • 29.9.2005 - 0.11.0-final is out:

    The final release of the 0.11 branch is out. This release fixes one annoying bug in coordinate generation that made BKChem crash when reading some SMILES or InChIs.

    As usually, more info is in progress.log, downloads on the download page.

  • 26.9.2005 - 0.11.0_pre2 is out:

    The second preview release of the 0.11 branch is out. This release focuses on improving the InChI reading capabilities. BKChem can now successfully read 98.5% of InChIs generated from the NCI database (about 120 000 compounds). More information about this feature can be found here. Also some minor bugs in other parts of the program were fixed.

    As usually, more info is in progress.log, downloads on the download page.

  • 8.9.2005 - 0.11.0_pre1 is out:

    The first preview release of the 0.11 branch is out. It includes many enhancements as well as bugfixes. There is for instance the ability to search a directory for BKChem files containing specified molecular fragment (with use of free-sites, A,Q,X query atoms etc.), or a simple support for creating brackets. As with all pre-releases, the number of bugs might be slightly above average :)

    As usually, more info is in progress.log, downloads on the download page.

  • 1.9.2005 - news RSS feed:

    I have created a RSS feed for the BKChem news. You can use it to stay tuned to the BKChem development.

  • 14.7.2005 - 0.10.2 is out:

    This is a quick-bugfix release. I have found a bug that prevents reading of some files back to BKChem. It occurs when there are some atoms with font size set to different value than is the standard. I have also fixed an encoding related bug in dialogs in the localized build.

    Because I have finished work on Cairo export plugin yesterday, I am releasing it together with this release. It works only on Linux (as there is no Cairo for Windows) and you have to have pycairo-0.5.1 installed (look here and here for sources). It provides very nice PDF and PNG export and supports (unlike the piddle based plugins) export of unicode strings.

    As usually, more info in progress.log, downloads on the download page.

  • 30.6.2005 - 0.10.1 is out:

    A bugfix release 0.10.1 is ready for download. It contains several fixes in OpenOffice export and some other, more general fixes.

    More info in progress.log, downloads on the download page.

  • 23.6.2005 - Gentoo ebuild for BKChem-0.10.0:

    I have created a BKChem ebuild for Gentoo Linux. I have submited an ebuild for the first pre-release to Gentoo maintainers, however, probably due to lack of time, it was not added to the portage yet. Therefore I publish the ebuild here.

    Mac keyboard shortcuts pdf

    You can download it here. You can either setup a portage overlay to use the script or copy it to /usr/portage/sci-chemistry/bkchem/. Then you have to make

    in the above directory as root. After this you should be able to emerge BKChem via portage.

  • 23.6.2005 - 0.10.0 is out:

    After two prereleases the final version of 0.10.0 is ready. I have fixed several bugs and introduced some minor enhancements.

    More info in progress.log, downloads on the download page.

  • 8.6.2005 - pre2 is out:

    Second preview release of BKChem-0.10.0 is out. It fixes a serious bug that crashed BKChem on attempts to add mark to an atom. It also brings keyboard shortcuts for formatting text in the edit area.

    More info in progress.log, downloads on the download page.

  • 7.6.2005 - Forgotten documetation:

    Last time I completely forgot to mention two new short tutorials - Creating custom plugins and Batch mode scripts. These both are also available in the doc directory of the distribution.

  • 3.6.2005 - Back in black:

    After a long pause, finally a new version of BKChem is out. It is the first preview release of the 0.10.0 version.

    It brings a lot of new goodies - parsing of linear formulas (-CH2COOCH2CH3 and similar), support for user written plugins, nicer rendering of bonds, interactive positioning of marks, more marks of one type per atom, new common groups, numbering support - just to name some. Because it is a preview release, bugs are surely to be found, but hopefully not too many :)

    More info in progress.log, downloads on the download page.

    NOTE: Files saved in this version of BKChem are unlikely to work with older versions, so be cautious.

    NOTE2: In this release I am shipping Pmw together with BKChem as I had to fix a bug there and it seems that Pmw is not developed anymore.

  • 16.2.2005:

    I have added another category for retrieving bkchem arch sources. It is called bkchem--alpha and contains sources that I have branched from my development line as a relatively stable reference. They are not guaranteed (and meant) to run without problems, but they should at least run :). More on this page.

  • 14.2.2005:

    There are big changes in BKChem, however the sources are not stable enough to make a preview release and I have no time to stabilize it anytime soon.

    Therefore I have at least made the arch mirror of my development archives work again, so the brave can try the latest sources (they are not guaranteed to even work).

    You can find the info on how to get them here.

  • 20.12.2004:

    Because I will not be able to release anything new this year, I would like to wish Merry Christmass and Happy New Year to everybody. See you in the next year.

  • 20.12.2004:

    I have added an entry in FNA explaining the lack of Linux binaries of BKChem.

  • 2.12.2004:

    0.9.0 final is out. A few issues were fixed and the UI was polished a little.

    More info in progress.log, downloads on the download page.

  • 23.11.2004:

    The second preview release 0.9.0-pre2 is out. One minor issue was fixed, a shortcut key for marking a template atom (bond) was changed to C-t (was C-t C-1) and the Windows builds were repackaged and should now (hopefully) contain everything needed to run BKChem on completely python-free machines.

    More info in progress.log, downloads on the download page.

  • 19.11.2004:

    A preview release 0.9.0-pre1 is out. It brings support for custom made templates (read this to learn how to prepare them), dash bonds, PDF and new PostScript export plugins and finally a possibility to load bkchem from a script and manipulate it from outside (a small tutorial on this is here). It includes also the usual load of bugfixes.

    This new release also includes a partial distribution of Piddle - a free library for handling of PDF, PS and other graphic formats. Because the project seems to be dead for a few years, is licensed under GNU GPL and I do not want to have another dependency in bkchem I decided to include it in the distribution. In case I make any major changes to the source code of Piddle I will release it as a standalone version. All the credit for this library goes to its authors.

    More info in progress.log, downloads on the download page.

  • 8.10.2004:

    A bugfix release 0.8.1 is out. Two Windows specific bugs were fixed (program not responding after using context menu and crash on program exit) and an unfinished submode 'free rotation around single bond' was removed. Encodings were also included into the Windows binary distros, so that it is possible to use different languages. See the FNA page for more info on this.

    More info in progress.log, downloads on the download page.

  • 4.10.2004:

    The 0.8.0final is out. From 0.8.0-pre2 only one bug was fixed - the import of xpath from xml which made bkchem dependent on the xml-plus package. As always there is a platform independent source distribution and a windows binary installer.

    More info in progress.log, downloads on the download page.

  • 30.9.2004:

    There was a bug in the Windows binaries released yesterday - the INChI generation did not work right. I have fixed it (it was a one character change) and released new windows packages. Those affected please upgrade.

  • 29.9.2004:

    Second preview release of the 0.8.0 series (0.8.0-pre2) is out. It contains a nice load of enhancements, bugfixes and changes. Context menu, atom and reaction modes were added, INChI can be generated via an external program, last window geometry is restored on startup, text of atoms can be changed by simply starting to type (no need to hit Space anymore) and more.. (see the progress.log).

    Downloads on the download page.

    Note: To use the external INChI program you have to have one :) and set the path to it in the 'Menu/Options/INChI program path'

  • 26.8.2004:

    First preview release of the 0.8.0 series (0.8.0-pre1) is out. The main new feature of this release is the possibility to open multiple files, copy between them etc. The usual load of bugfixes is also included.

    More info in progress.log, downloads on the download page.

  • 25.8.2004:

    I have prepared a windows installer for release 0.7.0. I did not have a chance to test it thoroughly, however on my computer it works just fine. I welcome any comments and suggestions.

    Acknowledgments: The installer was build with help of Inno Setup, a really great tool for building windows installers.

  • 11.8.2004:

    Release 0.7.0 contained files with wrong permissions and therefore installation after linux was corrupted for non-privileged users. This is fixed in release 0.7.1. As this is the only difference, there is no binary release for windows (windows users should be unaffected by this bug).

    More info in progress.log, downloads on the download page.

    Note: You may need to delete the dir '/usr/share/bkchem' (or generally 'prefix/share/bkchem') and run install again to update the permissions.

  • 9.8.2004:

    Release 0.7.0 is ready. The main difference from the 0.7.0-pre1 release is improved scalability of several parts of the code, meaning speedup of handling of larger molecules.

    More info in progress.log, downloads on the download page.

  • 31.5.2004:

    A preview release 0.7.0-pre1 is ready. It is the first release featuring OASA - a free chemical library I have started to work on this year. It brings support for several chemical formats (at present SMILES, Molfiles and IChI (reading only)). To be able to use these features you have to have at least Python 2.3.

    More info in progress.log, downloads on the download page.

  • 20.5.2004:

    I added the FNA page, check it for some tricks.

  • 9.5.2004:

    The binary package for windows was updated. It was broken (no icons, splash screen, templates and openoffice export) and worked only coincidentally on my computer because the sources were lying around. I am sorry for this stupid bug :(

  • 2.5.2004:

    Final release of 0.6.0 branch is here. Several fixes and small enhancements were added. See the progress.log for details and download from the download page.

  • 13.4.2004:

    First preview release of the 0.6.0 branch, the 0.6.0-pre1, is available. Lots of new goodies, such as stereo double bonds, transformation mode etc., is included - see the progress.log. You can download the sources from the download page. As always, all bugreports and suggestions are welcome. (Windows binary release will be available for the stable 0.6.0 release).