Optical Industry Association (OPC)
Product Marking
Home >
Barcode Basics >
Different Types of
Barcodes > OPC
The OPC code is used for
marking retail optical products, much like the UPC code is used for marking general retail
items. The code uses the Interleaved 2 of 5 barcode symbology.
Digits 1 through 5 identify the manufacturer of the item; this 5-digit number is
assigned by the Optical Product Code Council, Inc. The next 4 digits are a product
identification number assigned by the manufacturer to each product. The final digit is a
check digit. In the example above, we have added dashes to the human-readable text below
the bars to separate the data fields for clarity. The dashes are not included in the
barcode itself, and they are not required in the readable text.
Calculating the Checksum
The checksum uses the "212" variation of the Modulo-10 method. Please note
that this is not a common technique, and most barcode labeling software and scanners do
not support it directly. A check digit is optional with Interleaved 2 of 5, so standard
software and scanners are happy to print and read the OPC barcode. However, creation and
verification of the check digit will be the responsibility of the software that creates
the product codes and processes scanner data.
Starting with the leftmost digit, multiply each digit by a weighting factor. The
weighting factor follows a repeating 212 pattern. The first digit is multiplied by 2, the
second digit by 1, the third digit by 2, the fourth digit by 1, and so on. Using our
sample barcode above, we start with the number 020711721.
0 * 2 = 0
2 * 1 = 2
0 * 2 = 0
7 * 1 = 7
1 * 2 = 2
1 * 1 = 1
7 * 2 = 14
2 * 1 = 2
1 * 2 = 2
Now sum all of the products, treating 2-digit numbers as individual digits. In the
above example, 14 would be treated as a 1 and a 4:
0 + 2 + 0 + 7 + 2 + 1 + 1 + 4 + 2 + 2 = 21
Divide the result by 10; in this example, 21 divided by 10 = 2 with a remainder of 1.
Subtract the remainder from 10 to obtain the check digit; in this case, 10 - 1 = 9. If the
result is 10 (in the case of 10 - 0 = 10) change the result to 0.
For more information
For assignment of a manufacturer code, further details on the OPC code, and information
about the Optical Industry's EDI system, contact:
Optical Product Code Council
1700 Diagonal Road Suite 500
Alexandria, VA 22314
703.548.4560
703.548.4580 fax
www.visionsite.org