The check digit is the last number on the bar codes often used in retail for inventory and tracking purposes. The numbers in front of this digit must be composed so that when calculated following the method below, they match the check digit. If the numbers do not match, the bar code number is faulty or incorrect. The bar code can have 8, 12, 13, 14 or 17 digits, but this method will work for all.
Things You'll Need
 Bar code
 Piece of paper
 Pencil

Write the bar code at the top of a piece of paper, but do not write the check digit down. This is the last digit in the sequence. Draw lines between the digits to create a table.

Follow this model: If you have a bar code that reads: 9780446611640, the check digit is 0; in the table, write 978044661164.

Begin counting from the last digit on the right to determine which digits are in even or oddnumbered positions. Those in even positions are the 2nd, 4th, 6th, 8th, etc. from the right. Move the digits in the even positions down to fill the space below them in the table.

Write down 9_8_4_6_1_6 for the even digits from the example: 978044661164. You should have started counting 4 on the right as the digit in the first position and move to the right as you count the positions.

Multiply the digits in the odd positions by 3 before moving them down into the table space below.

Write down _21_0_12_18_3_12 for the odd positions. With the even numbers, from the original example (978044661164), your table should look like this: 9, 21, 8, 0, 4, 12, 6, 18, 1, 3, 6, 12.

Add the digits in the bottom half of the table together. For the example, this is 9+21+8+0+4+12+6+18+1+3+6+12 = 100.

Determine the nearest multiple of 10 (10, 20, 30, 40, 50, etc.). Subtract the larger of the 10 multiple or the added total. For instance, if, in another example, you had 53, your math would be: 5350 = 3.

Follow the model: Subtract 100 (the added total)  100 (multiple of 10) = 0. This is your check digit. Verify that it is the same as the last digit in the bar code. If it is not, the bar code is not valid.