Print Speed Vs Print Throughput

First of all let's define the difference between the terms "Print Speed" and "Print Throughput".

- "Print Speed" is the rate of label movement when the printer is printing the label.. The Zebra printer "Print Speed" is determined by the ZPL command ^PR. The minimum print speed is typically 2" per second and can be as high as 12" per second depending on the printer model you are using.

- "Print Throughput" the total time required to print a given number of labels. This measurement combines the time it takes to transmit the data, have the printer create the image bitmap and print the labels. This is most often the concern in an application and will be the focus of this discussion. Often a customer will indicate they pause the printer and after a time un-pause and see continuous printing. This verifies the issue being related to throughput because you have eliminated the transmission and image bitmap delay and allowed the printer time to receive and process the data.

Throughput Discussion

There are several ways to assure you are maximizing the printer's throughput. Your option(s) depend on the printer model, the application, the printer's available DRAM memory and your ability to modify the ZPL programming language. 

One or more of these issues may be affecting your application throughput:

  • Are you using a Driver that is rendering your document as a huge graphic?
  • Is your system data rate maximized?
  • Is there enough memory to allow "Format While Printing" function?
  • Can you take advantage of Image Save and Image Load Features? (^IS, ^IL)
  • Are large graphic or font files being sent to the printer?
  • Can you limit the number of fonts used in the application?
  • Do you need to use True Type Fonts in your application?
  • On printers with 60.14.x or later f/w a new font engine feature is enabled by default, in some applications this may effect throughput.



Drivers are a convenient way to print from a Windows application and Zebra provides the Zebra Designer Driver for this purpose. There are other companies that provide Zebra Printer drivers and you should check with your application provider to determine the recommended driver you should be using.

If you are printing from a Word Document or a PDF file the driver may be rendering the output as a large graphic. If you are using the ZebraDesigner Driver there are a few configuration changes you can try. These are discussed in this document. Read More>>


This concerns the ability to get the ZPL data to the printer in the shortest amount of time possible. Transmission of the ZPL data to the printer is accomplished using a serial or parallel interface. (ZebraNet uses the parallel interface) In serial (RS232) environments set the BAUD RATE as high as the application permits. If you have an option, use the parallel interface.

In a networking environment you may be at the mercy of the traffic and/or port priorities set by the administrator.
In some applications turning off bi-directional communications may improve the printers throughput.
Disabling BI-DI:   ZNet2        ZNet 10/100

Applications are typically optimized when using a standalone PC attached to the printer. If you suspect the network or system is affecting throughput, remove the printer from the network and try sending the ZPL data from a file loaded on a laptop or other standalone host. This will help isolate a suspected system problem.


ZPL related things you can try.


The printer interprets the ZPL commands it receives and images the printer bitmap memory (DRAM) then prints the label. The printer does not start moving the label until the bitmap memory has been completed. Once the label is printed the bit map is cleared for the next image. Having enough memory to bitmap a second label while the first label is printing is a feature called "format while printing". An easy way to determine if your printer is using this feature is to send two different label formats while the printer is paused. Wait a few seconds and remove the pause condition. If two labels print without stopping you are taking advantage of format while print.

If your printer does not appear to be using "Format While Print" you may be able to upgrade memory. The S500, 105S, 105Se and 160S all can have a maximum of 1 Meg of memory. If you identify that you have .5 meg of DRAM memory installed, a field upgrade is available from your Zebra dealer. (The S300 printer comes standard with 256K of DRAM and can only support up to a maximum of .5 Meg). See your printer model specifications for DRAM memory options.



If you can write your own ZPL or your software has an option of using ^IS/^IL then you may be able to increase the printing throughput. You must have enough memory to support the "Format While Printing" feature because you will need two bitmap areas in DRAM. One is for a saved template image and the other for the printing image.

Note: If your wondering why I avoid using stored formats ^XF/^DF, I avoid this method because the ZPL commands still require interpretation and bitmapping. In most cases the throughput is not improved using this method.

Create a format containing all the fixed information and name it using the ^IS command. The image is saved in memory as a graphic.


Now create a format containing all the remaining variable information and include a recall of the image. (^IL) Send this to the printer and a label will print.

^FO160,156^A0N,38,33^FDCustomer Number 1^FS
^FO162,250^A0N,38,33^FDCity, State Zip^FS

Repeat as necessary with new variable information.

^FO160,156^A0N,38,33^FDCustomer Number 2^FS
^FO162,250^A0N,38,33^FDCity, State Zip^FS

When you are done using the template, erase it using the ^ID command




Some driver and software packages send files as large graphics even for printing text and barcode fields. Wherever possible, use printer resident fonts and barcodes for the label design. Optimize the driver and s/w settings to use the printer resident fonts and barcodes.



The printer is most efficient when using the internal bitmapped fonts for label creation. These are designated as an ^Ax where x = A through G. See a ZPL guide for details. If you use the internal smooth scalable font ^A0, try to limit the number of sizes used on the label. This will reduce the amount of processing the printer performs when imaging the memory prior to printing.



Zebra employs the use of a USFT (Universal Scalable Font Technology) as a feature associated most printer models. This feature allows you to convert, download and use Windows True Type fonts in an application. The software utility Ztools is required to convert the fonts. (Click here to download) This USFT feature may impact the printer's throughput in some applications by adding some overhead to the font creation process.


This feature allows use of the Global Printing Solution. Mainly for use with Unicode font kits offered by Zebra. If the feature is not being used it can be disabled.

^ZC0 = the Global Printing engine is on (default)

^ZC2 = the Global Printing engine is off

The following zpl string can be sent to turn the Global Printing engine off: