Barcode, labelling and utility software


Barcode Information - 1D types

Common 1D barcode types (follow links for postal/clocked types or 2D types)

The 2 of 5 barcode family

A family of barcodes including 2 of 5, IATA 2 of 5, Interleaved 2 of 5 (ITF), Matrix 2 of 5 and the China Postal code

2 of 5 (Two of five)

2 of 5 is a numeric only coding scheme which is not very efficient and is rarely used.

 

Standard 2 of 5 barcode
2 of 5

IATA 2 of 5

A variation of the Standard 2 of 5 scheme commonly used in the airline industry

IATA 2 of 5 barcode

IATA 2 of 5


Interleaved 2 of 5 (ITF)

One of the most common code outside the retail area is Interleaved 2 of 5, a high density, continuous numeric symbology which codes digit pairs (ie. 00 is encoded as one set of bars, 01 as another, and so on). Because of this I-2 of 5 can only be used for even numbers of digits. If an odd number of digits is used in the dLSoft components, a leading 0 is added automatically to the front of the number.

 

Interleaved 2 of 5 barcode
Interleaved 2 of 5

Matrix 2 of 5

Matrix 2/5 is an older numeric-only code, with an optional modulo 10 check digit. Not recommended for new applications.

Matrix 2 of 5 barcode

China Postal code

The China Postal Code is a variant on Matrix 2 of 5 but with modified start and stop characters.


ITF

ITF is a larger code intended for use on the outside of packing cases and scanning a a distance. In this form it most commonly uses the same code and EAN-13, but with a LEADING 0. If a check digit is calculated by dBarcode for this code then the EAN-13 check digit is produced.

ITF barcode for packing case

(shown reduced in size)

The horizontal bars supporting the bars of the barcode are called Bearer Bars, and these are recommended rather than mandatory.

ITF barcode for packing case with print gauges

(shown reduced in size)

Similarly optional H printer gauge marks (and the accompanying extra light margin space) are optional, because these were also features of older printing technologies, designed to check for impression depth and ink spread.

 


ITF-6

A shortened version of this code is ITF-6

 

ITF 6 barcode
ITF-6

The ITF 6 code is not intended to have H gauges.

Note that these ITF codes use the same encoding scheme but are intended for different uses than Interleaved 2 of 5 (I-2of5)

Codabar barcode

Codabar is a discrete system developed by Monarch Marking Inc in 1972. It is know as NW-7 in Japan, as it has Narrow and Wide bars and 7 elements per character. It is also known as USD-4 and 2 of 7 code.

The Codabar coding scheme is a self-checking system which has 16 characters in its character set; the digits 0 -9, and the characters $ : / . + -. It has a choice of four start & stop characters, although some versions allow a choice of eight!. By default dLSoft barcode products uses A and C for start and stop respectively. However, by prefixing the barcode with a caret (^) and two symbols, any of the allowed Codabar characters may be used for start and stop; ie.

^AT

causes A to be used as the start character and T to be used for the stop character.

 

 Codabar barcode 

The allowed Codabar start and stop characters are: A B C D E N T *

The start and stop characters are not displayed in text form.

Codabar does not define a check digit. However, Mod 10 or Mod 16 check digits are often used in Codabar symbols, so the dLSoft products will generate a Mod 10 or Mod 16 check digit if required.

Code 11

Code 11 is an older numeric code that is used by a number of large organisations, but is rarely found on retail scanners.

 Code 11 barcodes can contain only digits and the - symbol.

Code 11 barcode           Code 11

Code 128 barcodes

Code 128 is a modern very high density coding schemes. It has three coding schemes and permits the inclusion of special characters not present on the keyboard.

Scheme A encodes uppercase letters, digits, punctuation and the non-printable ASCII characters (values below 32)

Scheme B encodes upper and lower case letters, digits and punctuation

Scheme C codes only the digit pairs 00-99.

 

Code 128 barcode
Code-128

GS1-128 barcodes use the same coding schemes as Code 128, but are distinguished by having an FNC1 character as the first character. GS1-128 is different from Code 128 and the two should not be regarded as interchangeable.

 

GS1 128 barcode
GS1-128

Some dLSoft products provide the control codes for switching between Code 128 subtypes automatically, although this facility can be turned off. Users should note that if this option is used then the barcode produced may not appear identical to a sample obtained from another source - although it will scan to produce the same characters.

The majority of support calls result from users not using the correct 128 scheme (ie. A, B or C) or not being aware of which scheme a customer is expecting. Some customers expect only scheme C, while others start in scheme A and then switch to scheme C, etc. It is important to be aware that the three schemes exist and will commonly be encountered within the same barcode. For this reason it is essential to ascertain which type the customer wants and if and where the scheme should change along the barcode.

Code 39 barcodes

Code 39 (also known as 3 of 9) is by far the most common barcode scheme outside the retail area and is read by most scanners, although it is not as compact as Code 93 or Code 128. The normal Code 39 scheme encodes both numbers and upper case letters, and was the first alphanumeric symbology.

 

Code 39 barcode
Standard Code 39

Code 39 has an optional checkdigit.

Extended Code 39

The Extended Code 39 scheme also includes the lower case letters and much punctuation.

 

Extended Code 39 barcode
Extended Code 39

It should be noted that Extended Code 39 represents most of the additional characters by using two characters from the standard Code 39 character set. Consequently Extended Code 39 symbols are about twice as long as standard Code 39 symbols.

Code 39 is a discrete symbology - so the gap between ciphers may be larger than a unit space. Some users mistake that inter-cipher gap for a space and become concerned because it is not the same size as in another barcode representing the same characters. There is no substitute for testing the barcode with a scanner!

Also the start and stop characters are the same, and sometimes may be represented in the human readable form by an asterisk.

Code 93 barcodes

Code 93 is a variable length, continuous symbology using four element widths with each character consisting of three bars and three spaces. Code 93 was designed to complement Code 39 and is a more compact code than the latter.

Code 93 barcode

Special codes are used to allow full ASCII characters to be incorporated, making the system more reliable than Code 39.

The standard Code 93 encodes numbers and upper-case letters, while the Extended Code 93 encodes the full ASCII character set.

Code B barcodes

Code B is a “basic” numeric only code, which is fairly efficient in use of space.

Code B barcode       Code B

 Code B is rarely used in modern applications

Deutschen Post barcodes

The Interleaved 2 of 5 barcode forms the basis of the German Identcode and Leitcode symbols used by Deutschen Post. These are 12 and 14 digit barcodes respectively, but they do use a different check digit calculation from the standard Interleaved 2 of 5 symbol.

Identcode barcode

Checking the EXTRA1 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA1 (bit 4 of the flags variable) turns on the Deutschen Post check digit when auto-check digit is also on, enabling the I-2 of 5 barcode image to be used as Identcode and Leitcode symbols.

Note that spaces and periods are removed from the strings supplied for I-2 of 5 barcodes before the barcode image is created – so the correct layout for  Identcode and Leitcode text may be used to create the symbols.

DUN-14 numbering

DUN is not really a barcode type. It’s a Distribution Unit Number. However, it is frequently constructed from 12/13 digit retail barcode numbers, and uses a special checkdigit.

DUN-14 numbers may be represented by ITF or GS1-128 barcodes, and modern implementation should use GS1-128.

DUN-14 in GS1-128 barcode form may be created by providing 13 digits (the Logisitcal Variant digit – normally 0 in the UK) followed by the first 12 of the retail digits (eg. from EAN-13 numbers but without EAN's check digit). The DUN check digit is then calculated and the barcode symbol produced using GS1-128 symbology. The symbols are then known as EAN-14 symbols.

EAN & UCC barcodes

EAN is the European name for a group of barcode standards which have their counterparts in the US UCC standards. These standards define several different barcode types used for traded articles.

EAN-13 is the main scheme used throughout Europe for retail article numbering and is identical to UCC-13 used in the USA. It is a numeric only coding scheme. The > symbol in the right margin is a light margin indicator. In the left margin the first code digit is used as the margin indicator. No other marking should appear in the light margins.

 

EAN 13 barcode
EAN-13 / UCC-13

EAN codes require 13 digits (12 if the check digit is calculated automatically. Numbers used for EAN article numbering are assigned by the country’s Article Number Association (the E-Centre in the UK).

EAN codes may contain 2 or 5 digit supplementaries:

 

EAN barcode with 2 digit supplementary
EAN13+2

 

EAN barcode with 5 digit supplementary
EAN13+5

The ISBN coding scheme is EAN13, with the first three digits being 978, and 9 digits the ISBN number of the book (without check digit). The final digit is the EAN calculated check digit.

The ISSN coding scheme is EAN13, with the first three digits being 977, 7 digits showing the ISSN number of the periodical (without check digit), and 2 spare digits (used in the UK to indicate price code changes). The final digit is the EAN calculated check digit.

Bookland barcodes are unique numbers that are printed on the covers of books. They contain the book's ISBN number and pricing information encoded using EAN 13 bar codes with a 5 digit supplementary code.

For a book with ISBN 1-234-5678-9 retailing at $19.95 in the US, the data to encode is generated by taking 978, followed by the ISBN number 12345678 (the last digit of the ISBN number is a check digit and is not included), followed by a currency digit (5 for US$) and a four digit price (51995), ie.

9781234567851995

The JAN coding scheme is EAN13 with the first two digits being 49.

Note that there is not a one to one correspondence between bars and the code numbers.

EAN-8

EAN-8 is a smaller and shortened version of the EAN code.

 

EAN 8 barcode
EAN-8

EAN-8 requires 8 digits (7 if the check digit is calculated automatically), and support 2 and 5 digit supplementaries.

EAN-14 and UCC-14 barcodes

EAN-14/UCC-14 barcodes may be represented by ITF or EAN128/UCC128 barcodes, and modern implementations should use EAN128/UCC128 – so that is what the dLSoft barcode libraries use.  EAN-14 barcodes may be constructed from 12/13 digit retail UPC/EAN/UCC barcode numbers by left-filling the numbers with zeros, and use a special checkdigit.

EAN-14 in EAN128 barcode form may be created by providing 13 digits; the Logistical Variant digit (normally 0 in the UK) followed by the first 12 of the retail digits (eg. from EAN-13 numbers but without EAN's check digit). Creation from UPC-A numbers requires two 0s followed by the first 11 digits of the UPC-A barcode number without the check digit. dBarcode calculates the EAN-14 check digit if Auto-checkdigit is enabled, and then produces the EAN128 barcode.

 

GS1-128 barcodes

GS1-128 barcodes (formerly EAN-128 or UCC-128) are modern very high density codes. The scheme is based on Code 128 but is distinguished from it by having its first character as an FNC1 character.

 

GS1-128 barcode 
GS1-128

  GS1-128 barcodes commonly include Application Identifiers (the characters enclosed in brackets) which identify the function of the characters following the brackets. Application Identifiers are defined by GS1, and some examples are shown below:

  • (01) identifies a GTIN (Global Traded Item Number)
  • (10) identifies a Batch or Lot Number
  • (11) identifies a Product Date (as YYMMDD)
  • (15) identifies a Best Before Date (as YYMMDD)
  • (21) identifies a Serial Number
  • (400) identifies a Purchase Order Number
  • (422) identifies a Country of Origin (as ISO code)

Users of GS1-128 should note that while there is a nominal size for these symbols (31.8 mm high and 11*n+2 mm long, where n is the number of characters including control codes), many applications of these codes use recommended sizes of between 50% and 84% of nominal.

ISBN-10 and ISBN-13 barcodes

The ISBN-10 barcode coding scheme is EAN-13/UCC-13, with the first three digits being 978 OR 979, and 9 digits the ISBN number of the book (without the ISBN check digit). The final digit is the EAN/UCC calculated check digit. Since the introduction of the ISBN-13 system the first three digits have been assigned as part of the ISBN-13 number.

 

ISBN-10 barcode
ISBN

Note that the final digit of the older 10 digit ISBN numbers is an ISBN check digit and this is NOT included in the barcode image. The barcode image will contain the EAN check digit.

In January 2007 the ISBN Agencies began assigning 13-digit identifiers to books and book-related products. These identifiers, "ISBN-13s", incorporate the older Bookland EAN into a new book identifier where the prefix can be either '978' (current value) or '979'.

ISBN-13 barcode

dLSoft Barcode components automatically recognize ISBN-13 barcode data starting with 978 or 979 and generate the appropriate ISBN-13 barcode. dLSoft Barcode components will generate ISBN-13 barcodes using the ‘978’ prefix from data supplied as the older ISBN 10 data.

ISSN and ISMN barcodes

The International Standard Serial Number (ISSN) is an internationally accepted code which identifies the title of serial publications. It is an eight digit number consisting of seven digits plus a check digit which enables a computer to recognise when the number is incorrectly cited. The check digit may be an X, otherwise the ISSN is fully numeric.

The ISSN coding scheme for barcodes is EAN13, with the first three digits being 977, 7 digits showing the ISSN number of the periodical (without the ISSN check digit), and 2 spare digits (used in the UK to indicate price code changes). The final digit is the EAN calculated check digit.

ISSN barcode

ISSN with 2 and 5 digit supplementaries are supported by some dLSoft products. The supplementary characters must be separated from the ISSN numbers with a / character.

ISMN

The International Standard Music Number (ISMN) is a unique machine-readable identification number for printed music publications from all over the world, whether the item is a part, a score, or an element in a multi-media kit. The ISMN numbering system is managed by the International ISMN Agency.

The ISMN changed from 10 to 13 digits on 1 January 2008
There will be a transition period of several months, but by end of 2008 all publications of notations should carry and be listed with the 13-digit number

ISMN barcode

From January 2008 the ISMN coding scheme is EAN13, with the first three digits being 979. The ISMN number should be supplied complete with hyphenation, and this will appear above the barcode.
Unused older (10 digit) ISMNs may be converted to the new format by prefixing the 10 digit ISMN with 9790.

Italian Postal barcodes

Italian Postal 3/9

The Italian Postal 3/9 code is encoded using Code 39 symbology, except that the check digit is calculated using a different algorithm from that used by Code 39.

Italian Postal 3/9 barcode        Italian Postal 3/9

 The code data consists of

two alphabetical characters
eight digits
one check digit
two alphabetical characters.

The dLSoft library calculates the check digit when required, and inserts spaces between the components of the code. The data may be supplied without spaces.

Italian Postal 2/5

The Italian Postal 2/5 code is encoded using Interleaved 2 of 5 symbology, except that the check digit is calculated using a different algorithm from that used by normal Interleaved 2/5.

Italian Postal 2/5 barcode         Italian Postal 2/5

The code data consists of

eleven digits
one check digit

The dLSoft library calculates the check digit when required, and inserts a dash or a space between the components of the code. A dash is normally inserted, but a space may be inserted by checking the EXTRA1 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA1 (bit 4 of the flags variable). The data may be supplied without a space/dash.

MSI barcodes

MSI, also known as the Modified Plessey Code, is a relatively weak code which is inefficient in use of space.

 

MSI barcode
MSI with single checkdigit

Normally this code has a single Modulo 10 check digit. However, there are two variations of a double check digit form in common use. One uses a Mod 11 check digit before the normal Mod 10 check digit, the other uses two Mod 10 check digits.

 

MSI barcode with Mod 10 check digit
MSI with extra Mod 10 checkdigit

 

MSI barcode with Mod 11 checkdigit
MSI with extra Mod 11 checkdigit

Some scanning equipment cannot read both forms. (in fact some scanning equipment cannot read either of the two checkdigit forms). Check your scanners documentation to ensure that you choose an appropriate combination.

Plessey barcodes

An older code still popular in some industries, the Plessey code supports numbers and the characters X, B, C, D, E and F, plus a two character crc check.

Plessey barcode

It is common practice in some industries using Plessey barcodes to separate the barcode characters from their checkdigits. With dLSoft products this can be done by setting the EXTRA2 flag in applications or setting the flags parameter bit DL_FLAG_EXTRA2 (bit 5 of the flags variable), or by manually including a space character at the end of the barcode data.

This barcode type has more exacting printing requirements than most other 1D barcodes as it includes bar widths ranging from 1 to 5 X units.

PZN

PZN (Pharma-Zentral-Nummer) is a variant of Code 39 including a Modulo 11 check digit, and is used for marking pharmaceutical and health care products in Germany.

PZN barcode

 

Serial Shipping Container Code (SSCC)

The Serial Shipping Container Code is a unique identification of individual shipping containers. The standard includes a unique barcode symbology, GS1-128, using the GS1 Application Identifier Standard.

The SSCC uses an 18 digit number which consists of:

a) a single extension digit assigned by the company that constructs the SSCC
b) the GS1 company prefix. (Those assigned by UCC are prefixed with 0).
c) a serial reference number that must remain unique for at least 12 months
d) a single Mod 10 check digit.

SSCC barcode

When an SSCC barcode is generated using dLSoft components the data is prefixed by the (00) Application Identifier. The Mod 10 check digit may be generated by selecting the Auto-check digit option. The Show check digit option is ignored, as the Mod 10 check digit must always be shown in the human readable form.

SISAC barcodes & SICI numbers

Unlike most other barcodes the SISAC barcode symbol does not have a one-to-one correspondence with the SICI code printed underneath it. The SISAC scheme uses a complex table-lookup method for converting the SICI code into the SISAC code - which is then reproduced using Code 128 barcode symbology.

 

SISAC barcode

dLSoft products which support SISAC codes SC generates the SISAC barcode from the SICI code, and it can only do this if the SICI code itself is correct.

The SICI code must contain at least the following items:

The ISSN number complete with a hyphen between digits 4 and 5, e.g. 1234-5678
A date item enclosed in brackets. If no date item is required the () symbols MUST STILL BE PRESENT.
A number item is optional. e.g. 14:1
Index or supplement numbers are optional, e.g. *1
The standard version number which is currently ;1- and all three characters MUST BE PRESENT

A SICI check digit may immediately follow the - of the version number. The check digit may be entered manually or may be calculated by dBarcode by enabling Auto Checksum.

Note: When copying SICI codes from publications it is not always easy to distinguish the : and ; characters. SICI codes ALWAYS end with (semicolon) ;1-n where n is a check digit.

(dLSoft products do not currently support SICI location codes.)

Telepen barcodes

Telepen provides three coding schemes, each having its own pair of start and stop characters:

  • Full ASCII – encodes the lower 128 ASCII characters
  • Compressed Numeric – where the encoding starts in compressed numeric mode (encoding two digits per group of bars) and may be followed by ASCII encoding. This scheme is for encoding an even number of digits. If an odd number of digits is to be encoded then either a switch from Compressed numeric to ASCII is required before the final digit or the string of digits must be prefixed with a 0.
  • ASCII – where the encoding starts in full ASCII mode and is followed by digits in compressed numeric encoding.

The switch from ASCII to Compressed numeric (or vice versa) is accomplished by the insertion of an ASCII DLE character, but this is permitted only once in any symbol.

Telepen barcode

The dLSoft barcode library provides standard Telepen (in which the above are followed), Telepen N (which uses the above scheme but forces the full ASCII start and stop bars), and Telepen A (which encodes all data as ASCII without compressed numeric). The Telepen ASCII mode provides the full ASCII character set. Codes below 32 (space) may be entered as <ALT>0XYZ, where XYZ is the 3 digit ASCII code +128. The ASCII ESC character required on some Telepen Numeric systems as the first character may be obtained by checking the EXTRA1 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA1 (bit 4 of the flags variable) or BarCode.Extra1 in the OCX. Normally a switch from Compressed numeric to ASCII is used to handled odd length digit strings, but by checking the EXTRA2 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA2 (bit 4 of the flags variable) or BarCode.Extra1 in the OCX, the library will prefix the digits with a 0 to make the total number of digits even.

UPC barcodes

UPC (Universal Product Code) barcodes are specified by the UCC - now GS1-US - and are being replaced over time by the newer EAN/UCC barcodes. UPC barcodes are still widely used in the USA as a retail code.

The actual UPC code is a 10 digit code. The 10 digit number is preceded by a "number system" digit, which is 0 for the retail version, and followed by a check digit. In many retail systems only the 10 digits of the UPC code need to be entered in the event of a mis-scan, so there have been times when the leading 0 has not been included in the human readable form. However, other values of the number system digit are used for specific purposes (eg. 6 or 7 are used for manufacturing identification numbering, 3 for drug products, etc.).

The UPC-A code is one variant of a number of 12 digit codes widely used in the USA. Retail codes are usually thought of as those with 10 digits (or 11 if the checkdigit is being entered explicitly), and in fact are 12 digit codes made up of a leading 0, followed by 10 product digits and 1 checkdigit.

This system allows alternative leading digits to be used for their intended purposes. Users of such alternative codes will know what those leading digits may be, or may obtain the information from the authorised code provider.

 

UPC-A barcode
UPC-A

UPC-A codes support 2 and 5 digit supplementaries.

UPC-E codes are smaller barcodes supporting 6 digits and a check digit.

 

UPC-E barcode
UPC-E

UPC codes support 2 and 5 digit supplementaries.

 


Sites operated by DL Technology Ltd                            barcode software       barcode fonts                  
E-mail: webmaster@dlsoft.com                      [Product index] [Site index
10/04/2008

dLSoft is a registered trade mark of DL Technology Ltd, a company registered in England number 3615271

Award-winning publisher 2006    dLSoft - Award-winning publisher 2006 & 2007     Award-winning publisher 2007