How the GS1 check digit works
UPC, EAN, GTIN-14, SSCC and ISBN-13 all use the same modulo-10 check digit. It catches nearly all single-digit typing mistakes and most swapped pairs of digits.
- Starting from the right-hand digit (not counting the check digit), multiply the digits alternately by 3 and 1.
- Add up all the results.
- The check digit is the number you add to reach the next multiple of 10. If the sum is already a multiple of 10, it's 0.
Example, UPC-A 03600029145_: from the right, 5×3 + 4×1 + 1×3 + 9×1 + 2×3 + 0×1 + 0×3 + 0×1 + 6×3 + 3×1 + 0×3 = 58. The next multiple of 10 is 60, so the check digit is 2, making 036000291452.
Which lengths are supported
| Code | Digits without check | Full length |
|---|---|---|
| EAN-8 | 7 | 8 |
| UPC-A (GTIN-12) | 11 | 12 |
| EAN-13, ISBN-13 (GTIN-13) | 12 | 13 |
| GTIN-14 / ITF-14 | 13 | 14 |
| SSCC | 17 | 18 |
| ISBN-10 (different method) | 9 | 10 |
ISBN-10 is different
Old 10-digit ISBNs use modulo 11: multiply the first nine digits by 10, 9, 8 … 2, add them, and the check digit is whatever brings the total to a multiple of 11. A result of 10 is written as X. ISBN-13s use the GS1 method above.
Why a check digit can be right and the number still wrong
A valid check digit only means the digits are internally consistent. It doesn't mean the number was issued by GS1, or that it belongs to your company. To check who owns a GTIN, use GS1's free Verified by GS1 lookup.
