Skip to content
barcoder

Standards/postbar

PostBar

Type4-State Postal
PrimaryCA
Completeness69%medium

Overview

PostBar, also called CPC 4-State (Canada Post Corporation 4-State), is the black-ink, four-state barcode system used by Canada Post for automated mail sorting and delivery [1]. Like its sibling national postal codes, PostBar is height-modulated: information is carried by the vertical state of each bar rather than by bar width, allowing high-speed optical sorting equipment to read it [1]. PostBar is applied to flats (oversized mail such as magazines) and parcels, and is derived from the United Kingdom's rm4scc system, but layers on a Canada-specific structure and encoding that Canada Post does not publish in full [1, 2].

History

PostBar was developed by Canada Post as its national equivalent of the four-state customer barcodes adopted by other postal administrations, and is explicitly derived from the rm4scc system used by the British Royal Mail [1, 2]. Unlike RM4SCC and several other national four-state codes, Canada Post keeps the precise structure and encoding rules of PostBar proprietary and largely undocumented publicly, describing it as "an obscured structure and encoding system unique to Canada Post" [1]. Detailed published historical milestones (exact adoption year) are not available in the sourced material.

Technical specification

Four bar states. Each bar in a PostBar symbol takes one of four states [1]:

  • Tracker — short and centred (occupies the middle band only).
  • Ascender — medium bar elevated above the centre.
  • Descender — medium bar lowered below the centre.
  • Full bar — full height (tracker plus ascender plus descender).

Base-3 encoding. PostBar encodes values in base-3 using the bar states: a full-height bar encodes 0, a short lower bar encodes 1, and a short upper bar encodes 2 [1].

Character sets. Four character sets are defined, named "A", "N", "Z", and "B" [1, 2]:

  • A characters — three-bar, used exclusively to encode letters.
  • N characters — two-bar, used exclusively to encode digits.
  • Z characters — encode either letters or digits.
  • B characters — used for machine IDs [1].

Reed–Solomon error correction. PostBar applies Reed–Solomon error correction so that if a piece of mail is damaged or mishandled, the encoded information can still be recovered [1, 2]. Error-correction fields are written with the notation [RS-nn], where nn is the number of bars used for the field [2].

Data Content Identifier (DCI). A dedicated element specifies which kind of information is encoded (postal codes, customer data, delivery points) [1].

Nine formats. Canada Post defines nine distinct PostBar formats [1, 2]:

  • Three domestic codes (mail within Canada): D07, D12, D22, carrying DCIs A–L.
  • Two global codes (mail routed outside Canada): G12, G22, carrying DCIs 1–9.
  • Three service codes (customer-applied barcodes): S06, S11, S21, carrying DCIs M–U.
  • One internal code (testing, maintenance, tracking by Canada Post): C10, carrying DCIs V–Z.

A 52-bar variant is used for business reply mail addressing and payment [1].

Use cases

  • Automated letter and flat sorting within Canada Post's mechanised sortation network [1].
  • Parcel routing and tracking [1].
  • Customer-applied barcodes via the dedicated service formats (S06/S11/S21), letting bulk mailers pre-barcode their mail [1, 2].
  • Business reply mail routing and payment using the 52-bar format [1].

Implementations

  • zint (C, 771★, active 2026) — open-source library covering 50+ symbologies including the four-state postal family [4].
  • OkapiBarcode (Java, 394★, active 2026) — open-source encoder supporting four-state postal symbologies.

Because Canada Post does not publish the full PostBar encoding, third-party software typically targets the open four-state postal codes (rm4scc, Australia Post, USPS OneCode) rather than fully reproducing CPC 4-State.

Comparison

Feature PostBar (CPC 4-State) rm4scc intelligent-mail-barcode (USPS)
Operator Canada Post Royal Mail (UK) USPS
Bar states 4 4 4
Modulation Height Height Height
Error correction Reed–Solomon Checksum (no RS) Reed–Solomon
Spec openness Proprietary/obscured Published Published

PostBar is part of the four-state postal family that descends from rm4scc; it shares the four-state height-modulated principle with rm4scc and the Australia Post 4-state code, but unlike the openly documented rm4scc its internal structure is kept proprietary by Canada Post [1, 2].

Fun facts

  • PostBar's structure is deliberately obscured — Canada Post is one of the few postal operators that does not publicly document its four-state code, complicating third-party implementation [1].
  • Despite being a four-state cousin of rm4scc, PostBar adds Reed–Solomon error correction, which RM4SCC does not use [1].

Status

PostBar remains the operational four-state barcode system of Canada Post for automated mail sorting and delivery [1]. No published replacement programme is documented in the sourced material.

Sources

1 PostBar — Wikipedia — Wikipedia, 2026 2 PostBar barcode: Canadian Post office — free-barcode.com 3 The history of PostBar barcode: Canadian Post office — free-barcode.com 4 zint/zint — GitHub, 2026

Deployments

No country reports mention this standard by name.

source · docs/standards/postbar/index.md