Standards/mailmark
Mailmark
Overview
Mailmark is Royal Mail's barcode and machine-readable-mail programme, introduced to replace the older Customer Barcode (RM4SCC / CBC) and to add end-to-end tracking, delivery reporting and analytics to UK bulk mail 3. Mailmark is published in two distinct barcode forms 1-jss, 3:
- a 4-state barcode (an evolution of RM4SCC adding Reed–Solomon error correction), and
- a 2D Data Matrix form called CMDM (Complex Mail Data Mark), built on Data Matrix ECC 200 2.
Both forms carry far more than a destination postcode: they encode supply-chain and item identifiers that let Royal Mail report when mail enters the network and predict delivery 3.
History
Royal Mail published the Mailmark barcode definition documents in September 2015 6, 7. From January 2018 Mailmark began replacing the Customer Barcode (CBC / RM4SCC) as the preferred barcode for Royal Mail's Retail and Network/Wholesale Access mail products 3.
Technical specification
4-state form
The Mailmark 4-state barcode retains the RM4SCC four-state bar alphabet — tracker, ascender, descender and full-height bars — representing the 37 symbols 0–9, A–Z and space 5. Two variants exist 3, 5:
- Barcode L (Long) — ~78 bars (~89 mm), encoding up to 26 characters; intended for machine-readable Low-Sort and Unsorted Retail and Access 70 services 3, 5.
- Barcode C (Consolidator) — 66 bars (~76.2 mm), encoding up to 22 characters; intended for consolidated mail 3, 5.
Reed–Solomon error correction is applied over a Galois field of 32 values: Type L computes seven Reed–Solomon check numbers from 19 data numbers, while Type C computes six check numbers from 16 data numbers 5.
2D form (CMDM)
The Complex Mail Data Mark (CMDM) is a Data Matrix ECC 200 symbol (ISO/IEC 16022) using the C40 character set (0–9, A–Z, space) 2. Three module sizes are used 2, 3:
- Type 7 — 24×24 modules (letters; ~51 characters, ~6 for customer use).
- Type 9 — 32×32 modules (large letters; ~90 characters).
- Type 29 — 16×48 modules (large letters; ~70 characters).
Module size must be 0.5–0.7 mm 2. As an ECC 200 symbol, CMDM uses the Reed–Solomon algorithm for error correction inherent to Data Matrix 2.
Encoded data
Both forms encode fields including a UPU/format & class identifier, supply-chain ID, item ID, destination postcode with Delivery Point Suffix, and return-to-sender postcode, plus optional customer content in the larger 2D types 3.
Use cases
- Machine-readable, trackable UK bulk mail under Royal Mail's Retail and Network/Wholesale Access portfolios 2, 3.
- Reporting and analytics: tracking mail/delivery status and predicting delivery dates for marketing and operational use 3.
- Access to Mailmark pricing/discounts, which require registration with Royal Mail 3.
Implementations
- OkapiBarcode — Java, ~394 stars, active 2025; general open-source generator. (RM4SCC is supported; Mailmark is not listed among its symbologies, so the 4-state alphabet can be produced but Mailmark's Reed–Solomon framing is not a documented feature) [1-okapi].
- Aspose.BarCode (commercial, Java / Python-via-Java) — documents generation and reading of Mailmark 4-state barcodes with Reed–Solomon error correction [1-aspose].
Comparison
Mailmark's 4-state form is a direct descendant of RM4SCC: same four bar states and character alphabet, but with Reed–Solomon error correction and a richer data payload (supply-chain and item IDs, return-to-sender postcode) that RM4SCC lacks 3, 5. Where the Dutch KIX removes RM4SCC's start/stop/checksum, Mailmark instead adds structure on top of RM4SCC. The CMDM 2D form abandons the four-state bar approach entirely for Data Matrix ECC 200, paralleling how other posts (e.g. USPS) offer both linear and 2D options 2. Within the broader four-state lineage, Mailmark sits alongside the Australia Post 4-State and Japan Post 4-State codes as a Reed–Solomon-protected national variant of the RM4SCC concept.
Fun facts
- Mailmark ships in two completely different machine-readable shapes — a striped four-state bar code and a square 2D Data Matrix — under one brand, letting mailers choose between the legacy four-state sorter ecosystem and a denser 2D code 1-jss, 2.
Status
Active and preferred. Mailmark is Royal Mail's current barcode standard and, since January 2018, the designated replacement for the older Customer Barcode (RM4SCC / CBC) on Retail and Access mail 3.
Sources
1 Mailmark 4-State Barcodes — Documentation — Aspose 2 Royal Mail CMDM Mailmark — Barcode Guide — Seagull Scientific 3 Royal Mail Mailmark Barcode FAQ — IDAutomation/BarcodeFAQ 4 Royal Mail Mailmark — Just Solve the File Format Problem — ArchiveTeam 5 Mailmark 4-state barcode L encoding and decoding instructions (Sept 2015) — Royal Mail 6 Royal Mail Mailmark barcode definition document (Sept 2015) — Royal Mail 7 Mailmark 4-state barcode C encoding and decoding instructions — Royal Mail Wholesale
Deployments
No country reports mention this standard by name.