User Tools

Site Tools


Get the Most Out of Your ERP

The Windward Professional Services Catalog

Our catalog of services has topic-based, role-based, or technical plans that can help you maximize your software investment.

Follow Windward Software


Working with Zebra EPL II codes

Please Note:

All of the fields you are using on your labels must not contain any special characters. Some of these special characters are commas, open and closing brackets () or {} or [], greater than and less than signs <>, pipes |, colons :, semicolons ;, and single or double quotes “ or '. All these symbols mean specific things within a code based label, so having them in your part numbers, descriptions, and comment fields will cause issues with printing your code based labels.

To try and clarify why this is so important, here is an example of a EPL II code based label for the Zebra label printers:


Reference Material

The EPL2 manual referenced in this article is available here: epl2en.pdf

A quick reference manual for EPL2 programming is available here: epl2-quick-sample-manual.pdf

See some example here: zebra_eltron_label_examples

Zebra printers are normally 203 dots per inch when you are working with the scale.

Below is information on how the blank label is referenced and fields are positioned.
(it's possible for some models the origin (0,0) in relation to the print orientation could differ and you would have to adjust your thinking appropriately).
PDF page 10 / Manual page 1-4

Example & Common commands:

Example Label code


Common Commands

N (Clear Image Buffer) – Used as the start of a label definition. This resets the printer buffer for a clean start.
PDF page 80 / Manual page 3-62

q (Set Label Width) – Sets the printable width of the label (in dots)
PDF page 96 / Manual page 3-78

Q (Set Label Height) - Sets the printable width of the label (in dots)
PDF page 98 / Manual page 3-80

D (Print Density) – This specifies the print darkness. Valid range is 0 to 15, 0 being lightest, 15 being darkest. (If possible, it would be preferable to omit this and set the darkness directly on the printer itself. As the print head wears out the darkness will have to be increased until it eventually requires replacement).
PDF page 48 / Manual page3-30

B (Barcode) – Barcode symbology selection (Code 128 Mode A,B,C, and Code 39 (3 of 9) are common choices from the table on PDF page 30 / Manual page 3-12), height, narrow / wide bar widths, rotation, human readability and data to create barcode from (very typically via special variable filled in by System 5 from barcode or part number). The wide and narrow bar width settings determine how wide the barcode will end up being.
PDF page 29 / Manual page 3-11

A (ASCII Text) - tells the printer which built in font to use, rotation, size (width & height scaling from base font size chosen) and what to print (contained in quotes, can be literal text or a special variable that System 5 will fill in on the fly as it generates the label) See the System 5 help file for this reference, go to Search tab, enter bar code and text fields (note the space in bar code) and hit enter.
PDF page 22 / Manual page 3-4

P (Print) – Print the label; P1 tells it to issue one label; this is the command you would want to use here. It is the last command of a label layout.
PDF page 94 / Manual page 3-76

Printing Barcode vs. Barcode Numbers

There has also been some confusion regarding Barcode text lines and actual Barcodes. The System Five field <barcode> is the same, but the information to print the barcode number, or the barcode are completely different. For printing just the barcode number on a label, you will need to tell the printer what font you want to print as well as the size, orientation, and position on the label.

But for a barcode, you need to supply different information, such as the barcode type (3of9, 128, or UPC), the height and width of the barcode, and the position on the label.

So please carefully read the information in the examples below.

Example Label code with explanation

N - Clear buffer for start of new label
q304 - Set width to 304 dots (304/203 = 1.5 inches approx.)
Q203 - Set height to 203 dots (203/203 = 1.0 inch)
D7 - set print density (darkness) to 7
B65,10,0,1,1,3,50,B,”<BARCODE,-1>“ - Print a barcode at origin 65,10, no rotation, barcode symbology #1 (code 128), narrow bar width 1, wide bar width 3, height 50 dots, Human readable, using the complete contents of the BARCODE value from System 5
A65,100,0,2,1,1,N,”<DESCRIPTION,15>“ - Print text at origin 65,100 with no rotation, font number 2, 1x width, 1x height multipliers, no reverse text and containing the first 15 characters from the System 5 Description field
A65,130,0,2,1,1,N,”<LIST,-1>“ - Print text at origin 65,130 with no rotation, font number 2, 1x width, 1x height multipliers, no reverse text and containing the entire List price from the System 5
P1 - Print 1 label set

Printing on Jewelry Tags, Barbell Tags or Odd Shaped Tags

Line Wrapping

From version up, System Five now support wrapping of a text field onto multiple lines. All earlier versions of System Five would only allow printing a single line of text, which would be truncated when it reached the far edge of the label, or it would wrap back overtop of itself when it ran out of room. So in order to take advantage of this new enhancement you will need to upgrade to the current release if you are not already on

The most common use for this enhancement would be to have a description field that contains a long description to be printed on multiple lines. Also this enhancement looks for spaces in the field, so that words are not broken and separated onto another line.

To make use of this feature, you would no longer use the field <DESCRIPTION>, which is for a single line description. Instead you would substitute the field <DESCRIPTION#1> for each line needed to accommodate your long description. Here is an example of a 2.25 inch x .75 inch label utilizing two lines for the description “Skid Mount Turf Sprayer - Diaphragm”. You will also notice that the entire word “Diaphragm” was carried down to the second line, instead of breaking it at 35 characters.


In this example we have also limited the number of characters per line to 35.

If your label requires two separate description fields with word wrapping (say for a two part label or label with a tear-off section), you would use <DESCRIPTION#1> for the first description fields, and <DESCRIPTION#2> for the second description fields.

System Five Label Code Fields

Created By Jason Kirby September 17 2008
Updated By Steve Wind January 30 2020
zebra_eltron_label_creation_via_epl2.txt · Last modified: 2020/03/01 10:18 (14 months ago) by kweitz