Knowledge Base | What's New | Contact Us |

IcmJS - JavaScript 3D Molecular Viewer

| IcmJS Webinar Recording |


IcmJS (formerly known as ActiveIcmJS) is a JavaScript/HTML5 3D molecular viewer which does not require any plug-in or browser extension and runs inside any modern browser. IcmJS brings desktop quality graphics to the web applications.


  • Rich set of graphical representations: (wire, stick, CPK, ribbon and surface)
  • Active sites, atom and residues labels.
  • Various coloring schemes and tools.
  • Selection tools
  • Distance and angle measurement tools
  • Neighbor selection tools
  • Full screen mode
  • Functionality to save and restore slides
  • Supports various input formats: PDB, MOL, MOL2, ICB
  • 2D sequence view
  • Display and share docking hitlist and chemical tables - click to view the docked ligand in the receptor, toggle on/off the display of multiple ligands.
  • Fully interactive chemical spreadsheets - sort columns, toggle 3D display, view interactive plots (radar, pie), clustering and dendograms.
  • Display interactive 2D ligand interaction diagrams linked to 3D structure
  • Display interactive alignments linked to 3D structure.

IcmJS is not just a molecule viewer you can:

* Display chemical 3D interactive spreadsheets for viewing docking results * Interactive plots and histograms * Sequence alignments linked to 3D structure * 2D ligand diagrams (just added for version 1.2.4)

This makes it a perfect tool for data sharing and publishing.

Background Color: Anaglyph Stereo: Rocking:


Fully interactive chemical spreadsheets - ideal for sharing docking/screening data.

Link sequence alignments to protein structure - propagate sequence conservation to structure.

Fully interactive 2D interaction diagrams.

Installation and Usage

You don't need to install IcmJS to view pages.

For IcmJS examples please visit links below:

Create HTML5 Code and Embed using ICM

To make a fully interactive 3D molecular web page from ICM.

  • Use ICM vesion 3.8-5 or higher. If you do not have access to this please email us to request it.
  • Make a set of slides.
  • Go to File/Export as ActiveICM Html and then select the IcmJS check box.

License Agreement

IcmJS is free to use so long as certain conditions are met. Please review the license agreement carefully here (PDF).

Please Contact us if you have any questions or would like to obtain a IcmJS server license.

Frequently Asked Questions

What makes IcmJS different from other JavaScript viewers online?

IcmJS is fast (runs at near native speed), has exceptional high quality graphics and it ports the ICM shell and therefore has full access to ICM scripting functionality. This makes the viewer capable of performing to a wide range of computational biology and chemistry functions available in ICM. For example, you can run any local or remote ICM script or any list of commands from the web browser (see the technical documentation).

What is ActiveICM ?

ActiveICM is a patented technology (US Patent No:7,880,738) and is a popular tool for data publishing and exchange. Inside a single file you can save and display many different data types such as sequences, alignments, plots, tables, protein and DNA/RNA structures. You can read more in these publications:
  • Abagyan, R. et al. Disseminating structural genomics data to the public: from a data dump to an animated story. Trends Biochem. Sci. 31, 76:78 (2006).
  • Lee, W. H., Atienza-Herrero, J., Abagyan, R. & Marsden, B. D. SGC--structural biology and human health: a new approach to publishing structural biology results. PloS One 4, e7675 (2009).
  • Lee, W. H. et al. Interactive JIMD articles using the iSee concept: turning a new page on structural biology data. J. Inherit. Metab. Dis. 34, 565:567 (2011).
  • Raush, E., Totrov, M., Marsden, B. D. & Abagyan, R. A new method for publishing three-dimensional content. PloS One 4, e7394 (2009).

What are the terms of use?

IcmJS is free to use so long as certain conditions are met. Please review the license agreement carefully here (PDF).

Why did MolSoft change from ActiveICM plugin to IcmJS?

Originally when ActiveICM was developed all browsers supported the Netscape Plugin Application Programming Interface (NPAPI) but over time browsers have dropped their support for this. So we developed IcmJS which is a better alternative.

How to convert page with ActiveIcm to IcmJS?

If your page was created in ICM using "File/Export to HTML" menu, then the simplest way is to re-export it using the latest ICM and checking 'Export Graphics in_ActiveIcmJS' checkbox. The newly created page will contain ActiveIcmJS object and will not require any additional plugins.

For manually created pages please visit our technical page.

What does the embedded ICM code look like?

Here is an example:

Is the ICM shell and Scripting Language Fully Accessible from the Web Browser?

Yes you can run any local or remote ICM script or any list of commands from the web browser (see the technical documentation).

Does IcmJS support Multiple Windows?

Yes multiple IcmJS objects on the same web page are allowed.Each IcmJS object can be controlled separately from the User Interface (UI) and JavaScript. They can also be grouped for synchronous rotation.

What is the technology behind IcmJS?

IcmJS is written in ASM.JS which is an optimizable, strictly typed, low level subset of JS. The full ICM shell and graphics have been compiled into JS using Emscripten. MolSoft has developed a special layer which translates OpenGL into WebGl calls which allows the same codebase and delivers high quality graphics.

Copyright © 2022 Molsoft LLC.
All rights reserved.
Terms of Use
Privacy Policy