Code 93 Barcode Specification

   Minimize
Introduction
Code 93 was designed to provide a higher density and data security enhancement to Code39. It is an alphanumeric, variable length symbology. Code 93 is used primarily by Canadian postal office to encode supplementary delivery information. Every symbol includes two check characters.
Code 93 has a native character set of 26 upper case letters, 10 digits and 7 special characters:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
-, ., $, /, +, %, SPACE.
Each Code93 character is divided into nine modules and always has three bars and three spaces. In this way comes the symbology name.
In addition to 43 characters, code93 defines 5 special characters: and . represents start/stop characters; while the last four circular symbols can be combined with other characters to unambiguously represent all 128 ASCII characters. The character encoding under the full ASCII mode is very similar to Code 39 Extended barcode except the component characters, $, %, / and + are replaced by 4 special characters and respectively.
In an open system, the minimum value of X dimension is 7.5 mils. The minimum bar height is 15 percent of the symbol length or 0.25 inches, whichever is greater. The starting and trailing quiet zone should be at least 0.25 inches.
Structure of a code 93 barcode
A typical code 93 barcode has the following structure:
§ A start character –
§ Message encoded
§ First check character "C"
§ Second check character "K"
§ Stop Character -
§ Termination bar
CODE93 CHAR TABLE
Ch
Val
Ch
Val
Ch
val
ch
Val
0
0
A
10
N
23
-
36
1
1
B
11
O
24
.
37
2
2
C
12
P
25
sp
38
3
3
D
13
Q
26
$
39
4
4
E
14
R
27
/
40
5
5
F
15
S
28
+
41
6
6
G
16
T
29
%
42
7
7
H
17
U
30
43
8
8
I
18
V
31
44
9
9
J
19
W
32
45
K
20
X
33
46
L
21
Y
34
M
22
Z
35
Check Digit Calculation
To calculate the check character "C" and "K", follow the following steps.
1.     Take the value (0 through 47) of each character in the barcode (see the table to the left). The start and stop characters are not included in the checksum calculation.
2.     Assign the weight for each character. The right-most character has a weight value of 1, the second to last 2 and so on. After 20, the sequence goes back to 1.
3.     Multiply the character value with weight. Sum all the results.
4.     Divide the result by 47 and get the remainder. Reverse look up the remainder to get the character. This is check character "C".
5.     Append the "C" character at the end of the data, and repeat the step1 through step 4. This time the weight ranges from 1 to 15. The result is the character "K".