Creating and importing molecules

  • Updated

You can create molecules by importing them or by drawing individual molecules. Molecule drawing is enabled with ChemAxon’s Marvin JS sketcher.

Create individual molecules

You can create individual molecules in the global, project, or Registry create menus. The instructions below are for the global create menu.

Tip: To input schema fields during molecule creation, we recommend using the Registry create menu.

To create a molecule:

  1. Click + in the left-side menu.

  2. Hover over Molecule, then click New Molecule.

  3. In the Create Molecule modal, enter the molecule name and select the folder. You can also select a schema.

    • If you’re using the global or project create menus and select a schema, you’ll complete the schema fields later.

  4. Enter the chemical structure of the molecule.

  5. Click Create.

Enter a chemical structure

You can enter the chemical structure of your molecules by drawing the structure in the Marvin canvas or uploading a chemical structure.

To upload a chemical structure:

  1. Click the Import icon from the top-left corner of the Marvin window.

  2. Click Choose file, select the file, then click Open.

  3. You can select the file format from the drop-down menu or choose to let Marvin auto recognize the file format.

Tip: To enhance your workflow, use Marvin JS keyboard shortcuts.

Registration tables

You can create new molecules and register existing molecules through registration tables by specifying a SMILES string to represent the chemical structure. When inserting a registration table for a molecule entity, a required smiles field is automatically added to the table. You don't need a defined schema field for SMILES.

Import molecules via spreadsheet

You can import molecules in bulk from a spreadsheet, raw text, or .sdf file.

To bulk import molecules:

  1. Click + in the left-side menu.

  2. Hover over Molecule, then click Import New Molecules.

  3. Under Import location, select a project or folder to house the molecules. You can also select a schema.

  4. Click Next.

  5. Select your import method from the drop-down menu.

    • If you’re using spreadsheet or .sdf, select Choose file. Select the file, then click Open.

    • If you’re using raw text, enter or paste the text into the window.

  6. Click Next to upload the data, then click Next to validate it.

  7. Click Import.

Note: If you’re importing from a spreadsheet, you can rely on a column of data representing chemical structure in SMILES or .mol file format; both must be in text/string format.

Supported file formats for chemical structure imports

Benchling supports many common and proprietary file formats. You can use the table below as a general reference to determine if a file type is supported, however, we’re continuously expanding our list of supported formats, so we always recommend first trying to upload your file into the importer, as it might not yet be included in this reference.

File type


MDL MOLfiles V2000

Extended MOLfiles V3000

ChemAxon compressed MOLfile


MDL SD Files


Simplified molecular Input Line Entry Specification (SMILES)


.smi, .smiles, .cxsmiles


There are a variety of endpoints available through Capillary which can:

  • Bulk archive molecules

  • Bulk unarchive molecules

  • Bulk update molecules

  • Create bulk and single molecules

  • Get a molecule by API identifier

  • List all molecules

To learn more about these endpoints, visit the Molecules API documentation.


Can I create or import molecules with R-groups?

No. At this time, molecule entities don’t support ambiguous molecules containing R-groups.

Can I store multicomponent structures?

No. Multicomponent chemical structures can’t currently be stored as molecules. If you try to create a molecule with multiple components, an error displays.

Can I display salts on chemical structures?

Not yet. Currently, salts are automatically stripped from the file during conversion. The largest fragment of the original molecule by atom count is kept as the parent molecule, and all other fragments are treated as salts.

Salts can be saved in schema and custom fields when detected upon bulk import. They’re parsed and stored as a list of SMILES strings saved as a text field value.

Was this article helpful?

Have more questions? Submit a request