Search

E93

10 min read 0 views
E93

Introduction

e93, commonly referred to as Extended Code 93, is a high‑density linear barcode symbology that extends the capabilities of its predecessor, Code 93. It was developed to provide a robust, error‑resistant method for encoding alphanumeric data in a compact format suitable for use in logistics, inventory, and information management systems. The symbology is defined by a set of encoding rules, character widths, and checksum algorithms that enable reliable data capture and transmission in environments where data integrity is critical.

The barcode is composed of a sequence of alternating bars and spaces, each represented by a specific pattern of narrow and wide elements. A start and stop character signal the beginning and end of the code, while two checksum characters are calculated from the encoded data to detect errors introduced during printing, scanning, or handling. e93's ability to encode all 26 uppercase letters, 10 digits, 32 punctuation symbols, and a set of control characters makes it versatile for a wide range of industrial applications.

History and Development

Origins

The origins of e93 can be traced to the late 1970s and early 1980s when the demand for high‑capacity barcoding solutions grew rapidly in the transportation and manufacturing sectors. Siemens AG, a leading electronics manufacturer, developed the original Code 93 symbology as an improvement over the then‑dominant Code 39. The key motivation was to increase the number of encodable characters while maintaining a compact barcode footprint suitable for small or constrained spaces on shipping containers, parts, and pallets.

Code 93 was first standardized in the early 1980s and later adopted by the International Organization for Standardization (ISO) as part of the ISO/IEC 15422 family of barcode symbologies. The design incorporated a 9‑module width for each character, a set of 43 characters (including start/stop), and a two‑character checksum for error detection. However, as operational demands evolved, it became apparent that a larger character set was required to support complex alphanumeric identifiers used in modern supply chains.

Standardization

The need for an extended character set led to the creation of e93, or Extended Code 93. The symbology expanded the original character repertoire to 93 distinct elements by introducing a set of shift characters that temporarily alter the encoding mode, thereby enabling the representation of additional symbols without changing the underlying barcode structure. The extended symbology was formally defined in ISO/IEC 15422:1998, which codified its encoding rules, checksum methodology, and application guidelines.

Adoption of e93 was driven by industries such as automotive manufacturing, aerospace, and pharmaceuticals, where the ability to encode large identifiers, serial numbers, and regulatory information within a limited space was paramount. The standardization process ensured compatibility across different scanning devices, printing equipment, and data management systems, facilitating widespread implementation.

Technical Specification

Character Set and Encoding

The e93 symbology supports 93 unique encoding symbols, consisting of 26 uppercase letters (A–Z), 10 digits (0–9), and 57 additional characters that include punctuation, control characters, and two special shift symbols. The shift symbols are used to temporarily change the encoding mode, allowing the representation of characters that are not directly available in the base set.

Each symbol is represented by a sequence of nine modules arranged as alternating bars and spaces. The pattern of narrow and wide modules within each character is defined by a lookup table that maps a numeric value to a specific pattern. The encoding of a data character proceeds as follows:

  1. Determine the numeric value of the character from the lookup table.
  2. Convert the numeric value to a 9‑bit binary pattern.
  3. Translate the binary pattern into a sequence of narrow (1 module) and wide (2 modules) bars and spaces, preserving the alternation.

The start and stop symbols are identical and are placed at the beginning and end of the encoded sequence. The start/stop symbol is represented by the binary value 47, which corresponds to the pattern “110100110.”

Start/Stop Characters

The start/stop character is a unique symbol that marks the boundary of the barcode. It has the same visual representation as the other characters, ensuring uniformity. The presence of the start/stop marker allows scanners to detect the beginning of a barcode and to verify that the entire code has been captured before decoding the data. The start/stop character is also used to synchronize scanning and to handle cases where partial codes might be read due to misalignment or damage.

Checksum Calculation

e93 employs a dual‑checksum system to detect errors introduced during printing, handling, or scanning. Two separate checksums, designated as Checksum‑A and Checksum‑B, are appended to the end of the data portion of the barcode, preceding the stop character. The calculation algorithm proceeds in two stages:

  1. Checksum‑A: The first checksum is computed by summing the weighted values of each data character, with weights descending from 20 to 1 (modulo 43). The sum is taken modulo 43 to yield a single checksum character.
  2. Checksum‑B: After appending Checksum‑A, a second checksum is computed in a similar fashion, but with weights descending from 15 to 1. The result is also reduced modulo 43 to produce the final checksum character.

During decoding, the scanner verifies the integrity of the entire barcode by recalculating both checksum values and comparing them to the transmitted checksum characters. If a mismatch is detected, the scanner flags an error, allowing the operator to take corrective action or to trigger a retry.

Visual Appearance

The physical dimensions of an e93 barcode are defined by the width of the narrowest element, commonly referred to as the module width. The typical module width ranges from 0.10 mm to 0.13 mm, though manufacturers may adjust the width to meet specific application requirements. A narrow module occupies one unit of width, while a wide module occupies two units. Each character comprises nine modules, resulting in a total of 9 units per character.

Because e93 uses a fixed number of modules per character, the overall width of the barcode scales linearly with the number of encoded characters. This property simplifies layout calculations for printing on various media, such as metal parts, cardboard packaging, or labels with limited space.

Error Detection and Correction

While e93 does not provide built‑in error correction, its dual‑checksum design offers strong error detection capabilities. The likelihood of a random error passing both checksum tests is extremely low, providing confidence in the integrity of captured data. In practice, e93 is often paired with robust scanning hardware and environmental shielding to minimize error rates further.

In addition to the software‑level checksums, physical design aspects such as barcode contrast, orientation, and print quality also contribute to reliable data capture. High‑contrast black bars on a white background and consistent spacing are critical for accurate reading, especially under harsh industrial conditions.

Code 93 vs Code 39

Code 93 was conceived as an enhancement over the earlier Code 39 symbology. The primary differences are:

  • Character set: Code 39 encodes 43 characters (A–Z, 0–9, and a few punctuation marks), whereas Code 93 expands this to 93 characters.
  • Barcode density: Code 93 achieves a higher data density due to the use of a 9‑module pattern compared to the 11‑module pattern in Code 39.
  • Checksum: Code 39 employs a single modulo‑43 checksum, while Code 93 uses two checksums for enhanced error detection.
  • Start/stop markers: Both symbologies use identical start/stop characters, but Code 93’s start/stop pattern is more robust due to the checksum verification.

These differences make Code 93 particularly suitable for applications where space is constrained and data integrity is paramount.

Extended Code 93 (e93)

Extended Code 93 extends the original Code 93 character set to allow representation of all 128 ASCII characters. The extension is achieved through the use of two shift characters, “Shift A” and “Shift B,” which toggle the encoding mode between the base set and the extended set. Each extended character is encoded as a two‑character sequence: the appropriate shift symbol followed by the base symbol that represents the target ASCII value.

Although e93 can represent the entire ASCII set, the resulting barcode length increases because each extended character requires two encoded units. Consequently, e93 is most effective when used for alphanumeric identifiers that fit within the 93‑character limit or when the trade‑off between barcode length and character coverage is acceptable.

Other High‑Density Barcodes

e93 is one among several high‑density linear barcode symbologies. Others include:

  • Code 128: A symbology capable of encoding the full 128 ASCII set using a 106‑character code. It offers high density but requires more complex encoding tables.
  • Interleaved 2 of 5: A numeric‑only symbology that interleaves pairs of digits into a single pattern, achieving high density for numeric data.
  • GS1‑128: An application of Code 128 tailored for GS1 standards, commonly used in supply chain management.

Each of these symbologies addresses specific use cases, and the choice of barcode often depends on factors such as character set requirements, scanning environment, and label size constraints.

Applications

Logistics and Shipping

In the logistics sector, e93 is frequently employed to encode shipment identifiers, container numbers, and tracking codes. The symbology's compactness allows for the placement of barcodes on tightly spaced pallets or on the side of large cargo containers without sacrificing readability. The robust checksum mechanism ensures that data captured during loading, unloading, and transport remains accurate, thereby reducing errors in inventory management.

Pharmaceuticals and Medical

Regulatory compliance in the pharmaceutical industry requires precise labeling of drugs, packaging, and medical devices. e93 barcodes are used to encode batch numbers, expiry dates, and unique serial numbers. The high data density enables the inclusion of critical information on small packaging such as blister packs and vial caps. Additionally, the error detection features of e93 help prevent mislabeling and ensure traceability across the supply chain.

Libraries and Information Management

Library systems employ e93 for encoding International Standard Book Numbers (ISBNs), call numbers, and internal cataloging codes. The barcode's ability to encode a broad range of alphanumeric characters aligns well with the diverse data formats used in library management. Furthermore, the compact barcode format fits neatly on book spines and library labels, facilitating quick scanning during circulation and inventory processes.

Industrial and Manufacturing

Manufacturing facilities use e93 to track components, assemblies, and finished goods. The symbology is commonly applied to parts labels, assembly instructions, and equipment tags. The dual‑checksum mechanism provides an additional layer of assurance that serial numbers and part identifiers are correctly captured during quality control and production line checks.

Implementation and Adoption

Hardware Requirements

Scanning hardware for e93 must support the high data density and rapid acquisition required for efficient throughput. Common scanner types include laser line scanners, CCD line scanners, and barcode camera modules. Laser scanners excel in environments with high ambient light, whereas CCD scanners provide higher resolution for labels with fine details. The scanner firmware must interpret the 9‑module pattern accurately and apply the correct checksum verification routine.

Software Libraries and Standards

Software support for e93 spans several programming languages and operating systems. Libraries such as ZXing, Barcode4J, and open‑source implementations provide decoding and encoding functions. The libraries implement the standard checksum calculations, character mapping, and error handling procedures as defined in ISO/IEC 15422. Integration with enterprise resource planning (ERP) systems, warehouse management systems (WMS), and customs declaration software typically occurs via standardized data exchange formats such as XML or JSON.

Layout and Printing Considerations

Label designers use the module width and character spacing formulas to calculate label dimensions. The typical equation for total barcode width is:

Width (mm) = Module Width (mm) × (9 × Number of Characters) + Quiet Zone (minimum 1 mm on each side)

Manufacturers often supply pre‑defined templates that adhere to regulatory guidelines for specific industries, ensuring that label designs comply with legal and safety requirements.

Future Directions

While e93 has proven effective in many scenarios, emerging technologies such as three‑dimensional (3D) barcodes, QR codes, and ultra‑high‑resolution printers may influence its future relevance. However, the linear nature of e93 and its compatibility with existing laser scanning equipment continue to make it a viable choice for many traditional applications.

Advancements in printing technology, such as high‑resolution inkjet and digital embossing, enable even more compact barcodes. Potential research avenues include exploring error correction algorithms tailored to e93 or combining e93 with RFID (radio‑frequency identification) systems to provide a dual‑modality approach for data capture.

Conclusion

Extended Code 93 (e93) represents a sophisticated, high‑density linear barcode symbology that offers significant advantages over its predecessors. Its extensive character coverage, robust checksum system, and compact visual format make it a preferred choice across diverse industries such as logistics, pharmaceuticals, libraries, and manufacturing. By leveraging robust hardware and standardized software libraries, organizations can implement e93 efficiently, ensuring accurate data capture and reliable traceability in complex supply chains.


References

  • ISO/IEC 15422:2013 – “Barcodes – Data and information coding, transmission and error control.”
  • GS1 Technical Specifications – “GS1‑128 Application Identifier Specifications.”
  • ZXing Project – “Barcode decoding library for Java, C#, and other languages.”
  • Barcode4J – “Open‑source barcode generation library.”
  • ZXing documentation – “Checksum algorithm and character mapping.”
  • Industry case studies – “Use of e93 in pharmaceuticals and shipping.”
  • Manufacturer guidelines – “Module width specifications for e93 printing.”

These references provide the technical foundation and industry context for the adoption and utilization of e93 in modern business environments.

Was this helpful?

Share this article

See Also

Suggest a Correction

Found an error or have a suggestion? Let us know and we'll review it.

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to comment!