ChemDoodle Web Components version 4.0 has been released. Contact us for custom development, integration and support to take advantage of this technology for your business.

Executive Summary

This massive update brings a new full-featured sketching component for desktop and mobile devices, full access to the ChemDoodle desktop API through AJAX, improved animations, further optimized and smaller Javascript, new and improved packaging to reduce polluting the global Javascript namespace, and a polished touch event and mobile gesture framework. Some aspects of the API have changed slightly, so be sure to refer to the new API page.


  1. A new full-featured sketching component, SketcherCanvas, has replaced the DoodleCanvas component. This component is completely customizable, from the buttons and canvas theme, to the way structures are rendered. This is the most professional and advanced web based sketcher available, with or without plugins. It is completely free and open-source.
  2. The ChemDoodle Web Components library now has full access to the entire ChemDoodle desktop API through AJAX XMLHttpRequest Level 2 to our server. Now you can use the ChemDoodle Web Components library to manipulate SMILES, read and write ChemDoodle and ChemDraw files, simulate NMR, generate descriptors and much more.
  3. The ChemDoodle Web Components library has been rewritten using closures. This optimizes the code for faster performance, and allows the code to be minified smaller. Also, only the ChemDoodle variable is now placed into the global Javascript namespace, so no conflicts should occur with other libraries. All functions in the ChemDoodle Web Components library can be accessed through the ChemDoodle variable. This means that the API has changed a bit. All code is now organized into packages that can be easily used and extended.
  4. Added a complete and thorough tutorial to introduce users to using the ChemDoodle Web Components library. It covers everything from using the ChemDoodle object, to creating complex animations, to generating SMILES strings.
  5. The animations framework has been improved. The framework now keeps track of time between repaint calls, for very smooth and consistent animations across all devices. The default timeout now specifies framerates of 30fps. The abstract nextFrame() function now takes a delta parameter to notify the update of how much time has ellapsed since the last call.
  6. Calls to WebGL have been updated in anticipation for the official launch of the technology.
  7. The WebGL warning has been removed, and WebGL canvases now just render that WebGL is unavailable if they cannot perform.
  8. Double-clicking on the TransformCanvas component now centers the structure.
  9. The touch event and mobile gesture framework has been improved to better handle mobile devices.
  10. A new function has been added to retrieve the version of the current source, ChemDoodle.getVersion().
  11. Added a new specification for molecular data in JSON for optimized storage and handling of chemical information.


  1. Charges are now placed in more aethetic positions.
  2. Fixed bug where bonds referenced past rings, even after they were destroyed.
  3. Fixed a rare issue where some mouse events were being doubly called.
  4. Multi-word font names are now handled properly.
  5. Removed Hanser ring detection.
  6. Fixed bug where wedge bonds did not color according to JMol colors when the corresponding specification was set.
  7. Changed key event access from keyCode to which.
  8. Removed unnecessary semicolons after loops.