Navigation

X
You've just added this product to the cart:


Continue Shopping

Code 93

Code 93 Specification

Code 93 is a barcode which encodes 43 data characters consisting of: 0-9, A-Z, 6 symbols and a space; four control characters and a unique start/stop character. The entire 128 ASCII character set is represented in Code 93 using combinations of control characters and basic data characters. Code 93 derives its name from the fact that every character is constructed from 9 modules or elements arranged into 3 bars with their adjacent spaces. Each of the bars can be 1, 2, or 3 modules wide. The start/stop character contains a 4 module wide bar. Every Code 93 symbol includes two powerful check digits that minimize the possibility of reader substitution errors due to printing defects.

Code 93 Character Set

		ASCII      Binary   Bar Pattern        Data

		Character  Word     B  S  B  S  B  S   Value

		0     100010100  1  3  1  1  1  2    0

		1     101001000  1  1  1  2  1  3    1

		2     101000100  1  1  1  3  1  2    2

		3     101000010  1  1  1  4  1  1    3

		4     100101000  1  2  1  1  1  3    4

		5     100100100  1  2  1  2  1  2    5

		6     100100010  1  2  1  3  1  1    6

		7     101010000  1  1  1  1  1  4    7

		8     100010010  1  3  1  2  1  1    8

		9     100001010  1  4  1  1  1  1    9

		A     110101000  2  1  1  1  1  3    10

		B     110100100  2  1  1  2  1  2    11

		C     110100010  2  1  1  3  1  1    12

		D     110010100  2  2  1  1  1  2    13

		E     110010010  2  2  1  2  1  1    14

		F     110001010  2  3  1  1  1  1    15

		G     101101000  1  1  2  1  1  3    16

		H     101100100  1  1  2  2  1  2    17

		I     101100010  1  1  2  3  1  1    18

		J     100110100  1  2  2  1  1  2    19

		K     100011010  1  3  2  1  1  1    20

		L     101011000  1  1  1  1  2  3    21

		M     101001100  1  1  1  2  2  2    22

		N     101000110  1  1  1  3  2  1    23

		O     100101100  1  2  1  1  2  2    24

		P     100010110  1  3  1  1  2  1    25

		Q     110110100  2  1  2  1  1  2    26

		R     110110010  2  1  2  2  1  1    27

		S     110101100  2  1  1  1  2  2    28

		T     110100110  2  1  1  2  2  1    29

		U     110010110  2  2  1  1  2  1    30

		V     110011010  2  2  2  1  1  1    31

		W     101101100  1  1  2  1  2  2    32

		X     101100110  1  1  2  2  2  1    33

		Y     100110110  1  2  2  1  2  1    34

		Z     100111010  1  2  3  1  1  1    35

		-     100101110  1  2  1  1  3  1    36

		.     111010100  3  1  1  1  1  2    37

		SPACE   111010010  3  1  1  2  1  1    38

		$     111001010  3  2  1  1  1  1    39

		/     101101110  1  1  2  1  3  1    40

		+     101110110  1  1  3  1  2  1    41

		%     110101110  2  1  1  1  3  1    42

		($)    100100110  1  2  1  2  2  1    43

		(%)    111011010  3  1  2  1  1  1    44

		(/)    111010110  3  1  1  1  2  1    45

		(+)    100110010  1  2  2  2  1  1    46

		Start/     Binary   Bar Pattern

		Stop       Word     B  S  B  S  B  S  B

		Start    101011110  1  1  1  1  4  1  -

		Stop     1010111101 1  1  1  1  4  1  1
		

Full ASCII Character Set

ASCII Code 93  ASCII  Code 93     ASCII  Code 93  ASCII  Code 93

		NL     (%)U    Space   Space      @     (%)V     `      (%)W

		SH     ($)A     !      (/)A       A      A       a      (+)A

		SX     ($)B     "      (/)B       B      B       b      (+)B

		EX     ($)C     #      (/)C       C      C       c      (+)C

		ET     ($)D     $    (/)D or $    D      D       d      (+)D

		EQ     ($)E     %    (/)E or %    E      E       e      (+)E

		AK     ($)F     &      (/)F       F      F       f      (+)F

		BL     ($)G     '      (/)G       G      G       g      (+)G

		BS     ($)H     (      (/)H       H      H       h      (+)H

		HT     ($)I     )      (/)I       I      I       i      (+)I

		LF     ($)J     *      (/)J       J      J       j      (+)J

		VT     ($)K     +    (/)K or +    K      K       k      (+)K

		FF     ($)L     ,      (/)L       L      L       l      (+)L

		CR     ($)M     -    (/)M or -    M      M       m      (+)M

		SO     ($)N     .    (/)N or .    N      N       n      (+)N

		SI     ($)O     /    (/)O or /    O      O       o      (+)O

		DL     ($)P     0    (/)P or 0    P      P       p      (+)P

		D1     ($)Q     1    (/)Q or 1    Q      Q       q      (+)Q

		D2     ($)R     2    (/)R or 2    R      R       r      (+)R

		D3     ($)S     3    (/)S or 3    S      S       s      (+)S

		D4     ($)T     4    (/)T or 4    T      T       t      (+)T

		NK     ($)U     5    (/)U or 5    U      U       u      (+)U

		SY     ($)V     6    (/)V or 6    V      V       v      (+)V

		EB     ($)W     7    (/)W or 7    W      W       w      (+)W

		CN     ($)X     8    (/)X or 8    X      X       x      (+)X

		EM     ($)Y     9    (/)Y or 9    Y      Y       y      (+)Y

		SB     ($)Z     :      (/)Z       Z      Z       z      (+)Z

		EC     (%)A     ;      (%)F       [     (%)K     {      (%)P

		FS     (%)B     <      (%)G            (%)L            (%)Q

		GS     (%)C     =      (%)H       ]     (%)M     }      (%)R

		RS     (%)D     >      (%)I       ^     (%)N     ~      (%)S

		US     (%)E     ?      (%)J       _     (%)O     DEL    (%)T
		

NOTE: The character pairs (%)X, (%)Y, (%)Z will decode as ASCII DEL.

Check Characters

Code 93 uses two check characters, C and K, which precede the stop character. The first check character ``C'' is the modulo 47 sum of the data character values (See Code 93 Character Set ), and weighting values which increase from right to left, with the last data character first, in the repeating sequence 1, 2, 3, ... 20, 1, ..

The second check character ``K'' is also the modulo 47 sum of the data character values (See Code 93 Character Set), and weighting values which increase from right to left, with the ``C'' check character first, in the repeating sequence 1, 2, 3, ... 15, 1, ..

		Step 1: From the above table, find the values of each character.

		C   O   D   E      9   3   <--Message characters

		12  24  13  14 38  9   3   <--Character values

		Step 2: Starting with the right-most character, number each character

		(using a modulo 20 sequence)

		C   O   D   E       9   3

		7   6   5   4   3   2   1  <--position numbers

		Step 3: Sum the products of the char values and their position numbers

		(12 * 7) + (24 * 6) + (13 * 5) + (14 * 4)

		+ (38 * 3) + (9 * 2) + (3 * 1) = 484

		Step 4: Divide the result by 47.  Look up the remainder in the table.

		484 / 47 = 10 with remainder 14  (E from table)

		The C check character is E.

		Step 5: Add the C check character to right of message characters

		and renumber each character.

		C   O   D   E       9   3   E  <--Message chars with C check char

		8   7   6   5   4   3   2   1  <--position numbers

		Step 6: Sum the products of the char values and their position numbers

		(12 * 8) + (24 * 7) + (13 * 6) + (14 * 5)

		+ (38 * 4) + (9 * 3) + (3 * 2) + (14 * 1) = 611

		Step 7: Divide the result by 47.  Look up the remainder in the table.

		611 / 47 = 13 with remainder 0  (0 from table)

		The K check character is 0.