Introduction
Need to generate a Code 93 barcode for a shipping label or logistics system? Code 93 is a compact linear barcode symbology defined by ANSI/AIM BC5-1995. It encodes uppercase letters, digits, and a set of symbols using a higher density than Code 39. This tool generates scannable Code 93 barcodes using JsBarcode. Enter your data and the barcode renders as an SVG image. Two check characters are appended automatically. No data leaves your browser.
What this tool does
- Generates scannable Code 93 barcodes as SVG images using the JsBarcode library.
- Supports uppercase letters A-Z, digits 0-9, and the symbols - . $ / + % SPACE.
- Computes and appends two check characters (C and K) automatically, as required by the Code 93 specification.
- Renders the barcode with human-readable text below the bars.
- Runs entirely client-side with no network requests.
How this tool works
Type or paste your data into the input field. The tool passes the data to JsBarcode, which encodes it using the Code 93 symbology. Two check characters (C and K) are computed and appended automatically. The barcode renders as an SVG image below the tool panel, with bars and human-readable text. The barcode updates instantly as you type. You can right-click the SVG to save it or print it directly.
How Code 93 barcodes work
Code 93 was designed by Intermec in 1982 as a higher-density alternative to Code 39. It is defined by the ANSI/AIM BC5-1995 standard. The name 'Code 93' comes from the fact that each character is encoded using 9 elements (3 bars and 3 spaces) with a total width of 3 modules, and the character set includes 43 data characters plus 4 control characters.
Code 93 encodes 47 characters: 26 uppercase letters (A-Z), 10 digits (0-9), 7 symbols (- . $ / + % SPACE), and 4 control characters ($, %, /, + used as shift characters for extended ASCII). Each character is represented by a 9-element pattern of 3 bars and 3 spaces, where the bars can be 1, 2, or 3 modules wide and the spaces can be 1, 2, or 3 modules wide, with a total of 3 modules for bars and 3 for spaces per character.
Code 93 uses two check characters, C and K, which are computed and appended to the data. The C check character is a modulo-47 weighted sum of the data characters. The K check character is a modulo-47 weighted sum of the data characters plus the C check character. The weights cycle through 1, 2, 3, ... 20, 1, 2, 3, ... starting from the last data character and moving backward.
The barcode starts with a start/stop character (*), followed by the data, the C check character, the K check character, and another start/stop character (*). The start/stop characters are not displayed in the human-readable text.
Code 93 is used in logistics, shipping, and manufacturing. It provides approximately 15% higher density than Code 39 and includes the two check characters for error detection, which Code 39 lacks.
How to use this tool
- Type or paste your data into the input field. Use uppercase letters, digits, and the symbols - . $ / + % and space.
- The barcode renders as an SVG image below the tool panel, with check characters appended automatically.
- Right-click the SVG image to save it, or use your browser's print function to print it.
- Scan the printed barcode with a Code 93-compatible scanner to verify it reads correctly.
Real-world examples
Generating a shipping label barcode
A logistics company uses Code 93 for internal package tracking. A warehouse worker enters the tracking code 'SHIP2026NYC' into the tool. The barcode renders with the C and K check characters appended. He prints the barcode and attaches it to the package. The barcode scanner at the sorting facility reads it correctly.
Encoding a part number
A manufacturer labels parts with Code 93 barcodes. A part number 'PRT-789-A' is entered into the tool. The barcode renders as an SVG. The manufacturer saves the SVG and includes it in the part label artwork. The barcode scans correctly on the production line.
Comparing Code 93 with Code 39
A developer comparing barcode densities encodes the same string 'TEST123' in both Code 39 and Code 93. Code 39 produces a wider barcode (each character uses more modules). Code 93 produces a narrower barcode with the same data, plus two check characters for error detection. The developer chooses Code 93 for the space savings and built-in error checking.
Comparison with similar methods
| Method | Complexity | Typical use |
|---|---|---|
| Code 93 | Variable length, 2 check characters, 47 chars | Logistics, shipping, manufacturing |
| Code 39 | Variable length, no check digit, 43 chars | Industrial, older systems |
| Code 128 | Variable length, 1 check digit, full ASCII | Shipping (GS1-128), logistics |
| UPC-A | Fixed 12 digits, mod-10 check digit | North American retail |
Limitations or considerations
Code 93 supports uppercase letters only. Lowercase letters are not part of the standard character set. For full ASCII encoding, use Code 128, which supports all 128 ASCII characters. This tool does not generate the extended Code 93 (Code 93 Full ASCII) variant that uses shift characters to encode lowercase letters. The generated SVG is suitable for printing at standard sizes. For production use, verify the barcode scans correctly with your target scanner.
Frequently asked questions
What is the difference between Code 93 and Code 39?
Code 93 is a higher-density version of Code 39. It encodes the same 43 data characters but uses narrower element patterns, resulting in approximately 15% shorter barcodes. Code 93 also includes two check characters (C and K) for error detection, while Code 39 has no built-in error checking.
Does Code 93 support lowercase letters?
No. The standard Code 93 character set includes only uppercase letters, digits, and 7 symbols. An extended variant called Code 93 Full ASCII uses shift characters to encode all 128 ASCII characters, but this tool does not support that variant. For lowercase letters, use Code 128.
What are the C and K check characters?
Code 93 uses two modulo-47 check characters. The C check character is a weighted sum of the data characters. The K check character is a weighted sum of the data characters plus the C check character. Both are computed and appended automatically by this tool.
Can I use Code 93 for retail products?
Code 93 is not typically used for retail products. Retail products use UPC-A, EAN-13, or EAN-8 barcodes, which are managed by GS1. Code 93 is used in logistics, shipping, and manufacturing where a variable-length alphanumeric barcode is needed.
Conclusion
This Code 93 barcode generator creates scannable barcodes as SVG images with automatic check character computation. It runs entirely in your browser and renders instantly. For other barcode formats, try the Barcode Generator, the UPC Generator, or the ITF-14 Generator.