ISO/IEC 15420:2000
(Main)Information technology — Automatic identification and data capture techniques — Bar code symbology specification — EAN/UPC
Information technology — Automatic identification and data capture techniques — Bar code symbology specification — EAN/UPC
Technologies de l'information — Techniques automatiques d'identification et de capture des données — Spécifications pour les symboles des codes à barres — EAN/UPC
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 15420
First edition
2000-12-15
Information technology — Automatic
identification and data capture
techniques — Bar code symbology
specification — EAN/UPC
Technologies de l'information — Techniques d'identification automatique et
de capture des données — Spécifications pour les symboles des codes à
barres — EAN/UPC
Reference number
ISO/IEC 15420:2000(E)
©
ISO/IEC 2000
---------------------- Page: 1 ----------------------
ISO/IEC 15420:2000(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not
be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this
file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this
area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters
were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event
that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2000
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic
or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body
in the country of the requester.
ISO copyright office
Case postale 56 � CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.ch
Web www.iso.ch
Printed in Switzerland
ii © ISO/IEC 2000 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 15420:2000(E)
Contents
Foreword.v
Introduction.vi
1 Scope .1
2 Normative references .1
3 Terms and definitions .1
4 Requirements.3
4.1 Symbology characteristics .3
4.2 Symbol types.3
4.3 Symbol encodation.3
4.3.1 Symbol character encodation .3
4.3.2 Auxiliary pattern encodation .5
4.4 Symbol formats.5
4.4.1 EAN-13 symbols.5
4.4.2 EAN-8 symbols.6
4.4.3 UPC-A symbols .7
4.4.4 UPC-E symbols .8
4.4.5 Add-on symbols.11
4.5 Dimensions and Tolerances.14
4.5.1 Width of narrow element (X).14
4.5.2 Bar height .14
4.5.3 Quiet zone .14
4.5.4 Positioning of the add-on symbol.15
4.5.5 Element widths .15
4.5.6 Symbol width .15
4.5.7 Magnification factors.16
4.5.8 Dimensional Tolerances .16
4.6 Reference decode algorithm .16
4.7 Symbol quality .20
4.7.1 Decodability .20
4.7.2 Additional Criteria .21
4.8 Application-defined parameters.21
4.9 Human-readable interpretation .21
4.10 Transmitted data.21
4.11 Implementation guidelines .21
Annex A (normative) Additional features.22
A.1 Check digit.22
A.2 Human-readable interpretation .23
Annex B (normative) Symbology identifier.24
Annex C (informative) Overview of the UCC/EAN system.25
Annex D (informative) Illustration of number sets A, B and C and auxiliary patterns.26
Annex E (informative) Dimensioned drawings of the nominal size symbols.28
Annex F (informative) Traditional Measurement Methods.33
F.1 Dimensional Tolerances .33
F.2 Optical parameters .34
© ISO/IEC 2000 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 15420:2000(E)
Annex G (informative) Guidelines for reading and printing.36
G.1 Autodiscrimination compatibility.36
G.2 System considerations.36
G.3 Printing considerations.36
G.4 Programmer's Example.36
iv © ISO/IEC 2000 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 15420:2000(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in
liaison with ISO and IEC, also take part in the work.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting.
Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of
patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 15420 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information
technology, Subcommittee SC 31, Automatic identification and data capture techniques.
Annexes A and B form a normative part of this International Standard. Annexes C to G are for information only.
© ISO/IEC 2000 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 15420:2000(E)
Introduction
The technology of bar coding is based on the recognition of patterns encoded in bars and spaces of defined
dimensions. There are numerous methods of encoding information in bar code form, known as symbologies.
EAN/UPC is one such symbology. The rules defining the translation of characters into bar and space patterns, and
other essential features of each symbology, are known as the symbology specification.
EAN/UPC bar code symbols are exclusively reserved for encoding identification numbers. The use of the
symbology is restricted and subject to compliance with the EAN International (EAN) and Uniform Code Council
(UCC) rules and registration procedures. The administration of the numbering system by EAN and UCC ensures
that identification codes assigned to particular items are unique world-wide and are defined in a consistent way. The
major benefit for the users of the UCC/EAN system is the availability of uniquely defined identification codes for use
in their trading transactions. Refer to Annex C for an overview of the UCC/EAN system.
Manufacturers of bar code equipment and users of bar code technology require publicly available standard
symbology specifications to which they can refer when developing equipment and software.
vi © ISO/IEC 2000 – All rights reserved
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISO/IEC 15420:2000(E)
Information technology — Automatic identification and data
capture techniques — Bar code symbology specification —
EAN/UPC
1 Scope
This International Standard specifies the requirements for the EAN/UPC symbology including data character
encodation, symbol formats, dimensions, test specifications, and a reference decoding algorithm.
Data content and the rules governing the use of this symbology are defined in the UCC/EAN system specifications.
2 Normative references
The following normative documents contain provisions which, through reference in this text, constitute provisions of
this International Standard. For dated references, subsequent amendments to, or revisions of, any of these
publications do not apply. However, parties to agreements based on this International Standard are encouraged to
investigate the possibility of applying the most recent editions of the normative documents indicated below. For
undated references, the latest edition of the normative document referred to applies. Members of ISO and IEC
maintain registers of currently valid International Standards.
ISO/IEC 646:1991, Information technology — ISO 7-bit coded character set for information interchange.
ISO 1073-2:1976, Alphanumeric character sets for optical recognition — Part 2: Character set OCR-B — Shapes and
dimensions of the printed image.
ISO/IEC 15416:2000, Information technology — Automatic identification and data capture techniques — Bar code
print quality test specification — Linear symbols.
ISO/IEC 15424:2000, Information technology — Automatic identification and data capture techniques — Data Carrier
Identifiers (including Symbology Identifiers).
EN 1556:1996, Bar coding — Terminology.
ANSI/UCC-1:1995, U.P.C. Symbol Specification Manual.
"General EAN Specifications" (EAN International, Brussels).
3 Terms and definitions
For the purposes of this International Standard, the terms and definitions given in EN 1556 and the following apply.
3.1
add-on symbol
A symbol used to encode information supplementary to that in the main symbol.
© ISO/IEC 2000 – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC 15420:2000(E)
3.2
auxiliary pattern
A pattern of bars/spaces representing non-data components of the symbol - e.g. guard patterns and inter-character
delineators.
3.3
delineator
An auxiliary pattern used to separate characters within an add-on symbol.
3.4
even parity
A characteristic of the encodation of a symbol character whereby the character contains an even number of dark
modules.
3.5
guard pattern
An auxiliary pattern of bars/spaces corresponding to start or stop patterns in other symbologies, or serving to
separate the two halves of a symbol.
3.6
magnification factor
A constant multiplier of the nominal dimensions of an EAN/UPC symbol.
3.7
numbering organisation
An agency responsible for the administration of the UCC/EAN system and maintenance of a number bank within a
defined territory.
3.8
number set
A series of ten bar/space patterns of either even or odd parity encoding the digits 0 to 9.
3.9
odd parity
A characteristic of the encodation of a symbol character whereby the character contains an odd number of dark
modules.
3.10
UCC/EAN System
A system for the unique numbering and identification of products, handling units, assets, locations, and services
according to a set of rules maintained by EAN International and the Uniform Code Council. See Annex C.
3.11
variable parity encodation
The process of encoding additional information in a series of symbol characters by using particular combinations of
odd and even parity characters to implicitly encode digits or for checking purposes.
3.12
zero-suppression
The process of removing zeroes from specified positions in a UCC-12 data string in order to encode it in UPC-E
format.
2 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 15420:2000(E)
4 Requirements
4.1 Symbology characteristics
The characteristics of EAN/UPC are:
a) Encodable character set: numeric (0 to 9) i.e. ASCII characters 48 - 57 inclusive, in accordance with ISO 646;
b) Symbology type: continuous;
c) Elements per symbol character: 4, comprising 2 bars and 2 spaces, each of 1, 2, 3 or 4 modules in width
(auxiliary patterns have differing numbers of elements);
d) Character self-checking: yes;
e) Data string length encodable: fixed (8, 12, or 13 characters including check digit depending on specific symbol
type);
f) Omni-directionally decodable: yes;
g) Symbol check digit: one, mandatory (see A.1);
h) Symbol character density: 7 modules per symbol character;
i) Non-data overhead including the check digit, but not including quiet zones:
18 modules for EAN-13, EAN-8 and UPC-A symbols
9 modules for UPC-E symbols
4.2 Symbol types
The four types of the EAN/UPC symbol are:
EAN-13, UPC-A and UPC-E, all of which may be accompanied by an add-on symbol;
EAN-8.
The four symbol types are described in 4.4.1 to 4.4.4 and the optional add-on symbols are described in 4.4.5.
4.3 Symbol encodation
4.3.1 Symbol character encodation
Symbol characters shall encode digit values in 7-module characters selected from different number sets known as
A, B and C, as in Table 1:
© ISO/IEC 2000 – All rights reserved 3
---------------------- Page: 9 ----------------------
ISO/IEC 15420:2000(E)
Table 1: Number sets A, B and C
Digit Set A Element Widths Set B Element Widths Set C Element Widths
value
S B S B S BSBB SBS
0 3 2 1 1 1 1233 211
1 2 2 2 1 1 2222 221
2 2 1 2 2 2 2122 122
3 1 4 1 1 1 1411 411
4 1 1 3 2 2 3111 132
5 1 2 3 1 1 3211 231
6 1 1 1 4 4 1111 114
7 1 3 1 2 2 1311 312
8 1 2 1 3 3 1211 213
9 3 1 1 2 2 1133 112
NOTE S denotes a space (light), B denotes a bar (dark), and the element widths are in modules.
Annex D illustrates Table 1 graphically. The sum of the bar modules in any symbol character determines its parity.
Symbol characters in number set A are odd parity characters. Symbol characters in number sets B and C are even
parity characters. Number set C characters are mirror images of number set B characters.
Symbol characters in number sets A and B always begin on the left with a light module and end on the right with a
dark module. Symbol characters in number set C begin on the left with a dark module and end on the right with a
light module.
A data character shall normally be represented by a symbol character. However in certain specific instances defined
below (see 4.4.1, 4.4.4, 4.4.5) the combination of number sets in a symbol may itself represent either data or a
check value. This technique is referred to as variable parity encodation.
4 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 15420:2000(E)
4.3.2 Auxiliary pattern encodation
Auxiliary patterns shall be composed as shown in Table 2.
Table 2: Auxiliary patterns
Auxiliary pattern Number of Element widths in modules
modules
SBS BS B
Normal guard pattern 3 1 1 1
Centre guard pattern 5 1 1 1 1 1
Special guard pattern 6 1 1 1 1 1 1
Add-on guard pattern 4 1 1 2
Add-on delineator 2 1 1
NOTE: S denotes a space (light) element, B denotes a bar (dark) element.
Annex D illustrates these patterns graphically.
The normal guard pattern corresponds to the start and stop patterns in other symbologies and the special guard
pattern is used as a stop pattern in UPC-E symbols.
4.4 Symbol formats
4.4.1 EAN-13 symbols
The EAN-13 symbol shall be made up as follows, reading from left to right:
a left quiet zone;
a normal guard pattern;
6 symbol characters from number sets A and B;
a centre guard pattern;
6 symbol characters from number set C;
a normal guard pattern
a right quiet zone.
The rightmost symbol character shall encode the check digit calculated in accordance with Annex A.1.
Since the EAN-13 symbol comprises only 12 symbol characters but encodes 13 digits of data (including the check
digit), the value of the additional digit, which is the character in the leftmost position in the data string, shall be
encoded by the variable parity mix of number sets A and B for the 6 symbol characters in the left half of the symbol.
The coding system for values of the leading digit is specified in Table 3. Figure 1 is an example of an EAN-13 bar
code symbol.
© ISO/IEC 2000 – All rights reserved 5
---------------------- Page: 11 ----------------------
ISO/IEC 15420:2000(E)
Table 3: Left half of EAN-13 symbol
Leading digit,
Number sets used for coding left half of EAN-13 symbol
implicitly
encoded
Symbol character position
1 234 5 6
0* A AAA A A
1 A ABA B B
2 A ABB A B
3 A ABB B A
4 A BAA B B
5 A BBA A B
6 A BBB A A
7 A BAB A B
8 A BAB B A
9 A BBA B A
NOTE: The leading digit value “0” is reserved for symbols encoding UCC-12 data strings.
>
5 0 1 2 3 4 5 6 7 8 9 0 0
Figure 1: EAN-13 bar code symbol
4.4.2 EAN-8 symbols
The EAN-8 symbol shall be made up as follows, reading from left to right:
a left quiet zone;
a normal guard pattern;
4 symbol characters from number set A;
a centre pattern;
6 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 12 ----------------------
ISO/IEC 15420:2000(E)
4 symbol characters from number set C;
a normal guard pattern.
a right quiet zone.
The rightmost symbol character shall encode the check digit calculated in accordance with Annex A.1. Figure 2
shows an example of an EAN-8 bar code symbol.
3 4 5 1
2 0 1 2 >
<
Figure 2: EAN-8 bar code symbol
4.4.3 UPC-A symbols
The UPC-A symbol shall be made up as follows, reading from left to right:
a left quiet zone;
a normal guard pattern;
6 symbol characters from number set A;
a centre pattern;
6 symbol characters from number set C;
a normal guard pattern.
a right quiet zone.
The rightmost symbol character shall encode the check digit calculated in accordance with Annex A.1. UPC-A
symbols may be decoded as a 13 digit number by adding an implied leading zero to the UCC-12 number. Figure 3
shows an example of a UPC-A bar code symbol.
© ISO/IEC 2000 – All rights reserved 7
---------------------- Page: 13 ----------------------
ISO/IEC 15420:2000(E)
0 5
1 2 3 4 5 6 7 8 9 0
Figure 3: UPC-A bar code symbol
4.4.4 UPC-E symbols
The UPC-E symbol shall be made up as follows, reading from left to right:
a left quiet zone;
a normal guard pattern;
6 symbol characters from number sets A and B;
a special guard pattern;
a right quiet zone.
The UPC-E symbol may only be used to encode UCC-12 data strings which commence with a zero and contain a
sequence of four or five zeroes in defined positions, as shown in Table 5. These zeros are removed from the data
during encoding by the process of zero suppression described in 4.4.4.1. Figure 4 shows an example of a UPC-E
bar code symbol.
1
0 0 7 8 3 4 9
Figure 4: UPC-E bar code symbol (encoding “0 07834 00009 1” by zero suppression)
4.4.4.1 Encodation of a UPC-E symbol
The following algorithm describes the encodation of a data string suitable for zero suppression:
1) Let D1, D2, D3.D12 denote the UCC-12 data characters (including check digit). D1 shall always be 0. D12
shall be the symbol check digit calculated according to the algorithm in Annex A.1. Let X1, X2.X6 denote
the six symbol characters in the final UPC-E symbol.
2) Convert D2 through D11 into a symbol character string by removing zeroes according to the following rules:
a) if D11 equals 5, 6, 7, 8 or 9
8 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 14 ----------------------
ISO/IEC 15420:2000(E)
and D7 to D10 inclusive are all 0
and D6 is not 0
then D7 to D10 are not encoded.
Symbol character:X1X2X3X4X5X6
Data character: D2 D3 D4 D5 D6 D11
b) if D6 to D10 inclusive are all 0
and D5 is not 0
then D6 to D10 are not encoded and X6 = 4.
Symbol character: X1 X2 X3 X4 X5 X6
Data character: D2 D3 D4 D5 D11 4
c) if D4 is 0, 1 or 2
and D5 to D8 inclusive are all 0
then D5 to D8 are not encoded.
Symbol character: X1 X2 X3 X4 X5 X6
Data character: D2 D3 D9 D10 D11 D4
d) if D4 is 3, 4, 5, 6, 7, 8 or 9
and D5 to D9 inclusive are all 0
then D5 to D9 are not encoded and X6 = 3.
Symbol character: X1 X2 X3 X4 X5 X6
Data character: D2 D3 D4 D10 D11 3
3) Determine the number sets for the implicit encodation of D12 from Table 4.
4) Encode symbol characters X1 to X6 using number sets A and B as determined in step 3.
© ISO/IEC 2000 – All rights reserved 9
---------------------- Page: 15 ----------------------
ISO/IEC 15420:2000(E)
Table 4: Number sets for UPC-E Symbol
Number sets used for coding UPC-E symbol
Value of check
digit D12
Symbol character position
12 3 4 5 6
0 B BB AA A
1 B BA BA A
2 B BA AB A
3 B BA AA B
4 B AB BA A
5 B AA BB A
6 B AA AB B
7 B AB AB A
8 B AB AA B
9 B AA BA B
EXAMPLE 1: Original data Zero-suppressed Rule
0 1 2 3 4 5 0 0 0 0 5 8 1 2 3 4 5 5 2a
B A B A A B
EXAMPLE 2: Original data Zero-suppressed Rule
0 4 5 6 7 0 0 0 0 0 8 0 4 5 6 7 8 4 2b
B B B A A A
EXAMPLE 3: Original data Zero-suppressed Rule
0 3 4 0 0 0 0 0 5 6 7 3 3 4 5 6 7 0 2c
B B A A A B
EXAMPLE 4: Original data Zero-suppressed Rule
0 9 8 4 0 0 0 0 0 7 5 1 9 8 4 7 5 3 2d
B B A B A A
NOTE: The number sets used to implicitly encode the check digit are shown in the zero-suppressed column.
10 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 16 ----------------------
ISO/IEC 15420:2000(E)
4.4.4.2 Decoding a UPC-E symbol
Derivation of the 12 digit data string from the characters encoded in the UPC-E symbol can be performed according
to Table 5.
Table 5: Decoding of UPC-E symbol
Encoded UPC-E digits Decoded number
P1 P2 P3 P4 P5 P6 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12
0
(0) X1 X2 X3 X4 X5 (C) (0) X1 X2 00 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 1 (C) (0) X1 X2 10 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 2 (C) (0) X1 X2 20 0 0 0 X3 X4 X5 (C)
(0) X1 X2 X3 X4 X5 3 (C) (0) X1 X2 X3 0 0 0 0 0 X4 X5 (C)
(0) X1 X2 X3 X4 X5 4 (C) (0) X1 X2 X3 X4 0 0 0 0 0 X5 (C)
(0) X1 X2 X3 X4 X5 5 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 5(C)
(0) X1 X2 X3 X4 X5 6 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 6(C)
(0) X1 X2 X3 X4 X5 7 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 7(C)
(0) X1 X2 X3 X4 X5 8 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 8(C)
(0) X1 X2 X3 X4 X5 9 (C) (0) X1 X2 X3 X4 X5 0 0 0 0 9(C)
Notes:
The symbol characters at positions P1, P2 . P5 of the UPC-E symbol are represented by X1, X2 . X5.
Re-inserted zeroes are indicated by underlining.
The leading digit for UPC-E symbols, which is not encoded, is indicated by “(0)”.
The check digit implicitly encoded in UPC-E is indicated by “(C)”.
4.4.5 Add-on symbols
The add-on symbols were designed for use with EAN/UPC symbols on periodicals and paperback books. Because
they provide reduced security their use shall be limited to applications where rules in the application specification
governing data format and content provide appropriate safeguards.
4.4.5.1 Two digit add-on symbol
The 2-digit add-on may be used in specific applications, in combination with an EAN-13, UPC-A, or UPC-E symbol.
The add-on is positioned following the right quiet zone of the main symbol, and consists of the following:
add-on guard pattern;
first digit of the add-on number from number sets A or B;
add-on delineator;
© ISO/IEC 2000 – All rights reserved 11
---------------------- Page: 17 ----------------------
ISO/IEC 15420:2000(E)
second digit of the add-on number from number sets A or B;
a right quiet zone.
The add-on has no right guard pattern. It does not have an explicit check digit. Checking is done through the mix of
the number sets (A or B) used for the two digits. The choice of number sets is linked to the value of the add-on
number as shown by Table 6:
Table 6: Number sets for 2-digit add-on
Value of the add-on number Left-hand digit Right-hand digit
Multiple of 4 (00,04,08,…,96) A A
Multiple of 4+1 (01,05,…,97) A B
Multiple of 4+2 (02,06,…,98) B A
Multiple of 4+3 (03,07,…,99) B B
Figure 5 shows an example of an UPC-A bar code symbol with 2-digit add-on.
Figure 5: UPC-A bar code symbol with 2-digit add-on
4.4.5.2 Five digit add-on symbol
The 5-digit add-on may be used in specific applications, in combination with an EAN-13, UPC-A, or UPC-E symbol.
The add-on is positioned following the right quiet zone of the main symbol, and consists of the following:
add-on guard pattern;
first digit of the add-on number from number sets A or B;
add-on delineator;
second digit of the add-on number from number sets A or B;
add-on delineator;
third digit of the add-on number from number sets A or B;
add-on delineator;
fourth digit of the add-on number from number sets A or B;
add-on delineator;
12 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 18 ----------------------
ISO/IEC 15420:2000(E)
fifth digit of the add-on number from number sets A or B.
a right quiet zone.
The add-on has no right guard pattern. It does not have an explicit check digit. Checking is done through the m
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.