Getting Started

    Creating Atoms, Bonds, and Complex Structures

    Drawing an Atom

    • Place an atom on the canvas by selecting one of the frequently used atoms from the atom toolbar or from the Periodic table.
    • Type its chemical symbol and click on the canvas where you want to put it.

    Changing an Atom Type

    • Select the atom/atoms you would like to change with the Select tool, and then type the chemical symbol on your keyboard, or use the buttons on the atoms toolbar.
    • Right-click the atom and change the atom type in the Atom properties dialog.

    Drawing a Bond

    • To create a bond between two atoms, select the appropriate bond type from the Bonds combo box on the tools toolbar and click one of the two atoms then drag the bond to the other atom or an empty place.

    Changing a Bond Type

    • Select another bond type from the Bonds combo box and click the bond to be changed.
    • Right-click the bond and choose another bond type in the Bond properties dialog.
    • Move the mouse over the bond and hit the appropriate keyboard shortcut.

    Complex Structures

    • Drawing a chain is possible by clicking the Chain button on the tools toolbar and dragging on the canvas, or by using one of the Bond tools.
    • Place a template on the canvas by selecting a template from the template toolbar and click on the canvas. Predefined abbreviated groups can be also useful to create complex molecular structures.
    • For selecting an abbreviated group, use the Abbreviated groups button of the template toolbar.

    Navigating on the Canvas

    The Zoom in and Zoom out buttons can be used to control the zoom factor of the canvas. Alternatively, the mouse wheel can also be used. Simply scroll with it when the canvas is in focus.

    The Zoom all button optimizes the size of the structure to the canvas size. The Zoom to selection button displays only the selected structure on the canvas.

    The vertical and horizontal scroll bars appear when the structure is bigger than the canvas or when some structural parts are out of the canvas.



    The following selection modes are available in Marvin JS:

    • Rectangle selection: Provides easy selection when the fragments can be drawn around with a rectangle. Hold the mouse button while selecting; release the mouse when you are ready.
    • Freehand selection: Hold the mouse button and move the mouse pointer around the fragment you would like to select, then release the mouse button.

    To select an atom, bond or group, click or select it (while the active tool is either the Rectangle selection or the Freehand selection). To select a structure, double-click an atom or a bond of it while the active tool is either the Rectangle selection or the Freehand selection. To unselect, click an empty place on the canvas.

    Moving on the Canvas

    To move a single atom or bond, drag it on the canvas while one of the selection tools is active.

    To move a selected molecule, move the it by dragging one of its atoms. In the case of graphical objects, drag the selected graphical object by its line.


    To delete an atom or a bond, click the Delete tool on the tools toolbar, then click the atom or the bond. Alternatively, you can select the parts you would like to erase by holding the left mouse button and dragging. You can delete a previously selected area by clicking on the Delete tool or pressing the Delete key.

    Tips and Tricks

    • To see all available drawing tools, open the combo boxes, these are marked with a black triangle at the lower-right corner of the tool. The main combo button preserves the latest selection.
    • For drawing complicated molecules, you can use the Drawing tool, which enables you to create bonds without changing tools or even releasing the mouse button.
    • You can find more functionalities in context menus. You can open context menus by right-clicking on certain parts of your structures (for example atom, bond, R-group definition, and so on). For more information, see Context Menus.
    • By using the options available in the View settings it is possible to specify how structures are displayed. For more information, see the View settings dialog.
    • You can get more information about the other features of Marvin JS from the Video Tutorials.

    Comparison of Marvin JS and MarvinSketch Feature Sets

    Feature Marvin JS version 20.20 MarvinSketch
    Atom drawing ✔️ ✔️
    Periodic Table ✔️ ✔️
    Charge ✔️ ✔️
    Isotope ✔️ ✔️
    Radical ✔️ ✔️
    Adding lone pairs ✔️ ✔️
    Automatic lone pair calculation ✔️ ✔️
    Enhanced stereo notation ✔️ ✔️
    Query atoms ✔️ ✔️
    Atom query properties ✔️ ✔️
    Bond drawing ✔️ ✔️
    Chemical bonds ✔️ ✔️
    Query bonds ✔️ ✔️
    Bond query properties ✔️ ✔️
    Setting bond thickness and length ✔️
    Chain drawing ✔️ ✔️
    Inserting templates ✔️ ✔️
    Custom templates ✔️ ✔️
    Predefined abbreviated groups ✔️ ✔️
    User-defined abbreviated groups Possible from the server side by integrator ✔️
    Merging ✔️ ✔️
    Sprout drawing ✔️ ✔️
    Drag, zoom, mirror, rotate in 2D ✔️ ✔️
    Drag, zoom, mirror, rotate in 3D WS ✔️
    Clean 2D WS ✔️
    Clean 3D WS ✔️
    Cut/Copy ✔️ ✔️
    Paste (data from the same application) ✔️ ✔️
    Paste (data from another application) Mol (V2000) and MRV formats (Others: WS*) ✔️
    Drag&Drop WS ✔️
    Copy/Paste as OLE ✔️
    Setting absolute stereo (Chiral) ✔️ ✔️
    Atom lists/NOT lists ✔️ ✔️
    R-group labels ✔️ ✔️
    R-group definition ✔️ ✔️
    R-group logic ✔️ ✔️
    Link nodes ✔️ ✔️
    Frequency variation ✔️ ✔️
    Position variation bond ✔️ ✔️
    Homology groups ✔️ ✔️
    Homology group properties ✔️
    Alias and pseudo atoms ✔️ ✔️
    Custom SMARTS properties ✔️ ✔️
    Reaction drawing ✔️ ✔️
    Adding textbox ✔️ ✔️
    Electron flow arrows ✔️ ✔️
    Drawing S-groups ✔️
    Data S-groups Atoms, bonds, groups, fragments ✔️
    Coordinate bond from multi-atom group ✔️ ✔️
    Graphical elements (circle, line, graphical arrows...) Ellipse and rectangle ✔️
    Picture templates
    Textbox templates
    Grid/Ruler/Crosshair ✔️
    Alignment ✔️
    Setting text fonts ✔️
    MRV ✔️ ✔️
    MDL Molfile V2000 ✔️ ✔️
    MDL Molfile V3000 WS ✔️
    MDL SDfile WS ✔️
    SMILES WS ✔️
    SMARTS WS ✔️
    CXN Extended SMARTS WS ✔️
    InChi WS ✔️
    InChiKey, export only WS ✔️
    Name WS ✔️
    CML WS ✔️
    XYZ WS ✔️
    CXN Compressed Molfile WS ✔️
    CXN Compressed SDfile WS ✔️
    CDX WS ✔️
    SKC WS ✔️
    Image import: structures with OSRA
    Image import: pictures
    Image export via GUI ✔️ ✔️
    Image export via API ✔️ ✔️
    Valence check ✔️ ✔️
    Aromatization ✔️ ✔️
    Explicit hydrogen display WS ✔️
    Mapping (manual) ✔️ ✔️
    Mapping (automatic) WS ✔️
    Structure Checker integrated No, but an example is available on how to integrate it. ✔️
    Calculator Plugins integrated ✔️
    Carbon label visibility ✔️ ✔️
    Implicit hydrogen visibility ✔️ ✔️
    Lone pair visibility ✔️ ✔️
    Atom index visibility ✔️ ✔️
    Using CPK colors ✔️ ✔️
    Structure display (wireframe, ball&stick, spacefill) ✔️ ✔️
    R/S and E/Z stereo notation WS ✔️
    3D display WS ✔️
    Biomolecule display ✔️
    Customization via user-defined buttons for calling JS functionalities ✔️
    Customization of menus, buttons, and shortcuts No, but presets available. ✔️
    Built-in configurations (ChemDraw-like, ISIS-like...) ✔️

    {info} WS indicates that the specific functionality needs the appropriate web service. For more information about web services, see the Web services or contact us at