Barcode Xpress Mobile for Android
Barcode Types

Supported Barcode Types

Currently, Barcode Xpress Mobile for Android supports the following Barcode Types:

2D Types 1D Types

Aztec

Aztec Barcode is a 2D barcode which can encode 8 bit data, including all ASCII characters (binary values 0 - 127) and the remaining values (binary values 128 - 255). The barcode also includes error detection and correction to compensate for damaged barcodes. Error correction typically takes up 23% of the code space.

The Aztec barcode has three different code sizes:

  • Full - Full code size.
  • Compact - Compact code size.
  • Rune - A special barcode which can only encode values 000 - 255.

 

Full

Compact

Rune

 

Number of Symbols

40

4

256

Size

19x19 - 151x151 modules

15x15 - 27x27 modules

11x11 modules

Text Capacity (characters)

15 - 3067

12 - 89

0

Numeric Capacity (Digits)

18 - 3832

13 - 110

3

Binary Capacity

(8 Bit values)

8 - 1914

6 - 53

0

Australian Post 4-State Barcode

Below is an example of the Australian 4-State Postal Code.

The Australian Post 4 State barcode is a 4-state barcode. It supports four different formats:

  • Standard
  • Customer Barcode 2
  • Customer Barcode 3
  • Reply Paid Barcode

The Customer Barcodes 2 & 3 include a customer field for encoding data. This barcode also supports the Reed-Solomon error correction scheme.

Format Control Field

The Format Control Field is a 2 digit field identifying the barcode type:

  • 11 - Standard Customer Barcode
  • 59 - Customer Barcode 2
  • 62 - Customer Barcode 3
  • 45 - Reply Paid Barcode

Sorting Code

The Sorting Code is an 8 character sorting code (Delivery Point ID)

Customer Information

There is a free format area available in the Customer Barcodes 2 & 3. This will be decoded using the AustrailianPostCustomDecodeType.

  • If the decode mode is "BarStates", then the output will be either bar state "F" full bar, "T" tracker bar, "A" ascending bar, or "D" descending bar.
  • If the decode mode is "TableN", then the output will be decoded using the numeric decoding defined in the Australian Post specification.
  • If the decode mode is "TableC", then the output will be decoded using the character decoding defined in the Australian Post specification.
  • If the decode mode is "NoCustomDecode", then the bars in the custom section are not decoded.
  • Use the no custom decode if the decode mode has no custom decode type.
Note: If the FCC code is not valid, the confidence will be decreased by 10%.

Add 2 and Add 5 Barcode Specifications

Add 2 and Add 5 Barcode Specifications Retail barcodes (UPC and EAN) are strictly limited in the amount and format of the data that they encode. Add 2 or Add 5 barcodes give the vendors another two or five digits to identify the specific product, model, or issue. It is usually printed just to the right of the product code. For periodicals, an Add2 often indicates the issue, while other publications include a volume number.

Below is an Add 2 barcode example:

Below is an Add 5 barcode example:

IATA 2 of 5

This is a numeric only code used by the Airline industry, and is a variation of Industry 2 of 5. This barcode is also known as Airline 2 of 5.

BCD Matrix

BCD Matrix is a compact version of 2 of 5 barcodes, but its checking for the data patterns is not as robust. It does include a checksum character. It is not widely used.

Code 128 and EAN 128

Code 128 provides excellent density for all-numeric data and good density for alphanumeric data. The symbol can be as long as necessary to store the encoded data. It is often selected over Code 39 in new applications because of its density and because it offers a much larger selection of characters. Code 128 is designed to encode all 128 ASCII characters.

A Code 128 can actually be divided into three subsets A, B, and C. There are three separate start codes to indicate which subset is being used. In addition, each subset includes control characters to switch to another subset in the middle of a barcode.

  • A - Digits, uppercase characters, standard ASCII symbols, and control codes.
  • B - Digits, upper and lower case characters, standard ASCII symbols, and control codes.
  • C - Numeric only. Compresses two numeric digits into each character, providing excellent density. Barcode Xpress Mobile will add a leading "0" if there are an odd number of digits in the code.

Each character is 11 times the width of the most narrow bar. Each character consists of 3 bars and 3 spaces. The bars always use an even number of elements and the spaces use an odd number. This provides the basis for a character-by-character consistency check during scanning. In addition, each Code 128 barcode includes a Modulo 103 checksum.

Codabar

Codabar is used in libraries, blood banks, the overnight package delivery industry, and a variety of other information processing applications. Codabar is also known as USD-4, NW-7, and 2 of 7 code.

The Codabar character set includes the digits 0-9, six symbols including: minus "-", plus "+", period ".", dollar sign "$", slash "/", and colon ":", and the following start/stop characters A, B, C, and D. The start/stop characters must be used in matching pairs and may not appear elsewhere in the barcode. If you omit the start/stop characters, Barcode Xpress Mobile will use A and B respectively. Blood banks use the D stop character to indicate that the next barcode beginning with a D should be concatenated with the current barcode.

Note: By default, the read value of the Codabar barcode does not include the start and stop characters. To include the start and stop characters in the barcode result, the IncludeControlCharacters property must be set to true.

Traditional Codabar defines different element width for each of the characters in an effort to make all of the characters have the same width. Rationalized Codabar uses the same patterns, but assigns only 2 element width for wide and narrow.

Barcode Xpress Mobile implements Rationalized Codabar. Barcode Xpress Mobile generates an error if you have characters in your barcode value that are not allowed.

Codabar requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Since Codabar is self-checking, there is no standard checksum.

Code 32

Code 32 is an Italian pharmacy code. It is a variant version of Code 39: it uses the exact same symbol set, stop and start code and rules, but restricts the characters that may be encoded to just digits and capital letters excluding the vowels ('A', 'E', 'I', 'O', 'U'). Otherwise, it shares all the other advantages of Code 39.

Since Code 32 is a subset of Code 39, Barcode Xpress Mobile assumes the barcode is a Code 39 type when detecting all 1D types. The barcode type should be set specifically to Code 32 to read this barcode type correctly.

Note: If you use Barcode Xpress Mobile to detect Code 32 barcodes, you should set the BarcodeTypes property to this type so that the barcode engine specifically looks for Code 32. If you don't tell the barcode engine to specifically look for Code 32 barcodes, it might confuse a Code 32 barcode with a Code 39 barcode.

Code 39

Code 39 is widely used in many industries across the world. It is the standard for many government barcode specifications, including the U.S. Department of Defense. Code 39 is also known as Code 3 of 9.

Code 39 was the first alphanumeric symbology. Its character set includes the digits 0-9, the letters A-Z (uppercase only), and the following symbols: space, minus "-", plus "+", period ".", dollar sign "$", slash "/", and percent "%". Barcode Xpress Mobile generates an error if you have characters in your barcode value that are not allowed.

Each data character is made up of 5 bars and 4 spaces for a total of 9 elements. Each character includes 3 wide and 6 narrow elements. Thus, 3 out of the 9 elements are always wide, which is the reason why the code is sometimes called "3 of 9".

 

Code 39 Extended

Code 39 Extended was developed to provide a means of encoding additional characters that are not part of the Code 39 character set (for example, lowercase characters and additional symbols), and is essentially a superset of Code 39. Extended characters are encoded by using a pair of normal Code 39 characters. For example, a lowercase "a" is encoded by the character pair "+A". Code 39 Extended supports the full ASCII character set.

The ratio of wide to narrow bar width can be in the range of 1.8 to 3.4. The Barcode Xpress Mobile Code 39 uses a 2:1 wide:narrow bar width ratio.

Code 39 Extended requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Since Code 39 is a self-checking barcode, it normally does not require a checksum. However, when necessary, an optional modulo 43 checksum may be used.

Note: If you use Barcode Xpress Mobile to detect Code 39 barcodes, you should set the reader BarcodeType property to this type so that the barcode engine specifically looks for Code 39. If you don't tell the barcode engine to specifically look for Code 39 barcodes, it might confuse a Code 39 barcode with a Code 32 barcode.

Code 93

Code 93 is a bar code symbology which encodes 43 data characters (0-9, A-Z, 6 symbols, and Space), four shift characters, and a unique start/stop character. Code 93 derives its name from the fact that every character is constructed from 9 modules arranged into 3 bars with their adjacent spaces.

The Code 93 character set includes the digits 0-9, the letters A-Z (uppercase only), and the following symbols: space, minus "-", plus "+", period ".", dollar sign "$", slash "/", and percent "%". Barcode Xpress Mobile will generate an error if you have characters in your barcode value that are not allowed.

Code 93 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Code 93 requires two checksum characters, sometimes referred to as the 'C' and 'K' characters.

Code 93 Extended

Similar to Code 39 Extended, Code 93 Extended is a superset of Code 93. Extended characters are encoded by using a pair of Code 93 characters. For example, a lowercase "a" is encoded by the character pair "+A". The difference in Code 93 Extended, when compared to Code 39 Extended, is that the shift character used to encode an extended character is a reserved character, and not one of the standard 43 characters in the Code 93 character set. Code 93 Extended supports the full ASCII character set.

Code 93 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Code 93 requires two checksum characters, sometimes referred to as the 'C' and 'K' characters.

DataLogic 2 of 5

DataLogic 2 of 5 is a variation of the 2 of 5 barcodes using both white and black bars. It does not have a checksum character. It is not widely used.

 

DataMatrix

DataMatrix is a widely used true 2D barcode. It allows for encoding large amounts of information (over 3000 characters) using a variety of character sets (ASCII, C40, TEXT, and BASE256) allowing efficient data packing or binary data storage as needed. DataMatrix employs an error correction system allowing it to read codes that are as much as 40% damaged.

Barcode Xpress Mobile supports the ECC 200 standard. It does not support the ECC 100-140 standards. Barcode Xpress Mobile does not support the automatic structured append feature. It returns results of each barcode, but the individual results have to be combined.

Note the image will be converted internally to an 8 bpp image for performance enhancement which will consume more memory but improve recognition performance.

An example DataMatrix barcode:

When reading 144 x 144 DataMatrix barcodes, Barcode Xpress will assume that the barcodes adhere to the specification. If reading fails, the component will automatically attempt to apply the recognition algorithm that will work on barcodes written by non-compliant components, and report the results. The barcode reader will not be notified that the barcode did not adhere to the specification. For these barcodes only, recognition speed will be impacted.

EAN-13 and JAN

EAN-13 is used worldwide for marking retail goods. The symbol is numeric-only and encodes 13 digits. The first two or three digits are a country code which identify the country in which the manufacturer is registered (not necessarily where the product is actually made). The country code is followed by 9 or 10 data digits (depending on the length of the country code) and a single checksum digit that is automatically added by Barcode Xpress Mobile. If there are 13 digits, the last digit will be replaced with the correct checksum. There is a special form of EAN-13, called EAN-99 which just starts with "99".

The JAN barcode is identical to the EAN-13 except with a country code of 49, designating that it was registered in Japan. The JAN barcode is treated exactly the same as the EAN-13 for reading barcodes within Barcode Xpress Mobile.

As of January 1, 2005, all retail scanning systems in the United States must be able to accept the EAN-13 symbol as well as the standard UPC-A symbol. The United States has begun the process of moving to the EAN-13 symbol, which will be known as the UPC-13 symbol in the USA.

EAN-8

The EAN (European Article Numbering) code is primarily used in supermarkets. EAN-8 is a shortened version of the EAN-13 code. It is a numeric-only code that includes a 2 or 3 digit country code, 4 or 5 data digits (depending on the length of the country code), and a checksum digit.

Unlike the UPC-E symbol, which compresses data that could also be printed as a full-size UPC-A symbol by squeezing out zeros, the data digits in an EAN-8 symbol specifically identify a particular product and manufacturer. Since a limited number of EAN-8 codes are available in each country, they are issued only for products with insufficient space for a normal EAN-13 symbol.

GS1 DataBar

The GS1 DataBar™ barcode is also known as Reduced Space Symbology (RSS). GS1 DataBar is a 1D barcode. It is self-checking with a high data density. The GS1 DataBar family is designed as a successor to the older EAN/UPC formats.

It can hold the 14 digits of the GTIN (Global Trade Item Number) and is smaller than the UPC and EAN barcode symbols. It carries more data than the UPC or EAN barcodes and its small size makes it a good candidate for small items, like produce.

"GS1 DataBar enables GTIN identification for fresh variable measure and hard-to-mark products like loose produce, jewelry and cosmetics. Additionally, GS1 DataBar can carry GS1 Application Identifiers such as serial numbers, lot numbers, and expiration dates, creating solutions to support product authentication and traceability for fresh food products and couponing." (http://www.gs1.org/barcodes/databar)

The following 7 variants of GS1 DataBar are all supported by Barcode Xpress:

GS1 DataBar variants supported by Barcode Xpress Data Length Rows
GS1 DataBar Omnidirectional Fixed 1
GS1 DataBar Stacked Fixed 2
GS1 DataBar Stacked Omnidirectional Fixed 2
GS1 DataBar Truncated Fixed 1
GS1 DataBar Limited Fixed 1
GS1 DataBar Expanded Variable 1
GS1 DataBar Expanded Stacked Variable 2

GS1 DataBar also has composite variants which Barcode Xpress does not support.

 

Industry 2 of 5 / Code 2 of 5

Industry 2 of 5 barcodes have been in use since the late 1960's for airline tickets, photo developing envelopes, and warehouse sorting systems. The Industry 2 of 5 barcode is also called Code 2 of 5.

Industry 2 of 5 encodes all of the information in the bars. The spaces are fixed width and are used only to separate the bars. Consequently, it is a fairly inefficient code in terms of how much space is required to encode a single digit.

  • Since Industry 2 of 5 is a numeric-only code, Barcode Xpress Mobile generates an error if the barcode value contains characters that are not numeric. Industry 2 of 5 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels.

Intelligent Mail

The Intelligent Mail Barcode is also known as the USPS OneCode Solution or USPS 4-State Customer Barcode (abbreviated 4CB, 4-CB, or USPS4CB). This barcode is adopting a new 4-state 1D barcode that includes more address information than the current code. A sample is shown below. Further information can be found at the USPS Web site: http://ribbs.usps.gov/onecodesolution/.

The Intelligent Mail barcode combines information currently found in the PostNet and Planet barcodes. The length of the barcode is fixed at 65 bars. It also contains a CRC-Checksum for verifying the barcode value. There is no error correction. The output of the barcode is a 20, 25, 29, or 31 digit string (0, 5, 9, or 11 digit zip code) containing the following data:

(© USPS-B-3200,Pages 4-5,file:SPUSPS-B3200B001.pdf)

Statistics

The Mailer ID is a field within the Intelligent Mail barcodes that is used to identify Mail Owners and/or Mailing Agents. The IDs are assigned by the USPS to each Mail Owner and/or Mailing Agent that requests them. A Mailer ID can be a 9-digit field or a 6-digit field. The USPS assigns 6-digit or 9-digit Mailer IDs based upon the mail volume of the mailer.

  • The barcode identifier is a 2 digit field assigned by the USPS. The first digit ranges from 0-9 and the second digit ranges from 0-4.

    Note: All 6-digit MIDs (Mailer IDs) assigned by USPS will begin with 0 through 8. All 9-digit MIDs will begin with the number 9.

  • Special services include a 3 digit field assigned by the USPS for any special services. The range is 000-999.
  • The customer identifier is a 6 digit field assigned by the USPS and is unique for each customer. The range is 000000000-999999999.
  • The sequence number is a 9 digit field assigned by the mailer for tracking mail pieces. The range is 000000000-999999999.
  • The zip code is a 0, 5, 9, or 11 digit zip code. The ranges are none, 00000-99999, 000000000-999999999, 00000000000-99999999999.

Interleaved 2 of 5

Interleaved 2 of 5 is a numeric-only barcode that is widely used in warehouse and industrial applications. It is also called ITF-14/SCC-14.

The symbol can be as long as necessary to store the encoded data. The code is a high-density code.

The symbol is called "Interleaved" because a digit is encoded in the bars and the next digit is encoded in the spaces. There are five bars, two of which are wide; and five spaces, two of which are wide. Since the characters are interleaved in pairs, the barcode has to contain an even number of digits. If the barcode value contains an odd number of digits, Barcode Xpress Mobile barcode adds a leading "0" to the value.

Interleaved 2 of 5 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels.

Inverted 2 of 5

Inverted 2 of 5 is similar to Industry 2 of 5 (Industrial 2 of 5), except that the data is encoded in the white bars. It is not widely used.

Matrix 2 of 5

Matrix 2 of 5 is similar to DataLogic 2 of 5 with a checksum character. It is not widely used.

Patch Code

Barcode Xpress Mobile supports the following patch codes:

Patch Code Type Barcode Value
Patch 1 1100
Patch 2 1001
Patch 3 1010
Patch 4 / Toggle Patch 0110
Patch 6 0011
Patch T / Transfer patch 0101

NOTE: Patch Codes will only be recognized if they are the single & only barcode type set to be recognized; they are mutually exclusive with all other barcode types.

PDF417

PDF417 is often referred to as a stacked 1D barcode. Like DataMatrix it uses an error correction scheme and allows for encoding binary data.

An example PDF417:

PostNet

Specific to the US Postal Service is the PostNet (Postal Numeric Encoding Technique) barcode. Examples can be found on mail in the United States. It is unique in that it varies the height instead of the width of the bars. Except for the start and end bars, they are in groups of five, with two long and three short. A PostNet barcode can encode five, nine, or eleven digits, nothing else. It includes a checksum.

QRcode

QR code is one of very few barcode types that allow encoding of Kanji and Kana.

Statistics

  • The symbol size of the QRcode is 21 x 21 modules to 177 x 177 modules corresponding to Version 1-40, increasing in steps of 4.
  • The numeric data is maximum capacity 7089 digits.
  • The alphanumeric data maximum capacity is 4296 characters.
  • The byte data maximum capacity is 2953 bytes.
  • The Kanji data maximum capacity is 1817 characters.

Error Correction Level

This barcode type uses a Reed-Solomon error detection and correction scheme. There are four levels of error correction, each with increasing amount of error recover.

The higher the error level, the less data that can be stored in the barcode.
  • "L" - 7% error recovery
  • "M" - 15% error recovery
  • "Q" - 25% error recovery
  • "H" - 30% error recovery

Royal Post 4-State Barcode

The United Kingdom has implemented a new 4-state barcode referred to as the Royal Mail 4-State Customer Code (RM4SCC).

An example is shown below:

This barcode type is used by the Royal Post. It encodes 5, 6, or 7 character post codes along with a two character Delivery Point Suffix (DPS). A checksum character is included to verify the barcode read.

Code 128 and EAN 128

Code 128 provides excellent density for all-numeric data and good density for alphanumeric data. The symbol can be as long as necessary to store the encoded data. It is often selected over Code 39 in new applications because of its density and because it offers a much larger selection of characters. Code 128 is designed to encode all 128 ASCII characters.

A Code 128 can actually be divided into three subsets A, B, and C. There are three separate start codes to indicate which subset is being used. In addition, each subset includes control characters to switch to another subset in the middle of a barcode.

  • A - Digits, uppercase characters, standard ASCII symbols, and control codes.
  • B - Digits, upper and lower case characters, standard ASCII symbols, and control codes.
  • C - Numeric only. Compresses two numeric digits into each character, providing excellent density. Barcode Xpress Mobile will add a leading "0" if there are an odd number of digits in the code.

Each character is 11 times the width of the most narrow bar. Each character consists of 3 bars and 3 spaces. The bars always use an even number of elements and the spaces use an odd number. This provides the basis for a character-by-character consistency check during scanning. In addition, each Code 128 barcode includes a Modulo 103 checksum.

UPC-A

The UPC-A code is the standard version of the UPC code and has 12 digits. It is also called UPC-12 and is very similar to the EAN code. The UPC-A code is a numeric code which is able to display digits from 0 to 9. Each character consists of two lines and two spaces.

UPC-A encodes 12 digits. The first digit of the UPC-A code indicates what the code contains as follows:

0. Regular UPC code

1. Reserved

2. Articles where the price varies by weight: for example meat.

3. National Drug Code (NDC) and National Health Related Items Code (HRI)

4. UPC code which can be used without format restrictions. For use in-store on non-food items

5. Coupons

6. Reserved

7. Regular UPC code

8. Reserved

9. Reserved

The second to sixth digits indicate the producer of the article (UPC ID number). This number is issued by the Uniform Code Council (UUC). The seventh to eleventh digits show the individual article number issued by the producer. The last digit is a Modulo 103 checksum digit, which is calculated by Barcode Xpress Mobile.

The height of the UPC-A symbol should be at least half of the length of the symbol.

UPC-E

UPC-E is a variation of the UPC-A symbol that is used for number system 0. The UPC-E code is a numeric-only code which is able to display digits from 0 to 9. UPC-E has 8 digits, where the last digit is a checksum digit automatically added by Barcode Xpress Mobile. The first digit is always "0" and it is also automatically added by Barcode Xpress Mobile.

The UPC-E code is a compressed barcode which is intended for use on small items. Compression works by squeezing extra zeros out of the barcode and then automatically re-inserting them at the scanner. Only barcodes containing zeros are candidates for the UPC-E symbol.

When reading UPC-E, results are returned as uncompressed UPC values.

Barcode Xpress Mobile generates an error if you have characters in your barcode value that are not allowed. You can have 6, 10, 11 or 12 digits in the UPC-E value. If the barcode value has more than 6 digits, Barcode Xpress Mobile automatically compresses the value. There are four rules that determine what UPC codes can be created using the compressed UPC-E format:

  • If the last 3 digits of the manufacturer’s number are 000, 100, or 200, the valid product code numbers are 00000-00999 (1,000 numbers).
  • If the last 3 digits of the manufacturer’s number are 300, 400, 500, 600, 700, 800, or 900, the valid product code numbers are 00000-00099 (100 numbers).
  • If the last 2 digits of the manufacturer’s number are 10, 20, 30, 40, 50, 60, 70, 80 or 90, the valid product code numbers are 00000-00009 (10 numbers).
  • If the manufacturer’s number does not end in zero, the valid product code numbers are 00005-00009 (5 numbers).

UPU 4-State Barcode

The UPU 4 State barcode is a 4-state barcode. UPU 4-State barcodes can be either 57 or 75 bars in length. They are used for adding identifier tags to UPU postal items. UPU 4-State barcodes have two main formats, 18C and 18D. Both formats can be 57 or 75 bars in length, but they encode slightly different information. Below are examples:

Format 18C contains the following data:

Data Element Length
UPU Identifier 1
Format Identifier = 18C 3
Issuer Code 3
Equipment Identifier 3
Item Priority 1
Serial Number- Month 2
Serial Number – Day 2
Serial Number – Hour 2
Serial Number – 10 Min 1
Serial Number – Item Number Part 5
Tracking Indicator 1

Format 18D contains the following data:

Data Element Length
UPU Identifier 1
Format Identifier = 18D 3
Issuer Code 3
Equipment Identifier 3
Item Priority 1
Serial Number – Item Number Part 12
Tracking Indicator 1

This barcode type uses Reed Solomon error correction. So, even if the barcode is partly damaged, the lost information can be recovered.