Barcodes and barcode labels allow you to find what you are looking for fast. The idea is to be able to point a barcode scanner at something and immediately retrieve information about it.

You can generate and print barcode labels through the app which you can then attach to bags or reels containing your parts and once you scan them, the app will highlight the corresponding item.

Currently, you can generate barcode labels through the app for Parts and Storage.

At the moment, barcode scanning only supports barcodes generated by the app. Support for vendor-specific barcodes (e.g. DigiKey, Mouser, TME) will be added later on.


BOMIST has been tested with a Zebra DS2278 barcode scanner, but any barcode scanner recognized as a USB Keyboard should work without any special setup.

Generating Labels

Even though you can always export data from BOMIST (e.g. through the API or by exporting tables into CSV or JSON format) and create your own barcode labels, the app also comes with three barcode label templates that you can conveniently export or print directly through the app.


Detailed and minimal barcode labels include some textual information which make them human-readable, while a basic label simply contains the barcode.

While minimal and basic labels are always a square, the dimensions of detailed barcode labels can be configured through Settings > Barcodes

The height (H) and length (L) are used to calculate an appropriate aspect ratio and a preview of the barcode label will be readily available.

You can also decide which barcode format you want to use by default: DataMatrix or QRcode.

Exporting and Printing Multiple Labels

You can export or print multiple labels at a time. To do so, select the items you want to export a label for on the table, right-click and select "Barcode label".

When sending labels to a printer, the app as no control of when the labels are printed. This is the way operating systems normally work: you send print jobs to a queue and then the printer's driver will pick them up as soon as it finishes previous jobs. If you want to cancel printing or check printing errors you should check your printer settings or printer job queue.

Configuring Label Printers

BOMIST has been tested with a Brother QL-570 label printer, but other models should work too.

Before being able to print a label through the app, make sure you setup the printer for the right label size. Once you select a default label printer through Settings > Barcodes, click on the button on the right to open printer preferences.

If the printer is configured for a given type of label but the printer itself has another type of labels installed in it (dimensions mismatch), it will most likely refuse to print.

On macOS and linux, the driver for the Brother QL-570 is abit lacking. In particular, the name for appropriate label sizes use codes instead of dimensions in a readable format (e.g. "DC01" should be selected for "17x54mm" labels). In these cases, you'll have to find out which code corresponds to the labels you want to use. Contact your label printer manufacturer or try troubleshoot printing through the lpoptions and lp unix command line utilities.

Barcode Labels Printing Issues

The app ships with SumatraPDF on Windows. This is used to print your barcode labels which are first converted into PDF files. Even though for the most part this has been working fine, there have been also a few issues with it, namely poor printing quality and scaling issues on some printers or specific label sizes. To overcome this, you can override the command the app uses to print PDFs, through Settings > Barcodes > PDF print command.

This allows you to use third-party software such as Adobe Acrobat or Foxit Reader to print PDFs through the app. In order to do so, you'd set a command like this in the settings:

"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" /s /o /h /t $filePath "$printerName"

Each PDF software also comes with its own shortcomings though. Adobe Acrobat will always open its GUI which might be inconvenient. Foxit Reader will happily run on the background but will add some margins to the labels. Each software also has its own way to configure printing settings (e.g. scaling etc). These settings cannot be passed on the command line, so you'll have to use the app's GUI to print a label first so it will then remember them whenever using the command line later on.

Creating Your Own Barcodes

You can create Datamatrix and QRcodes directly through the app or through the API. However, you can also create your own barcodes by leveraging the use of the API and by fetching the info you need to create them. All barcodes containing text with the following format can be used by the app:



$ curl localhost:3333/parts
# take note of a part id (e.g. pa_Ngar7E4ejM29AgfaBwqDSF)
# generate a barcode with the following text:


If what you want is to create your own barcode labels but still using the barcodes the app generates, you can export the barcodes into PNG and PDF either through the app or through the API which you can then use to create your own labels using your own scripts or methods.

Additionally, you can override the command the app uses to print barcode labels so, instead of the default one, it would call your own script. This can be done through Settings > Barcodes. In this case, you should include the $data wildcard in the command which will be then replaced by base-58 encoded data of the object you want to generate a barcode label for.