What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mintβ¦
Free Online Barcode & QR Code Generator
Code 93 was built as a denser successor to Code 39, packing the same alphanumeric range into noticeably shorter barcodes with built-in dual check digits.
Open the generator βTurn a CSV β or a numbered sequence β into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.
The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale β commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
Code 93 is a linear barcode symbology developed in the early 1980s as a more compact, more secure alternative to Code 39. It encodes uppercase letters, digits, and the same core set of symbols Code 39 supports, but does so using a more efficient bar-and-space structure that produces noticeably shorter barcodes for equivalent data. Unlike Code 39, Code 93 has a Full ASCII mode built into the base standard using shift characters, similar in concept to Code 39's extended mode but part of Code 93's original design rather than a bolt-on scheme.
Code 93 is best known as the symbology the United States Postal Service historically used for package identification and internal routing labels, which cemented its reputation as a reliable, compact choice for logistics-heavy applications.
Each Code 93 character is represented by a pattern of bars and spaces spanning 9 modules (compared to Code 39's wider element structure), which is the main source of its density advantage. Code 93's defining reliability feature is that it requires two check digits β commonly called C and K β calculated using weighted modulo-47 algorithms over the preceding characters. This dual check-digit system gives Code 93 stronger built-in error detection than Code 39's single optional check digit, which is part of why it's trusted in applications where a misread barcode carries real operational cost.
Because Code 93's base character set matches Code 39's uppercase-plus-symbols range, and its Full ASCII mode handles lowercase and extended characters through shift-pairing (much like Code 39 Full ASCII), it offers a genuine density and accuracy upgrade path for anyone currently using Code 39 who doesn't need backward compatibility with older Code 39-only scanners.
Code 93 occupies a specific niche between Code 39 and Code 128:
Code 93 is standardized as ANSI/AIM BC5-1995 (equivalent to ISO's later specification for the symbology). Its base character set matches Code 39's 43 symbols β uppercase letters, digits, and the same core punctuation β with lowercase and extended ASCII reachable through four built-in shift characters that pair with a following character to represent the full 128-character ASCII range. Each character occupies 9 modules across bars and spaces, denser than Code 39's structure. Two check digits, labeled C and K, are mandatory and calculated using weighted modulo-47 sums over the preceding data, giving Code 93 stronger built-in error detection than Code 39's single optional digit.
Select Code 93 from Barcode Mint's symbology list. Enter your data β uppercase letters, digits, and symbols encode directly, while lowercase or extended characters are handled automatically through Code 93's built-in Full ASCII shift logic. The live preview updates immediately, and the two check digits are calculated and appended automatically; you never need to compute them yourself. From there:
For numbered part series, use the batch/sequence generator. For labeling a full inventory list, upload a spreadsheet through the bulk CSV β ZIP/PDF tool to generate every barcode in one operation. Developers can generate Code 93 barcodes programmatically via the REST API using /barcode?type=code93&data=YOURDATA.
Code 93's density and dual check digits make it forgiving, but a few practices maximize reliability:
Against Code 39, Code 93 is the direct successor β same core character range, shorter barcodes, and mandatory dual check digits instead of Code 39's optional single digit, making it the better choice whenever your scanner fleet supports it. Against Code 128, Code 128 is generally denser still and includes native lowercase without a shift scheme, and it's more broadly supported today, which is why new projects often skip Code 93 in favor of Code 128 unless there's a specific legacy reason (like postal system compatibility) to use it. Against Code 39 Full ASCII, Code 93's built-in Full ASCII mode achieves the same extended character coverage more efficiently, since the shift mechanism is native to the symbology rather than bolted on.
Code 93 includes two mandatory check digits calculated via modulo-47, giving it stronger built-in error detection than Code 39's single optional check digit, which makes misreads easier to catch automatically.
Yes, through a built-in Full ASCII shift mechanism similar to Code 39 Full ASCII, but native to the Code 93 standard rather than an add-on scheme.