What Royal Mail 4-State Customer Code (RM4SCC) is
RM4SCC is the 4-state postal barcode used for UK mail sorting automation, encoding a postcode and delivery point using bars in four height tiers. bwip-js computes a real row/column checksum character from the data and can either append it for you or verify an existing one.
Generate it now
Enter your RM4SCC data (capital letters and digits) to see a live preview.
Valid input
The value must contain only capital letters and digits from RM4SCC's own 36-character alphabet ("RM4SCC must contain only capital letters and digits"), must not be empty ("The data must not be empty"), and may be up to 500 characters ("The input data is too long" beyond that).
Key options
Supported options include includetext, height, validatecheck (validate an existing trailing check character instead of computing one), and includecheckintext. bwip-js's own real default height is a notably short ~4.4mm (0.175in) -- much shorter than most other linear symbols in this catalog, reflecting RM4SCC's characteristic short 4-state bars.
Output and printing
Export SVG for mail-piece artwork or PNG for a quick proof.
Common uses
RM4SCC appears on UK mail pieces for automated postal sortation, printed by mail-merge/franking systems ahead of the postal barcode reader.
Example
See the live preview above, seeded with a bwip-js-verified valid value.
Size guidance
RM4SCC's own auto-computed default height (~4.4mm) is notably shorter than most other linear barcodes; raise it explicitly if your label stock allows more vertical space.
Troubleshooting
A rejected value usually contains a character outside the 36-symbol RM4SCC alphabet, or -- with validatecheck on -- a trailing character that does not match bwip-js's own computed check character ("Incorrect RM4SCC check digit provided").
Related formats
Related formats: Deutsche Post Identcode (a different national postal-automation standard) and USPS POSTNET/PLANET (US postal equivalents already covered in this catalog).
FAQ
Do I need to compute the RM4SCC check character myself?
No -- leave validatecheck at its default (off) and bwip-js computes and encodes the check character for you from your data. Turn validatecheck on only if your input already includes a check character you want verified.