Barcode Studio

Code 93 Barcode Generator

Generate compact Code 93 barcodes for alphanumeric labels, industrial tracking and inventory workflows.

Data Matrix PDF417 Code 128 Code 93 EAN-13 EAN-8 UPC-A ISBN Code 39 ITF-14 MSI Plessey Pharmacode Codabar

Barcode & Matrix Generator

Live Studio Preview
Invalid input format for selected symbology.
SMART BARCODE INTELLIGENCE
Analyzing barcode...
-- /100 SCAN READY
RECOMMENDED FORMAT Analyzing...
BEST FOR —
DATA RULES —
CHECK DIGIT —
CONTRAST —
Analyzing barcode data...
PROFESSIONAL EXPORT STUDIO
Export your barcode Choose a professional format and output resolution.
HIGH RES
PNG · 1024 px · Current background

Code 128 Batch Serial Number Generator

Generate sequential Code 128 barcodes for warehouse SKUs, asset tags, inventory labels, and other internal identifiers.

Configure your sequence above and click generate to build batch items.
BARCODE KNOWLEDGE STUDIO

Code 93 Barcode Generator

Quick answer: Code 93 is a variable-length alphanumeric barcode developed by Intermec in 1982 as a denser successor to Code 39. No dedicated ISO/IEC standard exists for Code 93. It encodes 43 native characters — A–Z, 0–9, and seven special characters — plus full 128-character ASCII via four shift characters.

Runs in your browser Standards-aware formats Batch serial mode SVG, PNG, WEBP, JPG

What a Code 93 barcode is

Code 93 is a one-dimensional, continuous barcode symbology developed by Intermec in 1982. Intermec designed it as a successor to Code 39 that achieves higher density by using a nine-module character structure with three bars and three spaces, compared to Code 39's five bars and four spaces across a wider module count.

Code 93 has no dedicated ISO/IEC standard. It is referenced informally in AIM specifications and supported by most barcode readers as a legacy format, but it was never formally standardised under ISO/IEC like Code 128 (ISO/IEC 15417) or Code 39 (ISO/IEC 16388). This is not an editorial oversight — it is a factual difference between Code 93 and its more widely adopted relatives, and it is relevant when specifying a barcode system: equipment vendors are not obliged to certify Code 93 compliance against a published standard.

The native character set is 43 characters: the 26 uppercase letters A–Z, the 10 digits 0–9, and seven special characters: space, hyphen, period, dollar sign, slash, plus sign and percent sign. Full 128-character ASCII is available via four shift characters — denoted ($), (/), (%), (+) — which combine with a following character to represent the 85 additional ASCII values not in the native set.

Code 93 technical specification

Character set, structure and check digits

ParameterValueSource
Full nameCode 93—
ISO/IEC standardNone — no dedicated standard existsWikipedia; idautomation.com
OriginDeveloped by Intermec Corporation, 1982Wikipedia
Native character set43 characters: A–Z (26), 0–9 (10), space, -, ., $, /, +, % (7)Wikipedia; idautomation.com
Extended ASCIIFull 128 via shift characters ($), (/), (%), (+)Wikipedia; idautomation.com
Symbol lengthVariableWikipedia
Elements per character9 modules: 3 bars + 3 spacesbarcodes crate source (docs.rs)
Check charactersTwo mandatory: C and Kidautomation.com; barcodeisland.com archived
C check algorithmWeighted sum of data character values, weights 1–20 cycling right-to-left, mod 47; remainder maps to Code 93 character tableidautomation.com
K check algorithmSame as C but the C value is included as the rightmost element; weights 1–15 cycling right-to-left, mod 47idautomation.com
Bidirectional decodeYesWikipedia
Density vs Code 39Approximately 25% denser for equivalent dataWikipedia

The dual modulo-47 check character in detail

Code 93's two check characters make it one of the more robust linear symbologies for error detection. The C check is computed by taking the values of all data characters (using the Code 93 character value table where A=10, B=11, ..., Z=35, 0=0, ..., 9=9, and special characters each assigned unique values), then cycling weights 1 through 20 from right to left across the data string, summing the products, and taking the remainder modulo 47. The remainder maps to the corresponding Code 93 character.

The K check is computed in the same way but includes the C check character as the rightmost element in the data string before weighting. Weights for K cycle from 1 through 15 right-to-left. The K character follows the C character in the encoded symbol.

This generator calculates both check characters automatically. You do not need to compute or append them manually.

Comparison with Code 39 structure

Code 39 represents each character with 9 elements (5 bars, 4 spaces) where exactly 3 elements are wide. Code 93 represents each character with 9 modules (3 bars, 3 spaces) without separate wide and narrow elements — the module values are encoded differently. Code 93's structure eliminates the intercharacter gap present in Code 39 (Code 39 is discrete; Code 93 is continuous), which contributes to the density improvement.

When to use a Code 93 barcode

Canada Post delivery information. Canada Post uses Code 93 to encode supplementary delivery information on domestic mail items. This is the most widely cited active deployment of Code 93 in North America. If you are integrating with Canada Post parcel or mail systems and that system specifies Code 93, use Code 93.

Legacy inventory systems requiring Code 93 explicitly. Some warehouse management systems and ERP integrations installed before Code 128 became dominant were set up with Code 93 scanners and label printers configured to that symbology. If the system cannot be reconfigured and already uses Code 93, maintain Code 93 for label continuity.

Developer testing and compatibility verification. Developers building scanning applications that must support historical Code 93 data — from older barcode databases or archival records — can use this generator to produce test symbols for scanner and software integration testing.

When NOT to use Code 93. For any new labelling system, Code 128 is the better choice. Code 128 has a published ISO/IEC standard (ISO/IEC 15417:2007), is the industry default for warehouse and logistics applications, encodes the full ASCII set including lowercase letters without shift sequences, and is universally supported by barcode scanners without requiring explicit enable. Many scanners do not have Code 93 enabled by default.

Print requirements for Code 93

X-dimension. Use the largest X-dimension your label space and scanner resolution allow. Code 93 is continuous, so the module width directly determines the symbol's physical length.

Quiet zones. Code 93 requires a minimum quiet zone on each side of the symbol. The specific requirement follows general linear barcode practice — typically 10X minimum on each end. Any element that encroaches on the quiet zone will prevent the scanner from detecting the start or stop character.

Bar height. Apply the same rule as other linear barcodes: bar height should be at least 15 percent of the symbol length or 5 mm, whichever is greater. Tall bars tolerate scanner tilt better than short bars.

Scanner configuration. This is the most important practical requirement for Code 93: most handheld barcode scanners do not enable Code 93 decoding by default. Before deploying Code 93 labels, check the scanner manual for a Code 93 enable sequence and scan that configuration barcode. A scanner that has not been configured for Code 93 will not decode the symbol even if the print quality is perfect. This is a common cause of failed Code 93 deployments.

Print contrast. Same requirements as any linear barcode: dark bars on a light background. Thermal print calibration matters for the narrower modules in Code 93 relative to Code 39.

Troubleshooting: why your Code 93 barcode is not scanning

Scanner not configured to read Code 93. This is the most common cause of failure. Code 93 is disabled by default on many handheld and fixed-mount scanners. Find the Code 93 enable configuration barcode in the scanner's programming manual and scan it before testing.

Invalid character in the data. The native Code 93 character set includes 43 characters: uppercase A–Z, digits 0–9, space, and the seven special characters -, ., $, /, +, %. Lowercase letters, accented characters and other special symbols require shift encoding. If the generator rejects input, check that the characters are within the supported set.

Check character error. If a Code 93 symbol was produced by a system that computed check digits incorrectly, most scanners will reject it outright. Use this generator to produce a fresh, correctly calculated symbol and compare.

Quiet zone violated. A border, adjacent label element or cropped print margin that cuts into the quiet zone prevents start/stop detection. Maintain at least 10X of clear space on both ends.

X-dimension too small. Code 93 at fine X-dimensions requires higher scanner resolution than Code 39 for the same data. If a symbol that prints cleanly fails to scan, try increasing the X-dimension.

Bidirectional decode issues. Code 93 decodes bidirectionally, but some scanner firmware implementations have known issues with specific patterns read in reverse. Try presenting the label in a consistent orientation.

Code 93 versus Code 128

Code 93 and Code 128 serve similar purposes — alphanumeric variable-length linear barcodes — but they differ in standardisation, character coverage and industry adoption.

Code 93Code 128
ISO/IEC standardNoneISO/IEC 15417:2007
OriginIntermec, 19821981 (various; standardised)
Native character set43 characters (uppercase + digits + 7 specials)All 128 ASCII including lowercase
Lowercase supportVia shift characters onlyNatively in Code Set B
Check charactersTwo mandatory (C and K, modulo-47)One mandatory (modulo-103)
Numeric densityStandardDouble-density in Code Set C
Default scanner supportOften disabled — requires explicit enableEnabled by default on most scanners
Active deploymentsCanada Post, legacy systemsWarehouse, shipping, GS1-128, FBA
Recommendation for new systemsNot recommended — use Code 128Yes — the industry default

Code 93 is approximately 25 percent denser than Code 39, which was its original design advantage. Against Code 128, Code 93 has no meaningful density advantage: Code 128 in Code Set C is denser than Code 93 for numeric data, and Code 128 in Code Set B matches Code 93 for alphanumeric data while offering lowercase support and a published standard.

Using this barcode in Bahrain and international supply chains

Bahrain retailers, importers, manufacturers and logistics teams should match identifiers to the rules of their trading partners. Retail GTINs must come from the proper issuing organisation; a generator creates artwork but does not assign ownership. Internal stock and asset references may use organisation-defined values when the receiving system supports them.

Use British English in operational guidance where it matches your organisation’s style, and add Arabic instructions for teams that need them. Print under the actual conditions of use. Bahrain’s heat, bright light, dust, curved packaging and reflective laminate can expose contrast or surface problems that are invisible on a monitor.

Keep quiet zones clear, avoid stretching the image, and prefer dark bars on a plain light background. Scan samples from the beginning, middle and end of a print run. For regulated retail, healthcare, publishing or logistics use, confirm the current GS1, ISBN-agency, customer or industry specification before approving production.

PRODUCTION CHECKLIST

Before you print

  • Correct symbology selected
  • Identifier ownership confirmed
  • Check digit verified
  • Quiet zones kept clear
  • Strong bar contrast
  • Aspect ratio unchanged
  • SVG or high-resolution PNG
  • Production scanner test
Return to generator ↑
BARCODE FAQ

Frequently asked questions

Open a question to read a concise technical answer.

01What is Code 93?+

Code 93 is a variable-length alphanumeric linear barcode developed by Intermec in 1982 as a denser successor to Code 39. No dedicated ISO/IEC standard exists for Code 93. It natively encodes 43 characters and supports full 128-character ASCII via four shift characters. Two mandatory check characters, C and K, are calculated by modulo-47 weighted sums.

02What is the difference between Code 93 and Code 39?+

Code 93 is approximately 25 percent denser than Code 39 for equivalent data. Code 93 is continuous (no intercharacter gap) while Code 39 is discrete. Code 93 has two mandatory check characters calculated by modulo-47 weighted sums; Code 39's check character is optional and uses modulo-43. Neither is preferred for new deployments — Code 128 (ISO/IEC 15417:2007) is the correct choice for any new system.

03Does Canada Post use Code 93?+

Yes. Canada Post uses Code 93 to encode supplementary delivery information on domestic mail items. This is the most widely cited active deployment of Code 93 in North America and the primary commercial reason to generate Code 93 barcodes today.

04How does the Code 93 check digit work?+

Code 93 uses two check characters: C and K. The C check is a modulo-47 weighted sum of data character values, with weights 1–20 cycling right-to-left. The K check applies the same method to the data plus the C value, with weights 1–15. Both check characters are appended to the symbol automatically by this generator.

05What characters does Code 93 encode?+

The native Code 93 character set covers 43 characters: uppercase A–Z (26), digits 0–9 (10), and the special characters space, -, ., $, /, +, % (7). Full 128-character ASCII — including lowercase and control characters — is available via four shift characters denoted ($), (/), (%), (+) that combine with a following character.

06Is Code 93 better than Code 39?+

Code 93 is approximately 25 percent denser than Code 39, which was its original advantage. However, Code 93 has no dedicated ISO/IEC standard and many scanners require explicit configuration to read it. For any new system, Code 128 (ISO/IEC 15417:2007) is the better choice: it is denser than Code 39, natively encodes lowercase letters, and is enabled by default on virtually all barcode scanners.

07Does my scanner support Code 93?+

Most modern barcode scanners support Code 93, but it is disabled by default on many models. Check the scanner's programming manual for a Code 93 enable barcode and scan that configuration code before testing. This is the most common reason Code 93 symbols fail to scan despite correct print quality.

08Is there an ISO/IEC standard for Code 93?+

No. Code 93 has no dedicated ISO/IEC standard. It is referenced informally in AIM specifications and supported by most readers as a legacy format. This contrasts with Code 39 (ISO/IEC 16388:2023) and Code 128 (ISO/IEC 15417:2007), both of which have published international standards.

09Can Code 93 encode lowercase letters?+

Not natively. The 43-character native set includes only uppercase letters. Lowercase letters are available via shift character sequences that combine a shift symbol with a following character, increasing the symbol length. Code 128 Code Set B encodes lowercase letters natively and is a more efficient choice for mixed-case data.

10Do I need to register or licence Code 93 for use?+

No. Code 93 encodes arbitrary alphanumeric data and requires no GS1 licence, registration or certification. It is fully usable for internal labelling without any external approval. The absence of an ISO/IEC standard has no licensing consequence — it is a technical specification gap, not a usage restriction.