Standards/australia-post-4-state
Australia Post 4-State
Overview
The Australia Post 4-State Customer Code (also called the Australian 4-State postal barcode or Australia Post Customer Barcode) is a height-modulated, four-state barcode used by Australia Post for automated mail sorting [2, 3]. It is based on the UK's Royal Mail 4-State Customer Barcode (rm4scc) but extends it with a Format Control Code (FCC), an 8-digit Delivery Point Identifier (DPID), an optional free-format Customer Information field, and Reed–Solomon error correction [1, 3]. Symbols range from 37 to 67 bars depending on format [2].
History
Australia Post adopted the 4-State Code in 1998 as part of a mail-automation modernisation effort. The programme involved investment of more than AUD 500 million to roll out the barcode across all customer mail, build the Postal Address File (PAF) listing 8.8 million delivery points, and equip mail centres with barcode sorters [2].
Technical specification
Four-state bar structure. Each bar takes one of four states, conventionally given numeric values [1]:
- T (Tracker) — value 3 (middle band only).
- A (Ascender) — value 1 (tracker + upward extension).
- D (Descender) — value 2 (tracker + downward extension).
- F / H (Full) — value 0 (ascender + descender).
- Start bars — values 1, 3.
- Format Control Code (FCC) — identifies the barcode format, in bars 3–6.
- Sorting code / DPID — the 8-digit Delivery Point Identifier in bars 7–22 (16 bars, N-table encoding), uniquely identifying a delivery point (letterbox, PO Box, rural mailbag, etc.).
- Customer Information field — optional free-format data (formats 2 and 3 only), 16 or 31 bars.
- Reed–Solomon error correction — 12 bars, immediately before the stop bars.
- Stop bars — values 1, 3.
FCC formats [1]:
| FCC | Name | Total bars | Structure |
|---|---|---|---|
| 11 | Standard Customer Barcode | 37 | DPID (16) |
| 45 | Reply Paid Barcode | 37 | DPID (16) |
| 87 | Routing Barcode | 37 | DPID (16) |
| 92 | Redirection Barcode | 37 | DPID (16) |
| 59 | Customer Barcode 2 | 52 | DPID (16) + CustInfo (16) |
| 62 | Customer Barcode 3 | 67 | DPID (16) + CustInfo (31) |
| 44 | Reserved | 67 | DPID (16) + CustInfo (31) |
Customer Information encoding. Two tables are defined: the N (numeric) table for digits only, and the C table covering A–Z, a–z, space, # and digits 0–9 [1]. In the customer field, the practical character capacity is about 5 characters for FCC 59 and 10 characters for FCC 62/44 [2-jss].
Use cases
- Automated sorting of customer/business mail to a specific Australian delivery point via the 8-digit DPID [2].
- Reply Paid, Routing and Redirection mail formats (FCC 45/87/92) [1].
- Embedding customer-specific reference data in the optional Customer Information field for mailers' own tracking (FCC 59/62) [1, 2-jss].
Implementations
- OkapiBarcode — Java, ~394 stars, active 2025; supports multiple Australia Post 4-State variants [4-okapi].
- antonscheffer/as_barcode — PL/SQL, ~27 stars; generates Australia Post 4-State (with RM4SCC and KIX) [4-asbar].
- productdevbook/etiket — TypeScript, ~409 stars, active 2026; zero-dependency four-state engine covering Australia Post, RM4SCC, KIX and Japan Post [4-etiket].
Comparison
The Australia Post code is explicitly derived from rm4scc, sharing the four-state, height-modulated bar concept [2, 3]. Where RM4SCC encodes a postcode + DPS and uses a simple modulo-6 checksum, the Australia Post code instead carries an 8-digit DPID, adds a Format Control Code to select among seven layouts, and replaces the lightweight checksum with 12 bars of Reed–Solomon error correction [1]. In that respect it is closer in robustness to Royal Mail's later mailmark 4-state barcode (also Reed–Solomon protected) than to the bare-bones Dutch kix, which drops start/stop bars and the checksum entirely.
Fun facts
- The 1998 rollout came bundled with a complete national Postal Address File of 8.8 million delivery points, each mapped to a unique DPID — the database that makes the barcode meaningful [2].
- The same start/stop bar values (1, 3) bracket the symbol at both ends, and the four bar states are numbered 0–3, mirroring the height encoding used across the four-state family [1].
Status
In use. The Australia Post 4-State Customer Code remains the documented customer barcoding standard for automated mail sorting in Australia, with technical specifications published by Australia Post [6, 7].
Sources
1 Australia Post 4-state Barcode — Neodynamic 2 Australia Post Barcode Scanner / overview — Dynamsoft 3 Australia Post 4-State Customer Code — Barcode Guide — Seagull Scientific 4 OkapiBarcode — GitHub (woo-j) 6 Customer Barcoding Technical Specifications (Aug 2012) — Australia Post 7 A Guide to Printing the 4-State Barcode v3.1 (Mar 2012) — Australia Post
Deployments
No country reports mention this standard by name.