Code 93 Specification

Code 93 was designed to provide a higher density and data security enhancement to Code39. It is an alphanumeric, variable length symbology. code93 is used primarily by Canadian postal office to encode supplementary delivery information. Every symbol includes two check characters.

Code93 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 the one in extended Code39 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

Check Digit Calculation

To calculate the check character "C" and "K", follow the following steps.

  • Take the value (0 through 47) of each character in the barcode (see the table below). The start and stop characters are not included in the checksum calculation.

  • 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.

  • Multiply the character value with weight. Sum all the results.

  • Divide the result by 47 and get the remainder. Reverse look up the remainder to get the character. This is check character "C".

  • 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".

Table 1. Code93 Character Value Table

charvaluecharvaluecharvaluecharvalue
00A10N23-36
11B11O24.37
22C12P25SPACE38
33D12Q26$39
44E14R27/40
55F15S28+41
66G16T29%42
77H17U3043
88I18V3144
99J19W3245
  K20X3346
  L21Y34  
  M22Z35