Introduction to the UPC/EAN Barcode Font family

For most people, their earliest experience with barcodes has been that in the cashier of the retail supermarket. Most, if not all items for purchase are tagged with a barcode. Originally call the UPC barcode (Universal Product Code), this barcode has been successfully used in North America and is subsequently adopted internationally. The new international standard is now called the EAN (European Article Numbering) barcode.

The UPC and EAN barcode has several variations which are introduced below. Each of this barcode can also be expanded by an EXT2 (Extension 2) or EXT5 (Extension 5) barcode. The EXT2 is mainly used to identify the issue number of the magazine. For example, a magazine is tagged with an EAN barcode to identify the magazine and and EXT2 barcode to identify the issue number. The EXT5 is used to mark the pricing in dollars and cents and is also typically used in combination with other barcodes like UPC or EAN.

All the UPC, EAN and EXT barcodes can only encode numbers and they share a common set of bar and space representations. Thus ConnectCode uses a common font to represent these different barcodes.

Members of this Barcode Font family

  • UPCA - 12 digits Universal Product Code. This barcode is used to identify each product with a unique code. It consists of a 1 digit Numbering System, 5 digits Manufacturer's code, 5 digits Product Code and 1 Check Digit.
  • UPCE - A 6 digits condensed version of UPCA. This barcode is typically used on items where space is a constraint.
  • EAN13 - 13 digits European Article Numbering barcode. This barcode is used to identify each product with a unique code internationally. It consists of a 2 digits Country Code, 5 digits Manufacturer's code, 5 digits Product Code and 1 Check Digit. The ISBN(International Standard Book Number) barcode and ISSN (International Standard Serial Number) barcode uses EAN13 as the underlying barcode. For ISBN, the 13 digits starts with 978(or 979. Sunrise 2005 Compliance) while for ISSN it starts with 977.
  • EAN8 - 8 digits European Article Numbering barcode. It consists of 2 digits Country Code, 5 digits Product Code and 1 Check Digit.
  • EXT2 - Extension 2 barcode. To indicate issue number of magazines.
  • EXT5 - Extension 5 barcode. To indicate suggested retail price of books and magazines. Typically used with ISBN(International Standard Book Number).

Barcode Font Names and Sizes

ConnectCode UPC/EAN barcode generally supports up to seven different heights. These barcodes with seven different heights are provided in seven fonts with different names. The barcode names are appended with characters like "S1" or "S2" etc., with each one of them representing a different height. The list below illustrates the different fonts supported.

Without Human Text

  • CCodeUPCEAN_S1
  • CCodeUPCEAN_S2
  • CCodeUPCEAN_S3
  • CCodeUPCEAN_S4
  • CCodeUPCEAN_S5
  • CCodeUPCEAN_S6
  • CCodeUPCEAN_S7
With Human Text at the Bottom of the barcode

  • CCodeUPCEAN_HRBS1
  • CCodeUPCEAN_HRBS2
  • CCodeUPCEAN_HRBS3
  • CCodeUPCEAN_HRBS4
  • CCodeUPCEAN_HRBS5
  • CCodeUPCEAN_HRBS6
  • CCodeUPCEAN_HRBS7
With Human Text at the Top of the barcode (typically only used by EXT2/EXT5. For this barcode, only 3 fonts sizes are supported.)

  • CCodeUPCEAN_HRTS1
  • CCodeUPCEAN_HRTS2
  • CCodeUPCEAN_HRTS3

Character Mappings

UPC/EAN barcodes support only numeric characters. However the data characters do not have a direct mapping as in other barcodes. The mapping of the characters depends on a Parity Map table. The mechanism is complex and thus it is recommended to use the Encoder or Macros provided in ConnectCode to generate these barcodes.

Control Characters

Data Character Barcode Font Character
EAN13/EAN8/UPCA Start Character'['
EAN13/EAN8/UPCA Stop Character']'
EAN13/UPCA Center Guard Bar Character'-'
UPCE Start Character'{'
UPCE Stop Character'}'
EXT2/EXT5 Start Character'<'
EXT2/EXT5 Separator Character'+'


Text Only Characters without barcode bars and spaces (This is only avaliable in the fonts with Human Text)

Data Character Barcode Font Character
'0''!'
'1''"'
'2''#'
'3''$'
'4''%'
'5''&'
'6''''
'7''('
'8'')'
'9''*'


Left Odd Parity

Data Character Barcode Font Character
'0''0'
'1''1'
'2''2'
'3''3'
'4''4'
'5''5'
'6''6'
'7''7'
'8''8'
'9''9'


Left Even Parity

Data Character Barcode Font Character
'0''o'
'1''p'
'2''q'
'3''r'
'4''s'
'5''t'
'6''u'
'7''v'
'8''w'
'9''x'


Right Parity

Data Character Barcode Font Character
'0''a'
'1''b'
'2''c'
'3''d'
'4''e'
'5''f'
'6''g'
'7''h'
'8''i'
'9''j'