What Code 11 is
Code 11 (also known as USD-8) is a linear symbology restricted to the digits 0-9 and the dash character. It supports one or two computed Modulo-11 check digits: a single check digit for data 9 characters or shorter, and two (a primary and a secondary check digit, computed over slightly different weightings) once the data reaches 10 characters or longer. bwip-js draws it with its own dedicated linear renderer -- confirmed directly: bwipp_code11 declares its own full option set and calls bwipp_renlinear() itself, with no delegation to another symbology's own function.
Generate it now
Enter any digits and dashes to see a live preview.
Valid input
Up to 500 characters is accepted, and every character must be a digit 0-9 or a dash (bwipp.code11badCharacter rejects anything else, bwipp.code11emptyData rejects an empty value, bwipp.code11inputTooLong rejects longer input). Validating an existing check digit (rather than computing one) also rejects data that is exactly 11 characters long, since that length is ambiguous with an already-check-digited value (bwipp.code11badLength).
Key options
Supported options include includecheck, includetext, includecheckintext, and height. Real, literal defaults: includecheck false (no check digit computed or appended to the bars), includetext false (no human-readable text line), includecheckintext false (the check digit, once computed, is not also shown in the text line). Turning on includecheck computes and appends a real Modulo-11 check digit -- a second check digit is added once the data reaches 10 characters or more.
Output and printing
Export SVG for vector-precise label artwork or PNG for a quick proof.
Common uses
Code 11 was originally developed for labeling telecommunications equipment and is still occasionally seen on serial-number and inventory labels in that industry, though it has been largely superseded by Code 39/Code 128 in most general-purpose labeling.
Example
See the live preview above, seeded with a bwip-js-verified valid value.
Size guidance
Every character uses the same fixed bar/space pattern width; only the character count (plus any computed check digit) and the bar height change the overall bounding box.
Troubleshooting
A rejected value usually means a character outside the digit/dash charset was entered, or (when validating rather than computing a check digit) the data is exactly 11 characters long, an ambiguous length this capability rejects outright.
Related formats
Related formats: the separately-covered Code 39 and Code 128 generators, both more widely used general-purpose linear symbologies today.
FAQ
Can I use letters in Code 11?
No -- Code 11 only accepts the digits 0-9 and the dash character. Any other character is rejected.
How many check digits does Code 11 add?
One, unless the data is 10 characters or longer, in which case a second check digit (computed with a different weighting) is also added.