From Wikipedia, the free encyclopedia
A typical address containing the postcode encoded in RM4SCC.

RM4SCC (Royal Mail 4-State Customer Code[1] is the name of the barcode character set based on the Royal Mail 4-State Bar Code symbology created by Royal Mail. The RM4SCC is used for the Royal Mail Cleanmail service. It enables UK postcodes as well as Delivery Point Suffixes (DPSs) to be easily read by a machine at high speed.

This barcode is known as CBC (Customer Bar Code) within Royal Mail.

PostNL uses a slightly modified version called KIX which stands for Klant index (Customer index); it differs from CBC in that it doesn't use the start and end symbols or the checksum, separates the house number and suffixes with an X, and is placed below the address.[2] Singapore Post uses RM4SCC without alteration.[3]

There are strict guidelines governing usage of these barcodes, which allow for maximum readability by machines.

They can be used with Royal Mail's Cleanmail system, as an alternative to OCR readable fonts, to allow businesses to easily and cheaply send large quantities of letters.

Encoding and content[edit]

Table showing the symbols used for Cleanmail.
The example postcode above decoded.

An individual bar can be short, extend upwards, extend downwards, or extend both up and down. These four possibilities are reflected in the "four-state" name of the encoding. Each character is then made up of four of these bars. There are 36 possible combinations like this, and so 36 symbols: 0 to 9 and 26 letters. In addition, single-bar start and stop characters are defined.

As the example shows, the complete barcode consists of a start character, the postcode, the Delivery Point Suffix (DPS), a checksum character, and a stop character. The DPS is a two-character code ranging from 1A to 9T, with codes 9U to 9Z being accepted as default codes when no DPS has been allocated.[4] The DPS can be found in Royal Mail's Postcode Address File.


For the purpose of calculating the checksum, the top and bottom halves of each character can be assigned the values shown in the table below. Each such value is derived by assigning weights of 4,2,1 and 0 to the extensions according to their position in the character, summing the weights, and taking modulo 6 of the sum. For example the symbol for 'B' has bottom half extensions of its first two bars, represented below as 1100, the sum of their weights being 4+2+0+0 = 6, modulo 6 of which is 0.

RM4SCC bar code symbols
Top Bottom (1=long bar, 0=short)
0011 0101 0110 1001 1010 1100
1 2 3 4 5 0
0011 1 0 1 2 3 4 5
0101 2 6 7 8 9 A B
0110 3 C D E F G H
1001 4 I J K L M N
1010 5 O P Q R S T
1100 0 U V W X Y Z

The check symbol is computed by summing the top and bottom half values separately, modulo 6, and combining the final sums to find the symbol.[4] In the example above, the top half values are 2,6,1,1,4,5,1,2. This sums to 22 = 6×3 + 4. Thus the check symbol has a top value of 4. The bottom half values are 6,4,2,2,4,0,2,5, which sum to 25 = 6×4 + 1. The check symbol's bottom half value is 1, so it corresponds to the letter I.

See also[edit]


  1. ^ Hompel, Michael; Büchter, Hubert; Franzke, Ulrich (2007). Identifikationssysteme und Automatisierung (in German). Springer-Verlag. p. 80. ISBN 9783540758815.
  2. ^ "Handleiding KIX code" [KIX code manual] (PDF) (in Dutch). PostNL. May 2012. Archived from the original (PDF) on 6 April 2014.
  3. ^ "RM4SCC Barcode Symbology". Business Refinery. Retrieved 18 February 2016.
  4. ^ a b "Know how: a user's manual for Mailsort®, Walksort®, Presstream®, Cleanmail®, Presstream® Walksort®, Royal Mail International Bulk Mail™ and Automated Standard Tariff Large Letter®" (PDF). Royal Mail. April 2007. p. 80. Archived from the original (PDF) on 20 January 2012.

External links[edit]

Related websites