PACKAGE PRINTING AND CODING: Digital Bar Code Basics: Split Hairs, Not Pixels



By George Wright IV, Vice President,
Product Identification & Processing
Systems Inc. (PIPS)


The word pixel comes from pix (for picture) and element and is generally considered the smallest element in a digital image. Here, we will define a pixel to be the same as a “dot” and pixels per inch (PPI) the same as dots per inch (DPI), which constitutes the “resolution” of our black and white digital imaging device.

In digital printing, everything we print—text, logos, bar codes—is an arrangement of discrete black dots. In linear bar codes, these dots are arrayed side by side into solid lines (rectangles) of a fixed height and of varying but precise widths in accordance with a symbology specification. Accurate rendering of the width of these lines (bars) and their distance from one another (spaces) is critical to achieving good read rates and a high decodability grade under the ISO/IEC 15416 bar code print quality test specification.

As digital printing becomes more common in pharmaceutical and medical or surgical packaging, the incidence of poor-quality linear bar codes with low decodability grades could occur if digital printing equipment manufacturers, purchasers, and users do not become better acquainted with the resolution-dependent limitations of these systems.

One simple fact is overarching: There are no fractional pixels; there are no fractional dots. The only line widths that can be rendered are multiples of whole dots.

At 300 DPI (typical of some thermal-transfer, toner-based laser, ink-jet, and other digital printing technologies), the math is pretty simple; and the principle is the same whatever the resolution (1/300 of an inch is 0.00333 inches or 3.33 mils ([thousandths of an inch]). This is the width of a line one dot wide. So at 300 DPI we can have line widths of 3.33 mil, 6.67 mil, 10.00 mil, 13.33 mil, 16.67 mil, etc. The critical point in this example is to realize is that there are no other choices. This is what the device can render.

Notwithstanding the fact that such devices do not generally render line elements of precisely the width specified (for example, too high a thermal-transfer printhead temperature or too heavy a toner setting can make lines wider than they ought to be), linear bar codes with X-dimensions of a multiple of whole dots should normally print with generally uniform bar width gain or loss and achieve good decodability parameter grades.

However, a serious problem often occurs when users specify a bar code with an X-dimension that is not an even multiple of dots. This problem is often referred to as “pixel rounding.” Pixel rounding usually happens when graphic designers create bar code images (essentially pictures) based on available package space and/or prior experience with traditional (high-resolution output) wet ink printing technologies (e.g., flexo and offset) but without knowledge of the typically much lower resolution of the digital imaging device that is going to print the symbol.

An X-dimension of 8 mil is not uncommon in pharmaceutical blister printing (though certainly larger is better) and provides a good example of the problem. At an X-dimension of 8 mil, a GS1 DataBar (formerly RSS) bar code could have bars and spaces measuring multiples of 1X through 9X wide, i.e., 8, 16, 24, 32, 40, 48, 56, 64, and 72 mil wide, assuming no bar width reduction. Remember, however, the only bar and space widths close to these measurements that our printer can produce (considering for simplicity only the 1X, 2X, 3X and 4X wide elements) are 6.67 or 10.00, 16.67, 23.33, and 30.00 or 33.33, respectively. So what is going to happen?

All of the 1X (8 mil) bars and spaces will be rendered either as 6.67 mil or 10 mil and all of the 4X (32 mil) bars and spaces will be rendered either as 30.00 mils or 33.33 mil. In the case of the 1X elements, this is a deviation from their nominal widths of between 17 and 25% each, which could very well be compounded. We cannot know which way the printer logic will round (whether up or down, and bars might round differently than spaces), but we do know that a deviation of this magnitude will severely reduce the decodability grade and therefore the overall print quality grade of the symbol. The 2X and 3X elements will, purely by chance, be rendered much closer to their nominal widths. A similar pattern of rounding will also occur on 5X, 6X, 7X, 8X, and 9X wide elements.

This distortion of the bar/space patterns is typical of what happens when a bar code is rendered by a digital printing system as a graphic image (a picture). However, if the bar code is specified within the software of the imaging device itself, such as with a dedicated thermal-transfer bar code label printer, software logic should prevent this from happening by allowing only X-dimension values that the device can render. However, this is not universally the case.

Digital printing has its advantages. And like any other technology, it also has limitations. Especially when it comes to printing bar codes in an FDA-regulated environment, printing system manufacturers, packaging engineers, and graphic designers all need to be aware of the pitfalls of pixel rounding. Just remember, we can split hairs but not pixels. There are no fractional dots.

For further information or assistance with pharmaceutical or medical and surgical bar code quality assurance, please contact the author at

No votes yet