This information is written to make
barcode scanning an easy-to-understand technology.
Laser Scan Engines
1D Barcode Symbologies
2D Barcode Symbologies
Decoded vs. Undecoded
Physics and Terminology Top
Yes, it's a science. Put simply, a
scanning device simply emits a bright light and reads what is
reflected back to it. The black lines of a barcode reflect less
light, and more light is reflected by the white spaces. The
"decoder" then figures out that it is a barcode, what
symbology it is (more on "symbology" later), and what
information is in that barcode.
Aggressive: the relative ability of
the scanner to read a barcode on the first attempt.
Depth of Field: the distance from
the front of the scanner to the barcode.
Mil: The width of the narrowest bar
in a barcode, measured in 1/1000ths of an inch. The width of the
narrowest bar of a 15 mil barcode is 15/1000ths of an inch. This
is also sometimes referred to as the "X dimension." With
respect to scanners, the overall height or width of a barcode is
not necessarily important, but the "mil" is vitally
Perhaps the least expensive way to scan a barcode, the wand is a
pen-like device that must be in contact with the barcode. It also
must be held at a certain angle, and be passed over the barcode at
a consistent speed (neither too fast nor too slow). With these
requirements in mind, wands have a high 'frustration factor'
making them difficult to use at times. Wands present a variety of
challenges that make them most useful when price is the most
A CCD is a scanning "gun" that, floods the barcode with
light, then reads what's reflected back to it. It's more expensive
than the wand, but is also more efficient and easy to use. It can
only read barcodes from a close distance (less than 6" in
most cases) and can only read barcodes that are no wider than the
scanner itself. However, CCD's have the reputation of being highly
reliable. They're great for light-to-medium retail and
out-of-doors applications where sunlight makes it difficult for
the scanner to"see" what is being scanned.
Though laser scanners are more expensive than wands and CCDs, they
are the laser scanners most versatile (see "Laser Scan
Engines" below) and aggressive tools for scanning barcodes. A
laser beam is emitted from the scanner that either reads
left-to-right and right-to-left, or vice versa. With the cost of
laser scanners coming down, typically we would recommend going
with a laser scanner.
It is not possible for a wand, CCD, or laser scanner to read a
matrix code (see "2D Symbologies" below). Enter the
imager. These devices can not only read matrix codes, but also1D
and other 2D Symbologies. And imagers can be used in the creation
of ID cards that require a picture of the person. They basically
work by taking a picture of the item scanned. From there they
analyze the image. Though much pricier, these scanners can be used
in situations requiring large amounts of data to be stored in the
It's not possible for one scanner to be all things to every
customer. Because of this, there are scanners that are designed to
be used in very specific applications. Before you ask for a
scanner, you must first know the symbology of the barcode and the
mil of that barcode (if applicable).
If there were a scanner that attempts to be all things to
everybody, this would be it. It would likely read 1D barcodes
that are between 5 and 20 mils.
High density scanners are used for reading small, dense
barcodes, such as those typically found on jewelry tags. This
type of scanner might, for example, read down to a 2-mil barcode
and up to a 7-mil barcode.
Remember that a scanner reads what is reflected back to it.
However, if the scanner were being used in a very bright
environment, the light that would normally be reflected back
would be "washed out" by the ambient light, such as
sunlight. So a high visibility scanner has a brighter beam of
light to overcome this problem.
In a warehouse environment, it is sometimes necessary to read a
barcode from a long way away - such as 40 feet! Long Range
scanners will typically have an "aiming beam," which
is a bright dot to assist the user in locating the specific
barcode that the user wishes to scan. To be able to read a
barcode from 40 feet away, the barcode should be very large and
printed on material (called "retroreflective") that
can reflect, rather than absorb, a lot of light.
All of the above scanners require the barcode to be turned in a
specific direction because they only emit a single line. An
Omni-directional scanner emits a pattern of several lines. Think
about a visit to the grocery store. Can you imagine how slow it
would be if the cashier had to make sure that every barcode was
turned in a specific direction? Where Omni-directional scanners
are being used, the user can have a bottle standing up, or lying
on its side, or at an angle as the bottle is presented to the
scanner. It doesn't matter which way the barcode is positioned.
These are not to be confused with Imagers. 2D laser scanners
"raster," which means they scan left to right, right
to left, and up and down. Typically, they will only read PDF417
and 1D Symbologies. These scanners also are generally more
expensive than conventional 1D scanners.
1D - one dimensional
These are symbologies that only include vertical lines and spaces.
There are more symbologies than are listed here, but these are
some of the most common.
UPC is a 12-digit symbology that is used in retail applications.
UPC-A is what you normally would see, for example, on a box of
cereal. This numeric-only barcode is basically broken up into 3
parts. The first character is what is referred to as the System
Digit and is a way of identifying the industry to which the
product might be associated. The next 5 digits identify the
manufacturer. The manufacturer must acquire this number from the
Uniform Code Council. The next 5 digits are the manufacturer's
way of identifying the product. The last digit, known as the
"check digit," is the result of a mathematical
calculation using the previous 11 digits.
UPC-E, a compressed version of an UPC-A, would be typically seen
on a can of soda or pack of gum, where there is not much
available space. UPC-E will not have a system digit, and the
zeros from the UPC-A will be "suppressed." Therefore,
UPC-E can be expanded back into a valid UPC-A code.
Supplementals: Two or five-digit
supplementals are commonly found on periodicals or publications.
A supplemental is a small barcode that is to the right of the
UPC-A or -E barcode.
The European Article Numbering system is a European version of
UPC. Country codes are used to allow the use of one barcode both
internationally and omestically. For example, 00, 02, 03, 04,
05, 06, 07, and 09 are assigned to USA and Canada, while 40 - 43
are all used for Germany.
EAN-13 is basically an UPC-A with a leading digit, which is
usually representative of a country code. Two and five digit
supplementals are supported.
This is a smaller version of the EAN-13. It also has a two-digit
country code, followed by data and a check digit.
ISBN (International Standard
Also called "Bookland," this symbology is used on
books and other publications. Though it is part of the EAN
family, there are no country codes used. The ISBN number is
simply preceded by "978" or "979." The
5-digit supplemental is simply the price preceded by a
A Code 39 barcode will always begin and end with the pattern of
"narrow-narrow-wide-wide-narrow" bars. Code 39 is
probably the most popular symbology other than UPC. It can
encode numbers, uppercase letters, and a dash. The "full
ASCII" version of Code 39 will additionally encode $, ?, +,
Code 128 is a unique symbology, which includes
"subsets" for encoding different characters. Subset
"A" will encode uppercase alphanumeric characters,
subset "B" will encode lowercase alphanumeric
characters, and subset "C" will only encode numbers. A
nice feature of this symbology is that it is possible to have
all 3 subsets in a single barcode. By combining all 3 subsets,
you could actually produce a barcode that is
Code 93 is an enhanced version of Code 39. Basically, Code 93
will encode every character on a keyboard, including uppercase
and lowercase letters, numbers, and other symbols.
Interleaved 2 of 5
"I 2 of 5" is a numeric only symbology that must
contain an even number of digits. It is actually possible to get
a partial, but valid scan of an I 2 of 5 barcode because the
barcode is in pairs. The odd position digits are encoded in the
bars and the even position digits are encoded in the spaces. Be
sure to program your scanner or decoder for the exact number of
characters in your I 2 of 5 barcode.
Standard 2 of 5
The difference between Standard and Interleaved 2 of 5 is that
with Standard, the data is only in the bars and not the spaces.
Here, the barcode must begin and end with an A, B, C, D, E, N,
T, or *, which cannot be used anywhere else within the barcode.
Codabar, commonly used in libraries, blood banks, and by
overnight delivery services, can only encode numbers and the
following characters: $, :, /, ., and +.
2D Symbologies Top
2D - two dimensional. It is sometimes not possible to put
all the required data into the limited amount of available space
using a 1D barcode. For example, several states have begun putting
2D barcodes on the back of driver's licenses. Encoded into this
barcode is all of the data that is printed on the license. 2D
barcodes are also being used for tracking printed circuit boards
in computer equipment.
Stacked codes are made up of bars and spaces that are stacked on
top of each other.
PDF417, which was designed by Symbol Technologies, has a maximum
capacity of 1,850 text characters, 2,710 digits, or a total of
1,108 bytes. PDF417 has several levels of "error
checking" which allow a scanner to decode the barcode even
when it has been damaged. The more error checking that is built
into the barcode, the larger it becomes.
Developed by Laserlight Systems, Code 16K can encode a maximum
of 77 text characters or 154 digits and can contain between 2
and 16 rows. The structure of the barcode is based on Code 128.
Code 49, developed by Intermec Corporation, was the first
stacked barcode symbology. A cross between UPC and Code 39, Code
49 has the ability to pack 170 alphanumeric characters within
one square inch.
Matrix codes almost look as if they have no form within a
square. Matrix codes are able to encode even more information in
a smaller space than a stacked code.
United Parcel Service originally developed MaxiCode. Easily
identified by its bull's eye in the middle of the barcode,
MaxiCode is capable of containing about 100 characters in a
one-inch square symbol. It also has error checking capabilities,
as it is still possible to get a good read even though 25% of
the barcode is destroyed or missing.
DataMatrix is an extremely efficient symbology developed by
CiMatrix. DataMatrix is most commonly used on printed circuit
boards, as it can store up to 50 characters in a square symbol
that is only 2mm or 3mm in size. It can also be as large as
14". Aztec The Aztec code, developed by Welch Allyn, Inc.,
has a maximum capacity of 3,067 letters or 3,832 numbers, or a
total of 1,914 bytes of data. Like the MaxiCode, it also has a
bull's eye, but its bull's eye is square.
A scanning solution generally
involves 4 components: the scanner, the barcode decoder, the host
communications, and the host.
"Decoded" scanners have
the decoder and host communications abilities built in to them,
making it possible to connect the scanner directly to a PC, for
"Undecoded" scanners must
be connected to a device which is capable of decoding the scanned
barcode. Many times, an undecoded scanner will be connected to a
"decoder" or "wedge," but they might also be
connected to a Portable Data Terminal.
A "decoder" or
"wedge" is basically a box that serves two functions:
decode the barcode and transmit that data to the defined host. The
barcode decoder inside this box is often capable manipulating the
data as well as decoding the barcode. For example, a decoder can
add a character before the barcode or after the barcode, or even
This leaves the other side of the
equation: communications. For a scanner to provide the user with
what he expects, the scanner or decoder box must be programmed to
communicate with the device to which it is connected. Just because
the physical connection is correct does not mean that the decoder
will know how to communicate with that device. Top