What Plessey Code is
Plessey Code is the ORIGINAL, classic Plessey symbology -- honestly distinct from the already-covered (Batch 2) Modified Plessey, commercially known as MSI. Confirmed directly: bwipp_plessey and bwipp_msi share no function calls at all, and Plessey's own 16-character hexadecimal charset (0-9 and A-F, via its own dedicated encoding tables) is a real, source-confirmed difference from MSI's digits-only charset.
Generate it now
Enter your data (digits and/or letters A-F) to see a live preview -- bwip-js computes and appends 2 check digits for you by default.
Valid input
The value must not be empty ("The data must not be empty"), up to 500 characters ("The input data is too long"), and contain only digits and the letters A through F ("Plessey must contain only digits and letters A B C D E F"). With validatecheck left at its real default (false), bwip-js computes and appends its own 2 hexadecimal check digits; turning validatecheck on requires the input to already include 2 trailing check digits and rejects a mismatch ("Incorrect Plessey check digits provided").
Key options
Supported options include includetext, height, unidirectional (a shorter, single-direction-only guard-bar pattern), validatecheck, and includecheckintext. bwip-js's own real default for unidirectional is false (bidirectional).
Output and printing
Export SVG for vector-precise label artwork or PNG for a quick proof.
Common uses
Plessey Code appears on legacy library and inventory-control labels, one of the earliest commercial retail/library barcode symbologies.
Example
See the live preview above, seeded with a bwip-js-verified valid value.
Size guidance
unidirectional shortens the start/stop guard-bar pattern, narrowing the overall symbol versus the default bidirectional pattern.
Troubleshooting
A rejected value is usually an empty payload, a character outside the digits/A-F charset, or -- with validatecheck on -- 2 trailing check digits that do not match bwip-js's own computed value.
Related formats
Related formats: Modified Plessey / MSI (a different, digits-only symbology that Plessey Code's own encoding was later adapted into, already in this catalog) -- the two are honestly distinct algorithms in this catalog, not the same capability under two names.
FAQ
Is Plessey Code the same as MSI (Modified Plessey)?
No -- despite the related name, they are different algorithms in bwip-js/BWIPP with no shared code. Plessey Code (this capability) uses a 16-character hexadecimal charset (0-9, A-F) with its own 2-character check-digit scheme. MSI is digits-only with a different, selectable check-digit algorithm family. Pick the capability that matches which format your actual codes use.
Do I need to compute the check digits myself?
No -- leave validatecheck at its default (off) and bwip-js computes and appends 2 hexadecimal check digits for you. Turn validatecheck on only if your input already includes 2 check digits you want verified.