# Australia Post 4-State

> Source: https://docs.barcoder.ai/docs/standards/australia-post-4-state
> research date 2026-06-03 · extracted at 2026-10-03
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [Customer Barcoding Technical Specifications (Aug 2012) — Australia Post](https://auspost.com.au/content/dam/auspost_corp/media/documents/customer-barcode-technical-specifications-aug2012.pdf)
- [A Guide to Printing the 4-State Barcode v3.1 (Mar 2012) — Australia Post](https://auspost.com.au/content/dam/auspost_corp/media/documents/a-guide-to-printing-the-4state-barcode-v31-mar2012.pdf)

## 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 <sup>[2][2], [3][3]</sup>. It is **based on the UK's Royal Mail 4-State Customer Barcode ([RM4SCC](https://docs.barcoder.ai/docs/standards/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** <sup>[1][1], [3][3]</sup>. Symbols range from **37 to 67 bars** depending on format <sup>[2][2]</sup>.

## 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 <sup>[2][2]</sup>.

## Technical specification

**Four-state bar structure.** Each bar takes one of four states, conventionally given numeric values <sup>[1][1]</sup>:

- **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).

**Symbol fields** <sup>[1][1], [2][2]</sup>:

1. **Start bars** — values **1, 3**.
2. **Format Control Code (FCC)** — identifies the barcode format, in bars 3–6.
3. **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.).
4. **Customer Information field** — optional free-format data (formats 2 and 3 only), 16 or 31 bars.
5. **Reed–Solomon error correction** — **12 bars**, immediately before the stop bars.
6. **Stop bars** — values **1, 3**.

**FCC formats** <sup>[1][1]</sup>:

| 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 <sup>[1][1]</sup>. 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 <sup>[2][2]</sup>.
- Reply Paid, Routing and Redirection mail formats (FCC 45/87/92) <sup>[1][1]</sup>.
- Embedding customer-specific reference data in the optional Customer Information field for mailers' own tracking (FCC 59/62) <sup>[1][1], [2-jss]</sup>.

## 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](https://docs.barcoder.ai/docs/standards/rm4scc)**, sharing the four-state, height-modulated bar concept <sup>[2][2], [3][3]</sup>. 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** <sup>[1][1]</sup>. In that respect it is closer in robustness to Royal Mail's later [Mailmark](https://docs.barcoder.ai/docs/standards/mailmark) 4-state barcode (also Reed–Solomon protected) than to the bare-bones Dutch [KIX](https://docs.barcoder.ai/docs/standards/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 <sup>[2][2]</sup>.
- 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 <sup>[1][1]</sup>.

## 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 <sup>[6][6], [7][7]</sup>.

## Sources

[1] [Australia Post 4-state Barcode](https://www.neodynamic.com/barcodes/Australia-Post-4-state-Barcode.aspx) — Neodynamic
[2] [Australia Post Barcode Scanner / overview](https://www.dynamsoft.com/barcode-reader/barcode-types/australian-post/) — Dynamsoft
[3] [Australia Post 4-State Customer Code — Barcode Guide](https://barcodeguide.seagullscientific.com/Content/Symbologies/Australia_Post_4-State_Barcode.htm) — Seagull Scientific
[4] [OkapiBarcode](https://github.com/woo-j/OkapiBarcode) — GitHub (woo-j)
[6] [Customer Barcoding Technical Specifications (Aug 2012)](https://auspost.com.au/content/dam/auspost_corp/media/documents/customer-barcode-technical-specifications-aug2012.pdf) — Australia Post
[7] [A Guide to Printing the 4-State Barcode v3.1 (Mar 2012)](https://auspost.com.au/content/dam/auspost_corp/media/documents/a-guide-to-printing-the-4state-barcode-v31-mar2012.pdf) — Australia Post

[2-jss]: https://barcodeguide.seagullscientific.com/Content/Symbologies/Australia_Post_4-State_Barcode.htm
[4-okapi]: https://github.com/woo-j/OkapiBarcode
[4-asbar]: https://github.com/antonscheffer/as_barcode
[4-etiket]: https://github.com/productdevbook/etiket

[1]: https://www.neodynamic.com/barcodes/Australia-Post-4-state-Barcode.aspx
[2]: https://www.dynamsoft.com/barcode-reader/barcode-types/australian-post/
[3]: https://barcodeguide.seagullscientific.com/Content/Symbologies/Australia_Post_4-State_Barcode.htm
[4]: https://github.com/woo-j/OkapiBarcode
[6]: https://auspost.com.au/content/dam/auspost_corp/media/documents/customer-barcode-technical-specifications-aug2012.pdf
[7]: https://auspost.com.au/content/dam/auspost_corp/media/documents/a-guide-to-printing-the-4state-barcode-v31-mar2012.pdf

## Deployments

_No country reports mention this standard by name._
