Skip to main content

    Check Digit Calculator

    Calculate or check the check digit of a UPC, EAN, GTIN-14, SSCC or ISBN. Type the number with or without spaces: the calculator detects the type from the length, says whether the check digit is right, and lays out every step of the working.

    A valid check digit only means the digits are consistent. It does not mean the number is registered, owned by anyone or assigned to a product.

    The number or text you type is encoded in your browser and is not sent to a server. See the privacy policy.

    Type the full number to check it, or leave off the last digit to calculate it. Spaces and hyphens are ignored.

    Mode

    Valid EAN-13: the check digit 3 is correct.

    Read as a full EAN-13 (auto detected; pick a type to change it).

    Working for EAN-13 629104150021: Counting from the right, the check digit is position 1. Positions 2, 4, 6 and so on are multiplied by 3, and positions 3, 5, 7 and so on by 1.
    DigitPosition from rightWeightProductRunning sum
    613× 166
    212× 3612
    911× 1921
    110× 3324
    09× 1024
    48× 31236
    17× 1137
    56× 31552
    05× 1052
    04× 3052
    23× 1254
    12× 3357
    Sum mod 107
    Check digit3

    The sum is 57. 57 mod 10 is 7, and 10 minus 7 is 3, so the check digit is 3.

    How it works

    1. Type a number. With one digit fewer than the full length the calculator works out the check digit, and with the full length it checks the last digit.
    2. Check the detected type, and pick another if the length is ambiguous, such as 12 digits that could be a full UPC-A or an EAN-13 without its check digit.
    3. Read the working table: each digit, its position from the right, its weight, the product and the running sum, then the modulo step.
    4. For a list, switch to Bulk, paste up to 1,000 numbers, one per line, and copy the results or download a CSV.

    What a check digit is

    A check digit is a final digit calculated from all the others. When a scanner misreads a digit or someone mistypes one, the calculation no longer matches and the error is caught before the wrong number is used. The GS1 method catches any single wrong digit and most swaps of two neighbouring digits, and the ISBN-10 method catches both kinds of error.

    Which numbers have a check digit

    • EAN-13 and UPC-A, the retail barcodes on most products.
    • EAN-8 and UPC-E, the short forms for small packs. A UPC-E is expanded to its UPC-A with the GS1 table before the check digit is calculated.
    • GTIN-14, used for cases and printed as an ITF-14 barcode.
    • SSCC-18, the Serial Shipping Container Code that identifies pallets and other logistics units.
    • ISBN-13, which is an EAN-13 starting with 978 or 979, and the older ISBN-10.

    The GS1 method

    All GS1 numbers use the same calculation. Count positions from the right, with the check digit as position 1. Multiply the digits in positions 2, 4, 6 and so on by 3 and those in positions 3, 5, 7 and so on by 1, add the products, and subtract the total from the nearest equal or higher multiple of ten. Counting from the right is what lets one rule cover every length from 8 to 18 digits.

    ISBN-10 and modulus 11

    An ISBN-10 multiplies its digits by their position counted from the right, from 10 for the first digit down to 2 for the ninth. The check digit is whatever makes the full weighted sum divisible by 11, so it can be 10, which is written as X.

    Worked examples

    • EAN-13: for 629104150021, the GS1 example, the weighted sum is 57, so the check digit is 3 and the full number is 6291041500213.
    • UPC-A: for 03600029145 the weighted sum is 58, so the check digit is 2.
    • EAN-8: for 9638507 the weighted sum is 86, so the check digit is 4.
    • UPC-E: 0345670 expands to the UPC-A digits 03400000567, whose weighted sum is 57, so the check digit is 3 and the UPC-E is 03456703.
    • GTIN-14: for 1540014128876 the weighted sum is 97, so the check digit is 3.
    • SSCC-18: for 10614141123456789 the weighted sum is 143, so the check digit is 7.
    • ISBN-13: for 978030640615 the weighted sum is 93, so the check digit is 7.
    • ISBN-10: for 080442957 the weighted sum is 199, which leaves 1 after dividing by 11, so the check digit is X, standing for 10.

    A valid check digit is not a registration

    The calculator checks arithmetic only. It cannot tell whether a GTIN is licensed from GS1, whether an ISBN was issued by an ISBN agency, or who owns a number. To confirm a number, ask the brand owner or publisher, or the organisation that issued it. To make a barcode from a number, go back to the barcode generator.

    Checking a list in bulk

    Bulk mode checks each line on its own with the same detection, up to 1,000 lines, in small batches so the page stays responsive. Copy all the results as tab separated text for a spreadsheet, or download a CSV. The numbers stay in your browser.

    More barcode formats

    Frequently asked questions

    What is a check digit?

    The last digit of a number such as a barcode number or ISBN, calculated from the other digits. It lets a scanner or system catch a misread or mistyped digit.

    Does a valid check digit mean the number is real?

    No. It only means the digits add up correctly. The number may still be unassigned, belong to someone else or never have been issued.

    Why does a 12 digit number offer two types?

    Twelve digits can be a complete UPC-A or an EAN-13 missing its check digit. The calculator assumes UPC-A unless the number starts with 978 or 979, and you can switch type.

    Can it check UPC-E codes?

    Yes, for 8 digit UPC-E codes that start with 0, or 7 digits without the check digit. The code is expanded to its UPC-A with the GS1 table, and the check digit comes from that.

    What does X mean at the end of an ISBN?

    In an ISBN-10, X stands for a check digit of 10, because the modulus 11 calculation can give any value from 0 to 10. ISBN-13 numbers never end in X.

    How many numbers can I check at once?

    Up to 1,000 lines in bulk mode. Any extra lines are left out, and the tool says how many were skipped.

    Related Tools