Benchling supports printing labels for any box, plate, container, or registered entity you track.
Label printing components
Before you can print labels, you must design a label template and set up your printers. The table below describes the three components that apply to label printing using any printing method.

Printing options
You can print labels for items in your tenant by uploading ZPL (Zebra Programming Language) label template code into Benchling or through our BarTender integration.
Printing with ZPL
To create labels for printing using ZPL, you need to design your label, then upload it to Benchling. You can design labels using a number of label design programs as long as the software can produce ZPL. We recommend Zebra Designer Pro (V3) as it’s free and provided by Zebra. To design labels using ZPL, visit Creating label templates using Zebra Designer.
Note: Zebra Designer Pro is not compatible with macOS. To run the Zebra Designer software on a Mac, you need an emulator, like a virtual box, PaperSpace, or another program that generates ZPL files.
Printing with BarTender
BarTender manages label templates and printers with robust label design and management tools, and supports a wide variety of label printer makes and models. We recommend most users manage label design and printing with BarTender.
To print with BarTender, it must first be installed on your servers and connected to Benchling. You can then create and manage your label templates in BarTender, which then automatically display as options in the print modal. To learn more about using BarTender with Benchling, visit BarTender basics.
Keywords recognized by Benchling
Keywords are all formatted as benchling.<item type>.<property>
. For example, benchling.container.barcode
or benchling.entity.Cell Count
. The table below lists what properties we support for which items.
Property |
Entity |
Container |
Box |
Plate |
Location |
|
x |
x |
x |
x |
x |
|
x |
|
|
|
|
|
x¹ |
x |
x |
x |
x |
|
x |
x |
x |
x |
x |
|
x |
x |
x |
x |
x |
|
x |
|
|
|
|
|
x |
x |
x |
x |
x |
|
x |
x |
x |
x |
x |
|
|
x |
|
|
|
|
|
x |
|
|
|
|
|
x |
x |
x |
x |
|
|
x |
x |
x |
x |
|
|
x |
x |
x |
x |
|
|
x |
|
|
|
|
|
x |
|
|
|
|
|
x |
|
|
|
|
|
x |
|
|
|
|
|
x |
|
|
|
|
x |
x |
x |
x |
x |
1. The barcode
for a registered entity is its registry ID.
2. The location
property prints the name of the direct parent location of the inventory item.
3. The location_path
property prints the full location path of the inventory item.
4. The location_with_coordinates
property prints the immediate parent location name, but when the container is in a box or matrix plate it prints coordinates instead of a numeric position. For example, Box A:B2
instead of Box A:12
.
5. The position
property prints only the position of a container in a box or plate without the parent location name. This property uses a numeric position for a container in a box and coordinates for a container in a plate.
6. The coordinates
property prints only the coordinates of a container in a box or plate without the parent location name. This property is similar to location_with_coordinates
but only the coordinates are included.
7. To print the schema field value, use the display name of the schema field. Depending on whether you are using ZPL or BarTender templates, you will need to format them differently. In ZPL, copy the display name exactly, including all spaces and punctuation. For example, benchling.entity.Cell Count
. For BarTender, use the display name with all spaces and punctuation, but convert all text to lowercase. If this field isn't found on the entity, the value stays blank.
Note on entities in containers: You can use benchling.entity.<property>
when printing container labels to print information about the entity stored within the container you selected to print a label for. If a container contains multiple entities, only the data on the first entity will be used.