Code 93 Barcode Generator — High-Density Alphanumeric 1D Barcode: Free Code 93 Barcode Generator tool: generate Code 93 barcodes online. Free high-density alphanumeric barcode generator with dual Modulo-47 check.
The History and Technical Advantages of Code 93
Code 93 is a high-density, variable-length continuous 1D linear barcode symbology engineered in 1982 by the Intermec corporation. It was developed to provide an evolutionary enhancement over the popular Code 39 standard, offering two major structural improvements: (1) significantly higher data density—encoding roughly 30% more characters per linear inch than Code 39, and (2) substantially enhanced data security through mandatory dual Modulo-47 check characters.
Code 93 is officially standardized under ANSI/AIM BC5-1995 and is deployed internationally in parcel postal logistics (notably by Canada Post for supplementary package tracking), military electronics assembly, and telecommunications asset tagging.
Structural Geometry: The 9-Module / 6-Element Standard
The naming of Code 93 reflects its exact mathematical geometry: every encoded character occupies exactly 9 unit modules divided into 6 elements (3 dark bars and 3 light spaces). Each bar and space can measure 1, 2, 3, or 4 modules wide:
- Continuous Structure: Unlike discrete barcodes (such as Code 39 or Codabar) which feature useless inter-character spaces, Code 93 is continuous: the last space of one character transitions seamlessly into the first bar of the next character.
- Start / Stop Characters: The symbol begins and ends with an identical 9-module delimiter pattern (
101011110), concluded by a single 1-module termination bar. - Full ASCII Extension: By utilizing four specialized shift characters ($$, %, /, +$), Code 93 can encode all 128 characters of the standard ASCII table, including lowercase letters, control characters, and symbols.
The Dual Modulo-47 Error Detection Checksum (C and K)
Code 93 delivers exceptional data integrity by embedding two independent trailing check characters, designated as Check Character C and Check Character K:
- Check Character C: Calculated over the entire payload string using reverse weights cycling from 1 to 20: $$ ext{Sum}_C = sum_{i=1}^{L} ( ext{Value}_i imes W_i) quad ext{where } W_i = ((L - i) mod 20) + 1$$ $$C = ext{Sum}_C pmod{47}$$
- Check Character K: Calculated over the payload string plus Check Character C, using reverse weights cycling from 1 to 15: $$ ext{Sum}_K = sum_{i=1}^{L+1} ( ext{Value}_i imes W_i) quad ext{where } W_i = ((L + 1 - i) mod 15) + 1$$ $$K = ext{Sum}_K pmod{47}$$
Because the check characters utilize two distinct weight modulus cycles (20 and 15), Code 93 achieves a vanishingly low substitution error probability of less than 1 in 100,000,000 scans, making it virtually immune to misreads.
Code 93 vs. Code 39 vs. Code 128 Comparison
| Barcode Symbology | Modules Per Character | Data Density | Check Character System |
|---|---|---|---|
| Code 39 | 13 to 16 modules | Low | Optional Modulo-43 |
| Code 93 | 9 modules | High (30% denser than Code 39) | Mandatory Dual Modulo-47 (C & K) |
| Code 128 | 11 modules | Very High (Double-density numeric) | Single Modulo-103 |