Hubbry Logo
CPC Binary BarcodeCPC Binary BarcodeMain
Open search
CPC Binary Barcode
Community hub
CPC Binary Barcode
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
CPC Binary Barcode
CPC Binary Barcode
from Wikipedia

CPC Binary Barcode is Canada Post's proprietary symbology used in its automated mail sortation operations. This barcode is used on regular-size pieces of mail, especially mail sent using Canada Post's Lettermail service.[1] This barcode is printed on the lower-right-hand corner of each faced envelope, using a unique ultraviolet-fluorescent ink.

Symbology description

[edit]

The applied barcode uses printed and non-printed bars,[2] spaced 3 millimetres (0.12 in) apart, and consists of two fields. The rightmost field, which is 27 bars in width, encodes the destination postal code. The leftmost field is 9 bars in width and applied right below the printed destination address. It is currently unclear what this field is used for.

In the postal code field, the rightmost bar is always printed, to allow the sortation equipment to properly lock onto the barcode and scan it. The leftmost bar, a parity field, is printed only when necessary to give the postal code field an odd number of printed bars. The remaining 25 bars represent the actual destination postal code. To eliminate any possibility of ambiguity during the scanning process, run-length restrictions are used within the postal code field. No more than five consecutive non-printed bars, or spaces, are permitted, and no more than six consecutive printed bars are allowed.

The actual representation of the postal code is split into four subfields of the barcode, each with their own separate encoding table. The first and last subfields, which share a common encoding table, are always eight bars in width, and encode the first two characters and the last two characters of the postal code respectively. The second subfield, which encodes the third character of the postal code, is always five bars in width, and the third subfield, which encodes the fourth character, is always four bars wide.

Generating barcodes

[edit]
  1. Disregarding the space, divide the postal code into four subfields (e.g. K1-A-0-B1).
  2. Locate the contents of each subfield in the encoding tables below and record the hexadecimal numbers that they correspond to. (e.g. K1-A-0-B1 becomes 32-07-A-C2.)
  3. Convert those hex numbers to binary, and add leading zeroes where required.
  4. Change the binary numbers into bars. "Zero" bits in the resulting binary numbers correspond to spaces in the barcode, while "one" bits correspond to printed bars, with the least significant bit of each number corresponding to the rightmost bar in each subfield of the barcode.
  5. Add an "alignment" bar onto the end of the resulting barcode.
  6. Count up the number of bars you have. If you get an even number, add another bar onto the start of the barcode.

Here are some examples of encoded postal codes. The colour used in these examples is meant to simulate the actual colour of the ink used to print the barcodes, however it does not exactly match. Select these examples to make them more visible.

A1B 2C3: | |||  |  ||  |  || ||  |||
K1A 0B1: |  ||  |   |||| | ||    | |
V6B 2R5: |   | ||  ||  |  | | | | ||

Encoding tables

[edit]

Note that postal codes use only 20 letters; six letters (D, F, I, O, Q, U) are never used. Unused codepoints are indicated with dashes.

First and fourth fields (8 bits)
 00: ––   01: ––   02: ––   03: ––   04: ––   05: ––   06: ––   07: ––   08: ––   09: ––   0A: ––   0B: ––   0C: ––   0D: ––   0E: ––   0F: –– 
10: –– 11: X0 12: V1 13: V3 14: X1 15: V5 16: V6 17: V7 18: –– 19: V2 1A: V0 1B: V4 1C: X2 1D: V8 1E: V9 1F: ––
20: Z1 21: N1 22: L1 23: L3 24: T1 25: L5 26: L6 27: L7 28: W1 29: L2 2A: L0 2B: L4 2C: P1 2D: L8 2E: L9 2F: ––
30: Z3 31: N3 32: K1 33: K3 34: T3 35: K5 36: K6 37: K7 38: W3 39: K2 3A: K0 3B: K4 3C: P3 3D: K8 3E: K9 3F: ––
40: –– 41: X3 42: M1 43: M3 44: X4 45: M5 46: M6 47: M7 48: –– 49: M2 4A: M0 4B: M4 4C: X5 4D: M8 4E: M9 4F: ––
50: Z5 51: N5 52: R1 53: R3 54: T5 55: R5 56: R6 57: R7 58: W5 59: R2 5A: R0 5B: R4 5C: P5 5D: R8 5E: R9 5F: ––
60: Z6 61: N6 62: J1 63: J3 64: T6 65: J5 66: J6 67: J7 68: W6 69: J2 6A: J0 6B: J4 6C: P6 6D: J8 6E: J9 6F: ––
70: Z7 71: N7 72: A1 73: A3 74: T7 75: A5 76: A6 77: A7 78: W7 79: A2 7A: A0 7B: A4 7C: P7 7D: A8 7E: A9 7F: ––
80: –– 81: –– 82: H1 83: H3 84: X9 85: H5 86: H6 87: H7 88: –– 89: H2 8A: H0 8B: H4 8C: –– 8D: H8 8E: H9 8F: ––
90: Z2 91: N2 92: G1 93: G3 94: T2 95: G5 96: G6 97: G7 98: W2 99: G2 9A: G0 9B: G4 9C: P2 9D: G8 9E: G9 9F: ––
A0: Z0 A1: N0 A2: S1 A3: S3 A4: T0 A5: S5 A6: S6 A7: S7 A8: W0 A9: S2 AA: S0 AB: S4 AC: P0 AD: S8 AE: S9 AF: ––
B0: Z4 B1: N4 B2: C1 B3: C3 B4: T4 B5: C5 B6: C6 B7: C7 B8: W4 B9: C2 BA: C0 BB: C4 BC: P4 BD: C8 BE: C9 BF: ––
C0: –– C1: X6 C2: B1 C3: B3 C4: X7 C5: B5 C6: B6 C7: B7 C8: –– C9: B2 CA: B0 CB: B4 CC: X8 CD: B8 CE: B9 CF: ––
D0: Z8 D1: N8 D2: E1 D3: E3 D4: T8 D5: E5 D6: E6 D7: E7 D8: W8 D9: E2 DA: E0 DB: E4 DC: P8 DD: E8 DE: E9 DF: ––
E0: Z9 E1: N9 E2: Y1 E3: Y3 E4: T9 E5: Y5 E6: Y6 E7: Y7 E8: W9 E9: Y2 EA: Y0 EB: Y4 EC: P9 ED: Y8 EE: Y9 EF: ––
F0: –– F1: –– F2: –– F3: –– F4: –– F5: –– F6: –– F7: –– F8: –– F9: –– FA: –– FB: –– FC: –– FD: –– FE: –– FF: ––
Second field (5 bits) Third field (4 bits)
00: 01: 02: L 03: K 04: M 05: R 06: J 07: A 0: 1: 2: 1 3: 3
08: H 09: G 0A: S 0B: C 0C: B 0D: E 0E: Y 0F: 4: 5: 5 6: 6 7: 7
10: 11: V 12: 13: X 14: T 15: 16: N 17: 8: 9: 2 A: 0 B: 4
18: W 19: 1A: Z 1B: 1C: P 1D: 1E: 1F: C: D: 8 E: 9 F:

No field begins or ends with more than three consecutive 1 bits, guaranteeing that there are never more than six consecutive 1 bits. Guaranteeing the five-bit limit on consecutive 0 bits is achieved by limiting the boundaries of the second and fourth fields to three consecutive 0 bits, and the first and third fields to two consecutive 0 bits:

  • No field contains more than five consecutive 0 bits. Code 81, which would contain six consecutive 0 bits in field 1 or 4, is not used.
  • Field 1 never ends in more than two consecutive 0 bits. Codes that end in three or more consecutive 0 bits encode the letters Z or W, which are not used for the first letter of postal codes.
  • Field 2 may begin or end with at most three consecutive 0 bits.
  • Field 3 never begins with more than two consecutive 0 bits, nor does it ever end with more than one.
  • Field 4 may begin with up to three consecutive 0 bits, and may end with up to five consecutive 0 bits, but is always followed by a 1 bit (the alignment bar).

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The CPC Binary Barcode is a linear barcode symbology developed by Corporation for automated mail processing and sortation. It encodes the destination in a binary format using bars and spaces that represent 0s and 1s based on their relative positions, rather than varying widths or heights, and is printed in ultraviolet-fluorescent ink to enable machine readability under specific lighting conditions. This symbology is applied exclusively to regular-size Lettermail items, positioned in the lower-right-hand corner of envelopes to facilitate high-speed sorting without interfering with human-readable addresses. Introduced as part of Canada Post's efforts to enhance mail handling efficiency, the CPC Binary Barcode operates alongside other systems like PostBar, but distinguishes itself through its use of invisible fluorescent ink that fluoresces only under ultraviolet light, reducing visual clutter on mail pieces. The encoding follows strict rules to ensure reliability, including limits on consecutive bars or spaces to prevent reading errors during automated scanning, and it supports the alphanumeric structure of Canadian postal codes (typically in the format ANA NAN). While the precise bit-level encoding details remain proprietary, the symbology's design prioritizes compactness and error resistance for integration into Canada Post's sorting infrastructure. In practice, the barcode is generated by mailers using approved software and high-resolution printers to meet Canada Post's quality standards, such as consistent bar widths and crisp edges, ensuring compatibility with optical scanners in processing facilities. Its adoption has contributed to faster delivery times for domestic mail, though it has largely been supplemented by more advanced technologies like 2D barcodes for enhanced data capacity in recent years.

Overview and History

Symbology Description

The CPC Binary Barcode is Canada Post's proprietary symbology designed for automated mail sortation operations, encoding the destination postal code to facilitate efficient processing of mail items. It is applied to regular-size pieces of Lettermail, typically positioned in the lower-right-hand corner of faced envelopes to allow high-speed optical scanning during sorting. As a one-dimensional linear , the CPC Binary symbology employs a binary encoding scheme based on the presence or absence of bars, where a bar indicates a binary 1 and a space (absence) indicates a 0, distinguishing it from symbologies that rely on variable bar widths or heights for data representation. This fixed-position binary approach simplifies decoding for postal automation equipment while maintaining compatibility with the alphanumeric structure of Canadian postal codes. The is printed using a special -fluorescent , which renders it invisible under ordinary light but visible and scannable under illumination, enhancing security and reducing visual clutter on envelopes. Key to its reliability in high-volume mail handling, the symbology incorporates design constraints to ensure robust readability, such as limits on consecutive bars or spaces to prevent scanning errors from printing imperfections or dirt accumulation. This binary format supports direct mapping of postal code data without complex modulation, prioritizing speed and accuracy in sortation facilities.

Development and Adoption

The CPC Binary Barcode is a proprietary symbology developed by the Canada Post Corporation (CPC) for automated mail processing. Introduced specifically for regular-size Lettermail pieces, the symbology was integrated into CPC's automated sorting facilities to streamline delivery point identification and reduce manual handling. In its evolution, the CPC Binary Barcode has continued alongside the PostBar (CPC 4-State) symbology, utilizing ultraviolet-fluorescent ink for enhanced security against counterfeiting, and it remains actively supported in contemporary barcode software tools as of 2025.

Technical Structure

Barcode Components

The CPC Binary Barcode is a horizontal linear symbology consisting of 36 fixed positions spaced 3 mm apart, designed for high-speed scanning in automated mail processing. These positions represent potential bar locations, where the presence or absence of a printed bar encodes binary data, ensuring compatibility with Canada Post's sortation equipment. The is divided into two main fields: the left field, occupying positions 1 to 9, and the right field, spanning positions 10 to 36. The left field is reserved for future use or of unclear purpose, while the right field is dedicated to encoding and includes a fixed alignment bar at position 36 and a parity bar. The rightmost bar at position 36 is always printed as a fixed alignment marker to aid scanner and orientation during reading. To maintain scannability, the symbology employs constraints, limiting consecutive non-printed bars (spaces) to a maximum of 5 and consecutive printed bars to a maximum of 6, preventing ambiguous patterns that could lead to read errors. Additionally, minimum quiet zones—clear, unmarked spaces—are required before the and after the last position to isolate the from surrounding print and ensure reliable detection by optical scanners. These components collectively enable the 's use in UV-fluorescent ink for discreet placement on envelopes.

Physical Characteristics

The CPC Binary is printed using -fluorescent ink that is invisible under normal visible light but fluoresces under illumination, enabling detection by Canada Post's automated sorting machines without compromising the visual appearance of the envelope. Each bar position measures 3 mm in width, contributing to a total barcode length of approximately 108 mm across 36 positions, allowing for compact integration on standard pieces. High-precision is essential for accurate placement in the lower-right corner of envelopes to ensure compatibility with conventional postal and equipment while maintaining scannability.

Encoding and Generation

Data Preparation and Subfields

The Canadian postal code, which forms the core data for the CPC Binary Barcode, follows a standardized six-character alphanumeric format of ANA NAN, where A denotes an alphabetic character and N a numeric character (0-9), with a space separating the third and fourth characters—for example, A1A 1A1. This structure ensures precise geographic targeting for , with the first three characters identifying the forward sortation area and the last three the local delivery unit. Alphabetic characters in the postal code are restricted to 20 letters from the (A-Z excluding D, F, I, O, Q, and U), selected to prevent visual confusion with digits during optical recognition; the space serves as a special . Prior to encoding into the barcode, the undergoes to validate its format and character set, followed by segmentation into four subfields tailored to the symbology's binary structure: the first two characters allocated 8 bits using a shared encoding table, the third character 5 bits, the fourth character 4 bits, and the last two characters 8 bits using the shared encoding table. These pre-encoding steps involve converting each subfield's alphanumeric content to binary representations using subfield-specific mappings, ensuring compatibility with the barcode's linear arrangement while maintaining for high-speed scanning. This preparation optimizes the 6-character input for the barcode's 27-bar encoding field (within the overall 36-bar structure), focusing on efficient bit distribution without redundancy.

Binary Mapping and Parity

The binary mapping process in the CPC Binary Barcode converts the prepared from subfields into a visual representation of bars and spaces for scanner readability. The full barcode consists of 36 bar positions, with the right field (positions 10–36) dedicated to the 27-bar encoding (25 data bits + parity + alignment), while the left field (positions 1–9) has an unclear purpose and is printed below the . Following data preparation, the binary bits from each subfield are concatenated to form a 25-bit string representing the information. This string is then mapped directly to 25 bar positions, where a bit value of 0 indicates a (non-printed area) and a 1 indicates a printed bar, ensuring a simple binary symbology optimized for high-speed postal sorting machines. To facilitate scanner synchronization, an alignment bar is always printed at the rightmost position, designated as position 36 in the overall structure. This fixed printed bar serves as a reference point for the scanner to align and orient the reading process correctly, preventing misreads during automated handling. detection is incorporated through a parity bar at the leftmost position (position 10). If the total number of printed bars in the 25-bit postal code field is even, a printed bar is added at this parity position to make the overall count odd; if already odd, the position remains a . This odd-parity mechanism allows scanners to detect single-bit or printing defects by verifying the total bar count, enhancing reliability in mail processing. The full generation process combines these elements: the 25-bit concatenated binary from subfields is mapped to bars, the parity bar is inserted at position 10 based on the bar count, and the alignment bar is fixed at position 36, resulting in a 27-bar field dedicated to the encoding. During mapping, run-length limits are enforced to avoid sequences of consecutive bars or spaces that could render the unscannable, such as limiting runs to no more than five identical elements in a row to maintain optical contrast and readability.

Encoding Tables and Examples

Subfield Encoding Mappings

The CPC Binary Barcode encodes the , in the format ANA NAN (where A is a letter and N is a number), by dividing it into four subfields: the first two characters, the third character, the fourth character, and the last two characters (disregarding the ). The encoding uses binary representations tailored to each subfield's character type, with the first and fourth subfields (alphanumeric pairs) mapped to 8-bit values, the second subfield (letter) to 5 bits, and the third subfield (digit) to 4 bits. A is appended for detection. Exact mapping tables are and not publicly available. Canadian postal codes avoid the letters D, F, I, O, Q, U, and sometimes G, to prevent confusion with numbers or other characters, which influences valid encodings.

Sample Encodings

Detailed examples of the encoding process, including specific binary patterns and bar positions, are not publicly documented due to the nature of the symbology.

Applications and Implementation

Use in Postal Operations

The CPC Binary Barcode is integrated into Canada Post's Lettermail service to enable automated sorting and processing at mail handling facilities, thereby minimizing manual intervention in the workflow. This barcode encodes the destination , which supports efficient routing of standard machineable mail items. In postal operations, the is scanned at induction points and throughout multiple sortation stages within Canada Post's network, allowing items to be directed accurately to their destination based on the embedded information. This process facilitates high-speed automated handling, with systems capable of processing mail at rates that significantly outperform manual methods, while maintaining high accuracy in destination encoding to reduce sorting errors. The barcode's implementation provides key operational benefits, including faster throughput and improved tracking of mail items as they progress through the delivery stream, contributing to overall cost savings and enhanced service reliability. Its use has been required for certain mailings in the past, but as of 2025, it has largely been supplemented by more advanced technologies like 2D Data Matrix barcodes for enhanced data capacity, while serving as a reliable linear encoding option for traditional sortation tasks. However, effective deployment requires adherence to strict printing specifications to ensure scannability. Non-compliant or erroneous printing can render the barcode unreadable, potentially leading to rejection of the mailing or manual rerouting at processing facilities, which disrupts automation and incurs additional handling costs.

Reading and Printing Requirements

The CPC Binary Barcode must be printed using a unique ultraviolet-fluorescent ink to ensure visibility only under specific lighting conditions, typically applied to the lower-right-hand corner of faced envelopes for regular-size Lettermail pieces. This ink formulation is critical for automated processing, as it fluoresces under ultraviolet light while remaining invisible in standard illumination, preventing interference with visible address elements. Printing is achieved through specialized postal imprinters designed for high-volume mail operations or via software libraries that generate the barcode pattern, ensuring precise bar widths and spacing to maintain readability during high-speed sorting. Reading the CPC Binary Barcode requires UV-fluorescent scanners integrated into Canada Post's automated sorting machines, which illuminate the barcode with ultraviolet light to detect the presence or absence of bars representing . These scanners capture the fluorescent response to identify bar patterns, after which binary decoding software interprets the encoded and delivery information for routing decisions. The system is optimized for high-speed operations, processing mail at rates compatible with sortation facilities handling thousands of items per hour. Compliance with guidelines is essential, specifying exact placement in the envelope's lower-right corner and quality metrics such as crisp bar edges without blurring or ghosting to support reliable detection. As a symbology, it adheres to internal standards for , ensuring integration with sorting equipment while prohibiting alterations that could compromise scan accuracy. Software support for generating and verifying CPC Binary Barcodes includes components like the TBarcode1D_CPCBin from Han-soft, a VCL library for and applications that handles encoding and rendering. This symbology is recognized in standards such as the (WIA) Imaging Protocol Specification (IPS) for barcode readers, allowing compatible devices to process it alongside other postal formats. Key challenges in implementation include sensitivity to ink quality, where substandard fluorescent compounds may reduce fluorescence intensity and lead to read failures, and precise alignment during printing to avoid positional offsets that disrupt scanner detection. Testing often involves simulation tools that emulate UV scanning conditions to validate barcode integrity before deployment in postal workflows.
Add your contribution
Related Hubs
User Avatar
No comments yet.