Quick answer: type capital letters, digits, spaces and - . $ / + % (or turn on Full ASCII for anything else) and download. The two check characters Code 93 needs are calculated for you and added to the bars, not to the printed text.
Code 93 compared with Code 39
Intermec introduced Code 93 in 1982 to fix Code 39's two weaknesses: width and the optional check digit. Every Code 93 character is exactly 9 modules wide, built from three bars and three spaces of four possible widths, so the same text takes about a quarter less room. Two check characters are mandatory, which makes misreads extremely unlikely.
| Code 39 | Code 93 | |
|---|---|---|
| Characters | 43 | 47 (43 + 4 shift characters) |
| Check characters | Optional (mod 43) | Two, always (mod 47) |
| Width of “BATCH 93-1187” | ≈ 222 modules | ≈ 172 modules |
| Print tolerance | Very high | Good, but needs sharper printing |
How to create a Code 93 barcode
- Enter your text. Use the 47 Code 93 characters, or switch on Full ASCII for lower case.
- Leave the checks to the tool. Code 93 always has two check characters (modulo 47). They are added automatically.
- Pick the size. Code 93 needs less width than Code 39 for the same text, so you can often use a larger bar width in the same space.
- Download. Choose PNG, SVG, PDF or JPG.
Where you meet Code 93
Canada Post used Code 93 for supplementary delivery data, and it shows up on electronic component labels and in some retail stores' internal systems. Handheld scanners read it out of the box; check that the symbology is enabled on fixed-position scanners before you depend on it.
Check characters, step by step
Code 93 calculates its first check character, C, by giving each character a weight from 1 to 20 counted from the right, adding the weighted values and taking the remainder after division by 47. The second check character, K, does the same with weights 1 to 15 over the data plus C. A scanner repeats both calculations and rejects the scan if either differs, which is why Code 93 is considered one of the most secure linear codes.
Code 93 Full ASCII
The four extra characters of Code 93 – shown as ($), (%), (/) and (+) in the specification – act as shift keys. Combined with a letter they produce lower-case letters, punctuation and control characters, so all 128 ASCII characters can be encoded. Only switch on Full ASCII if your scanners are set to interpret these pairs.
Frequently asked questions
Do I have to add the check characters?
No – they are always added by the generator. Code 93 without both check characters would not be a valid barcode.
Can Code 93 encode lower-case letters?
Yes, with Full ASCII mode, which uses the four shift characters. The scanner must support Code 93 Full ASCII.
Is Code 93 better than Code 128?
Code 128 is usually more compact for numbers and is supported more widely, so it is the better choice for new projects unless a system asks for Code 93.
Why are the check characters not printed?
By convention only the data is printed below the bars. The scanner checks and removes C and K.