Message Forum




Barcode Printers


Contact Us

Legal Info

Privacy Policy


See Also:    Symbology Index

Quick Links:   Background    Character Set     Discrete/Continuous     2-Width/Multiple-Width     Fixed/Variable Length     Self-Checking     Definitions


Symbologies are systems of encoding data such that a scanner and/or a decoding system may together read and decode the data encoded in the barcode. Aside from the actual technique of encoding the bars and spaces a number of technical specifications or characteristics define and separate one symbology from another.


A Character Set refers to what data a given barcode symbology can encode. Generally, there are three types of character sets: Numeric, Alpha-numeric, and Full ASCII.

A Numeric character set means the symbology can only encode numeric data from 0 through 9. Some additional characters may be encoded which are generally control features of the symbology, such as start/stop characters.

A Alpha-Numeric character set means the symbology can encode the digits 0 through 9 as well as alphabetic characters from A through Z. Again, some additional characters may be encoded as start/stop characters.

A Full ASCII character set is one that allows the encoding of the full ASCII character set. This implies any ASCII character, value 0 through 127, may be encoded by the symbology.

In theory, a numeric character set will produce the smallest barcode whereas a Full ASCII character set will require more physical space to encode the same data. Of course, a Full ASCII symbology gives you more flexibility in encoding more types of information than a numeric symbology.


There are generally two types of barcode symbologies: discrete and continuous.

A discrete symbology is one where each and every character encoded in the symbol may be interpeted individually without respect to the rest of the barcode. Such symbologies have characters that both start and end with a bar. Individual characters are separated by some amount of inter-character spacing. The intercharacter spacing carries no information-the only duty of the intercharacter spacing is to separate the characters.

A continuous symbology is one in which the individual characters of the symbology cannot be interpreted by themselves. This is due to the fact that characters start with a bar and end with a space. The final space is "terminated" by the starting bar of the next character. A character cannot be taken individually since, individually, there is no way to know how wide the last space is without knowing where the next character begins. Continuous symbologies normally implement some kind of special termation bar or termination sequence such that the last space of the last data character is terminated by the termination bar.

In the above example, each character is consists of four bars and four spaces. The last space of character 1 is terminated by the first bar of character 2. The last space of character 2 is terminated by the first bar of character 3. The last space of character 3 is terminated by the first bar of character 4. The last space of character 4 is terminated by the termination bar.

All else being equal, a discrete symbologies require more space to print the same data as a continous code since the discrete symbology "wastes" space in the intercharacter spacing. However, a discrete symbology can generally be printed with less quality-this translates to cheaper printers and more tolerance at scan-time.

Other than the amount of space the two types of symbologies require and the types and quality of hardware used to print them, there is no inherent difference in the security afforded by either type. That is to say, it cannot be said that "continuous symbologies are more reliable ore secure than discrete symbologies"-nor can the reverse be said.


Symbologies can also be divided by the number of "widths" encoded in its barcodes.

A Two-Width symbology has spaces and bars that are either wide or narrow. This has the benefit of simplicity-once it is determine how wide a "narrow" bar or space is, anything over a certain width can be considered "wide." This allows for a large level of print tolerance in lower-quality printing conditions.

A Multiple-Width symbology is one which has bars and spaces that may be of 3 or more widths. The narrowest bar or space may be X in width, a medium-width space or bar may be 2X in width, and a wide bar may be 3X in width. Since there are more possible combinations available in a multiple-width symbology, data encoding is often more efficient and results in a tighter barcode. Multiple-width symbologies are usually continuous symbologies and are often scanned using edge-to-similar-edge decoding algorithms.


Symbologies may be either fixed or variable-length.

A fixed-length symbology is one which must, by definition, encode a certain number of characters or digits. For example, a UPC-A barcode always encodes 12 digits of data. An application may not encode less or more than the pre-defined fixed-length of 12 characters. The symbology itself defines the length of data.

A variable-length symbology is one which can carry a message of any length. For example, Code 128 may encode any number of characters that can reasonably fit physically in the printed barcode. The symbology itself does not define how many characters of data must be encoded.

Note that a variable-length symbology can be implemented by an application such that it is, in effect, fixed-length. For example, if you are encoding an identification number that is always 10 digits in length using Code 128 you are implementing Code 128 as if it were fixed-length. However, the fact that you can choose the fixed-length means the symbology itself is variable-length.


A symbology is considered "self-checking" if a single printing or scanning error will not cause one of the component characters to be converted erroneously into another valid character.

Note that "self-checking" does not mean self-correcting. It simply means that a single printing defect will cause a scan to fail rather than decoding the erroneous read into data which the application assumes to be correct.


Element: An element is any individual bar or space.

Module: A module is the amount of space a bar or space takes up measured in X's. For example, a narrow bar is 1X, thus the narrow bar takes up one module. A medium-size bar may be 2X in width, thus it would take up two modules. A wide bar may be 3X in width, thus it takes up three modules.

Character: A character is a sequence of elements (bars and spaces) which, taken together, encode a single logical value. Often, each character in a barcode is a fixed number of modules in length.

Density: The number of characters that can be encoded per inch given a certain X value. The smaller the value of X, the more characters can be encoded in an inch and, thus, the density rises.

b: Maximum permissible deviation of the width of a bar or space from the nominal X value. Applies to all symbologies.

e: Maximum permissible deviation of the width beginning at one bar or space measured to the beginning of the next bar or space. Applies normally to continuous symbologies.

N: This is the ratio of the average wide element compared to the average narrow element. It is usually expressed as a range of acceptable values. (i.e., a wide bar may be 2 to 3 times as wide as a narrow bar, thus valid values of N would be from 2.0 to 3.0).

p: The maximum permissible deviation of the width of a single character as measured from the beginning of the leading bar of one character to the beginning of the leading bar of the next character. Applies only to continuous symbologies.

t: The maximum tolerance of variation in the width of a single character. Applies to discrete symbologies.

X: The value "X" is the "perfect" width of the barcode's narrowest element. The value of X must remain constant throughout a single barcode. This value is normally expressed in "mils". One (1) mil is a thousandth of an inch.

© Copyright 2006, Inc. All Rights Reserved.
Information provided "as-is" without warranty. Please
see details.
Contact us for usage and copy permission.