Barcode Label Software Manual & Tutorial

IDAutomation Barcode Label Software is an easy-to-use WYSIWYG barcode label printing software application that prints barcodes, text and graphics on standard laser and inkjet printers, in addition to thermal transfer printers.

Buy License Support Download Demo Release Log


IDAutomation Barcode Label Software is built to run on any operating system that supports the Microsoft® .NET Framework (Although the Framework is no longer required in version 2009). It is compatible with Windows 98 and above, including ME, 2000, XP, 2003, 2008, Vista, 7, 8 and Windows 10.

  1. Download and open or unzip the package to a folder on the hard drive. It is recommended to download and install WinZip if the computer that is installing the product does not have a zip file extraction tool.
  2. Run the setup EXE to start the install utility.
  3. If there is a popup message that states that Microsoft .NET Framework needs to be installed first, please do so and run EXE file again. The Microsoft .NET Framework may be installed by running Windows Update from a computer connected to the Internet or may be downloaded from here.
    Versions 2009 and later: After setup completes, the EXE file that appears in the program directory may be placed on external media such as a USB drive and run by itself from any Windows system. It does not reply upon any setup process, installed components or DLLs and operates as a virtual application. Please ensure the application is properly licensed when using the software in this manner.

Installation on a Network Drive for Multiple Users

  1. Because this product does not install any DLLs or other components in the system directories, it may be easily installed and run from a network or a mapped drive.
  2. Start the install utility.
  3. When prompted for the location, select the network drive and complete the install process.
  4. Create shortcuts on other computers that need to run the application.
  5. If errors occur on any of the computers, try performing the steps outlined in the document about setting security rights for .NET applications.
  6. Make sure there is a license for each user that has access to the software.

Creating Barcode Labels

By using the process outlined here, labels can be created that include barcodes, text and graphics. After the label is created, it can be saved and retrieved for later use. Create a Custom Label Video

  1. After the label application is installed, open the software from the appropriate program group and icon, and choose "Create New Label."
    Create new label
  2. At the "Label Options" screen, select the printer that the labels will be printed to, the label stock type, and the preferred units of measure.
    Choose label options.
    Predefined label stock contains several definitions for Avery, Herma, Zweckform and a few others.
    Pick predefined stock
    When using thermal barcode printers, it is recommended to choose the "Define custom label stock" option.
    Click Next.
  3. When choosing the "Define Custom Label Stock" option, the selections on the next screen will allow the label software to automatically calculate the size of each label.
    Define Custom Label Stock
    Choose or verify the following, and then click OK:
    1. The number of rows and columns of the label sheet. For thermal printers, leave the rows and columns at their defaults and choose the label from the "Paper Type" drop down box.
    2. The spacing between labels.
      In this example, Avery® 5263 laser labels are being used; therefore 5 rows and 2 columns were selected. Also added was spacing between labels of 0.2; smaller labels may use only .1 or .05 in these fields. Notice how the label size is automatically calculated. The label layout can be saved from this screen by clicking the save button; this allows the user to easily select it as a predefined label file stock in the future by choosing "Predefined Label Stock" and then selecting "Custom" from the label products list.
      Defining custom bar-code label templates
  4. On the next screen, click the appropriate object to add text, barcodes, graphics and objects into the design area. If there is a gray border in the design area, this indicates an area where the selected printer is not able to print.

    The Pro and RFID versions include additional objects for GS1-DataBar (RSS), Composite, MICR, PDF-417, Data-Matrix and other 2D barcode types.
  5. Properties of any object may be adjusted by performing a right-click on the object and choosing "Properties".
    Adjusting properties of the barcode objects
  6. When selecting the barcode icon, choose the Value tab from the Properties window. This determines the value to be encoded in the barcode. This is where an incremented, formula or static value, or a link to an external database may be created.
    Barcode Values
    Learn more about adjusting the properties of an object.
  7. Choose the print icon when ready to print the labels. 
  8. Verify or select the print range and choose Print. (It is recommended to print only a few labels at first to verify the alignment to the printer.) If the labels do not print accurately, try adjusting the margins and the spacing between labels in the Label Stock Properties screen by choosing File - Label Stock Properties.
    Set Label Stock Properties
  9. If needing to print to a specific label on the sheet, click the Advanced button for placement options. How to use the Print Range Features Video
    Set Print Range

Creating Label Fields (Constants & Serial Numbers)

Label Fields (Available only in 2009 or later versions) may be used to simplify updates when multiple objects on a label use the same information. For example, a text object and a barcode object may contain the same serial number field that creates a unique incremented number for each label printed. Label Field Properties
Label Fields may be constant values or incrementing numbers. Incremented number fields keep track of which numbers have been printed in previous print jobs, so that each label has a unique number. When the label is opened the next time for printing, the serial number fields begin incrementing at the next unused number.

Use the following procedure to setup Label Fields:

  1. With the label open and design area selected, choose Edit - Properties, right-click - Properties or Item Properties Button.
    Item Properties
  2. Choose the Label Fields tab.
  3. Choose Constant Value or Incrementing Number and enter any necessary values or numbers. Choose the Rename/Name Field option to create a friendly name for the field. In the example below, the "SerialNumber" label field is being renamed to "InventoryBarcode".
    Creating Constants and Serial Number Labels
  4. After the fields are created and applied, they may be used in the Value tab with a VB Script formula by right clicking on the barcode and choosing the value tab. In this example, the newly named label field is being referenced and the Value that was set in the previous step is being called.
    Using the Serial Number in a VB Script Label.
Related Videos:

Linking to External Data Sources & Databases

This barcode label software can link to columns in Microsoft® Access, Excel or a CSV text file as a data source for a text or barcode object, which allows printing of labels from data in Excel and Access or from a file export from other software. IDAutomation's label software can also link to a custom embedded data source.

The Pro and RFID versions provide linking to multiple data sources, powerful database macros and support for additional data sources including ODBC, DSN, Oracle and SQL Server.

Link to External Source Video

Perform the following to link to the data source:
  1. Choose Tools - Data Sets - Link External Data.
    Link to External Data
  2. Choose the data type and choose Search to find the file.
    Choose Data to link to
  3. After the source path is found, choose the appropriate table if applicable.
  4. Choose Link Data; a portion of the linked data should then appear on the screen.
    Link to external data
  5. After the data is linked, choose Close.
  6. Select the field that needs to be linked to the external data and then choose Item Properties To link a column of data to a barcode or text object, click the down arrow next to "Value Type" and select "External DataSource", and click on the source column to link the value. The example window will show what is linked.
    Linked Data
  7. Increment the "label number" in the design screen to verify the data is linked.
  8. When printing, choose "all rows data source" as the option, but only after printing a single page first to verify the alignment.
    print all rows of linked spreadsheet
  9. When linking to the CSV or Text files, the format should be as follows:
    CSV: "Column1","Column2","Column3"
    TEXT: Column1,Column2,Column3
    NOTE: fields containing numbers beginning with zero must be in CSV format and included in parenthesis.

Creating an Embedded Data Set for Manual Data Entry

IDAutomation's barcode label software allows the user to create a database, which is embedded in the label data file itself. This allows data entry of several different custom values to be created on labels.

Perform the following to Create Embedded Data Set Manually:
  1. Choose Tools - Data Sets - Create Embedded DataSet.
    Create an embedded Data Set
  2. By default, three columns are created. Use the buttons at the bottom of the window to add or remove a column or export the data.
    Blank Data Editor
  3. Choose the OK button at the bottom of the window when finished.
    Completed Data Editor
  4. To link a barcode to the data entered, right click on the barcode, choose Properties, choose the Value tab, select External Data Source as the value type and select the embedded data set that was just created.
    Link to embedded Data Set

Adjusting Properties of Objects

Properties may be adjusted by right-clicking on the object and choosing Properties.

label software bar code properties

The following is a list of common properties and their functions in each tab:


  • Allows user to manually place the barcode in the design area and change the orientation.


  • This is the data that is encoded in the barcode. Please note that some barcodes such as DataBar, IntelligentMail, UPC and EAN accept only numbers and a specific number of digits. Entering data that is incorrect for the barcode type may cause unpredictable results.

  • Global append values will append a prefix or suffix to the value. For example, an incremented value of 101 and a prefix of TX will create a barcode encoding TX101 on label 1 and TX102 on label 2.
  • The formula value creates the barcode from the VB syntax formula entered. For example, the formula of "TX" & 100 + L# will create a barcode encoding TX101 on label 1 and TX102 on label 2.
    • The following is a list of what is supported:
      • Operators:
        / divide
        * multiply
        & concatenate words
        - subtract
        + add
        VBCRLF adds a new line
      • Variables:
        L# label number
        T# total number of labels. Example: "This is label " & L# & " of " & T#  produces This is label 2 of 5.
        Date() returns the current date; for example 11/18/2010
      • Label Fields:
        ) returns the value of the Label Field. Label fields may be incrementing serial numbers or static constant values and are created in the properties tab of the label (Edit - Properties - Label Fields). Available only in 2009 or later versions.
        Example: LabelField(SerialNumber)
      • External Data:
        returns the value in the linked data source for the column [col] of the current row. Example: Field(1)
        FieldName(name) returns the value in the linked data source for the column according to the current row. Example: FieldName(FirstName). If a header row is linked in and two names are the same, the second name appends a "1", for example "CompanyName" and "CompanyName1". If one of the columns is blank, it will be referenced as F# where # is the column number. The linked Value Table displays the TableName of each item.
      • Additional variables, macros and external database functions are available in the Pro and RFID versions of the software.


  • Allows user to manually select the anchor point of the component.


  • This is where the barcode height, width and margins are defined.
  • Increasing the Bar Width (X dimension) will increase the width of the entire barcode. Because most barcodes require specific settings in this area, the barcode cannot be sized by dragging its edges in the design window. The default X dimension is 0.03 CM or about .012" or 12 mils. This value may need to be lowered if the scanner cannot read barcodes with small X dimensions. When working with a high-quality barcode scanner, this value can be decreased to obtain a higher density barcode.
  • The measurement of mils is an industry standard that is 1/1000 of an inch.


  • This tab defines applicable Barcode Properties:
  • Size - the size of the symbol is changed by adjusting the barcode X Dimension and Height.
  • Barcode Encoding - this is the type of barcode or the symbology. The default is Code-128, which encodes numbers, text and other information.
  • Use Check Digit - automatically adds the check digit to the barcode. The check digit is required for all symbologies except Code 39, Interleaved 2 of 5, Industrial 2 of 5 and Codabar. When using symbologies that do not require the check digit, the check digit option may be disabled. In cases where the check digit is already provided in the data source, the check digit option may be disabled.


  • Allows the ability to change or disable the text that is displayed next to the barcode.
  •  The Character Grouping field determines the number of characters between spaces in the text interpretation of the data encoded in the barcode. Default =0 (off); supported values are 3, 4 and 5.


  • Allows changing the colors of the barcode, text and background.

Generating GS1-128 & Encoding Functions

When ApplyTilde is enabled in the "AUTO" setting for Code 128, additional capabilities are enabled:

Generating GS1-128 (UCC/EAN-128)

To generate GS1-128, the parentheses or tilde methods should be used as described in the GS1-128 section of the Code 128 FAQ. For example, the SSCC18 data of (00)008012349999999997 may be encoded as a GS1-128 barcode using the parentheses (00)008012349999999997 or with the tilde ~21200008012349999999997.

Additional Tilde capabilities are also available that allow calculation of the MOD 10 check digit, for example ~2120000801234999999999~m17.
VB script formulas may also be used if desired to achieve the same result:
"(00)" & "

Encoding Functions such as Tabs and Returns in Code 128

The format ~ddd may be used to specify the ASCII code of the character to be encoded. For example, Code~009Bar~013 will create a barcode that encodes Code<Tab Function>Bar<Return Function>. To find the values for other functions, refer to the ASCII chart. Functions can be viewed when scanned with the IDAutomation Scanner ASCII Decoder.

Additional Capabilities of the Pro and RFID Versions

The Pro and RFID versions of the Barcode Label Software contains additional advanced features including VB scripting capabilities, additional database connectivity and support for MICR, DataBar (RSS), Composite, PDF417, Data Matrix and other 2D barcode types.

Connecting to additional data sources including ODBC, DSN, Oracle and SQL Server:

  • From the label software menu, choose Tools - Datasets - Link External Data.
  • Select the link type and enter all necessary fields.
  • After the link is setup, the user may link to the data field from a barcode object or use a VB Script formula to generate the data to be encoded in the barcode.

Using VB Script formulas:

  • In the Value dialog box for the barcode properties, select Formula.
  • Enter the VB script formula to generate the data to be encoded in the barcode.
  • The following is a list of properties supported:


Description Example Usage Output
/ := divide $labelsPerPage=5
"TotalPages =" & T#/$labelsPerPage
* := multiply L#/T# * 100 & "% done" 20% done
& := concatenate words "Label " & "L# & "of" & T# Label 1 of 5
- := subtract "Labels left = " & T# - L# Labels left = 4
+ := add "Next Label = " & L# + 1 Next Label = 2
VBCRLF := Carriage Return + Line Feed (adds a new line) "Line1" & VBCRLF & "Line2" Line1


Description Example Usage Output
L# := Label Number L#  1
T# := Total Number of Labels
(if an dataset is linked or embedded)
"This is label " & L# & " of " & T#
This is label 2 of 5.
$myVar := Custom variable called 'myVar' $myVar = "123"


Description Example Usage Output
Chr(charcode):= ASCII Number to Char
Returns the character associated with the specified charcode from the ASCII chart.
Chr(73) & Chr(68) & Chr(65) IDA
Currency(exp,nl) := converts exp to a currency
exp := string; n := number of decimal places
Returns a number in the correct regional currency. Default decimal number is 2.
Currency(12,2) $12.00
InStr(haystack,needle) := returns the index of the needle (string being searched) in the haystack (string to be searched). "m is at " & Instr("IDAutomation",m)
$a = "24680"
$b = Instr($a ,"6")
"6 is at position " & $b
m is at 7

"6 is at position 3"
Len(source) := returns the length of [source] text. Len("IDAutomation") 12
Left(source,x) := returns the first [x] characters in
[source] starting from the left.
Left("IDAutomation",3) IDA
Mid(source,x,y) := returns a substring of [source]
starting at position [x] of length [y].
Mid("IDAutomation",3,4) Auto
Right(source,x) returns the first [x] characters in
[source] starting from the right.
Right("IDAutomation",6) mation
The Right(source,x) macro may also be used to ensure zeros are appended to the beginning of a number field that must be a certain number of digits in length, such as the requirements for the 14 digit GTIN. Example: Right("00000000000000" & LabelField(UPC_Number),14)
Number(source, [n], [paren], [group])
source := expression to convert
[n] := optional decimal places = 2
[paren] := optional parenthesis for negative numbers = False 
[group] := optional group digits = True
Number(-1234.56789, 2)
Number(-1234.56789, 4)
Number(-1234.56789, 4, true)
Number(-1234.56789, 4, true, false)
If(test-condition, true-expression, false-expression) If evaluates the test-condition and if true (or 1) the true expression is evaluated, otherwise the false-expression is evaluated.
$x = Right(L#,1)
$Result = (
if($x == "0", "Even",
if($x == "2", "Even",
if($x == "4", "Even",
if($x == "6", "Even",
if($x == "8", "Even", "Odd"))))))
L# & " is " & $Result
"1 is Odd"

"39 is Odd" if the label number is 39.
Valid Test Operators: Numeric evaluation is the default and lexical string evaluation fall back.
== equal;
<> or != is not equal;
<= or =< is less than or equal;
>= or => is greater than or equal;
< less than and > greater than.
3 > 2

Date Macros:

Date/Time Macros
Description Example Usage Output
Date() := the current date Date() 05/21/2015
Time() := the current time Time() 11:10 AM
Year() := the current year Year() 2015
Month() := the current month Month() 5
MonthName() := the current month name MonthName() May
Day() := the current day of the month Day() 21
DayName() := the current day name DayName() Thursday


Description Example Usage Output
Mod10(int) := the GS1 MOD10 check character that is often used in SSCC-18, GTIN, GS1-128 and Data Matrix barcodes. Mod10(12345678901) 2
ISO7064(text) := the ISBT K check character according to ISO7064. ISO7064(W000007123456) D
Base4(int1,optional int2) := returns base-4 where int1 is the number to convert to base-4 and int2 the number to add to each digit of the result to create an ASCII character, defaults to 48 Base4(500) & vbcrlf &
Base2(int1, optional int2) := returns base-2 where int1 is the number to convert and int2 is the number to add to each digit of the result to create an ASCII character, defaults to 48
This function may be used to create hidden, more secure barcodes with hidden text.
Base2(5) & vbcrlf &

Label Fields:

Label Fields
Description Example Usage Output
LabelField(name) := returns the value of the Label Field. LabelField(SerialNumber) 1

External Data:

External Data
Description Example Usage Output
Field(col) := the value in the linked data source
for the column of the current row
(The current row is defined as the label number)
Field(1) Joe Smith
FieldName(name) := the value in the linked data
source for the column of the passed in name and
the current row
If a header row is linked in and two names are the same, the second name appends a "1", for example "CompanyName" and "CompanyName1". If one of the columns are blank it will be referenced as F# where # is the column number. The linked Value Table displays the TableName of each item.
FieldName(Age) 21
Table(id).Field(row,col) := Returns the value in the linked data source [id] corresponding to the respective [row] and [col]. Table(1).Field(1,1) Joe Smith
Table(id).Rows := Returns the number of rows of linked data source [id]. Table(1).Rows 5
Table(id).Columns= count of columns in the
linked data source [id].
Table(1).Columns 2
NOTE: The linked data source (id) starts at 1. Columns are numbered from left to right and start at 1. Choose Value Type - External Database to preview the column numbers and associated data.

Additional example formulas:

  • LabelField(CustomerNumber) & LabelField(SerialNumber)
    L# * 2 & "12345678" & Field(1)
    "~212" & L# * 2 & "12345678" & Table(1).Field(L#,1)

2D and DataBar barcode types:

  • The Pro and RFID versions include several additional barcode properties. Additional barcode icons will appear in applicable version to allow the additional barcode support. A MICR icon is also available in the Pro version to design and print checks without the use of a font.

MICR Properties:

  • The MICR object creates MICR E-13B symbols without the use of a font. Within this component, the character spacing and print intensity may be adjusted if necessary. In the event that IDAutomation MICR Fonts are installed, changing the "MICR Type" allows the use of the font with adjustment in 1/100 font size increments. MICR check template examples may be downloaded and used as a starting point when designing banks checks.

RFID Version Properties (discontinued version)

  • The formatting options below may be used in the value property to allow variable data, such as a serial number or text, to be encoded in a RFID tag. Special processing is performed when a tilde character is used to properly format the data to the tag and ensure it is correct. The processing operations that may be performed are as follows:
  • ~b??? informs the encoder that the data which follows is binary data where ??? is the length of the binary data in bits.
    For example, ~b00811001100 encodes 8 bits of the binary data 11001100 in the tag (which represents the number 204).
  • ~n??? informs the encoder that the data which follows is variable numeric data where ??? is the length of bits reserved for encoding this number.
    For example, ~n016170 encodes 170 which is converted to binary as 0000000010101010. Because 16 bits are reserved for this number, several zero bits are added to the beginning. This may be necessary when encoding variable length serial numbers. Because this number may be variable, a space or tilde must follow it if data is to be encoded after the number.
  • ~x??? informs the encoder that the data which follows is hexadecimal data, where ??? is the length of bits reserved for encoding. Four bits are reserved for each character. Therefore, multiply ??? by 4 to determine the total number of bits reserved in the tag for this command.
    For example, ~x016A1C3 encodes A1C3 as hexadecimal which is 1010000111000011 in binary format; 16 bits in length.
  • ~t??? informs the encoder that the data which follows is variable text or ASCII data to be encoded where ??? is the length of bits reserved for encoding. This process may be used to encode standard text or ASCII data in RFID tags. Up to 12 characters may be stored in a 96 bit tag; 8 bits are required for each character. A tilde must follow this text if data is to be encoded after it. For example: ~t032TEXT~n016170

Training Videos

Technical Issues & Support

Free product support may be obtained by reviewing the knowledgebase articles that are documented below and by searching the resolved public forum threads. Priority phone, email and forum support is provided up to 30 days after purchase. Additional priority phone, email and forum support may be obtained if the Priority Support and Upgrade Subscription is active.

Common Issues and Solutions:
Popular Forum Post Resolutions: