FREE TOOL
Check digit calculator
Paste a UPC, EAN, GTIN-14, SSCC, GLN or GSIN without its last digit and this calculator gives you the check digit, with the working shown digit by digit. It reads the type from the length, and spaces and dashes are fine. Paste the full number and it tells you whether the check digit is right, and what it should be if it is not. A whole column can be checked at once and downloaded as CSV.
Updated October 12, 2026
How the GS1 check digit works
Every GS1 number with a check digit uses the same mod 10 rule (GS1 General Specifications 7.9.1):
Start at the rightmost digit before the check digit. Multiply it by 3, the next one to the left by 1, the next by 3, and so on.
Add up the results.
The check digit is what you add to reach the next multiple of ten. If the sum is already a multiple of ten, it is 0.
Worked examples
| Number without check digit | Weighted sum | Next multiple of 10 | Check digit |
|---|---|---|---|
| 37610425002123456 (18-digit field) | 101 | 110 | 9 |
| 400638133393 (EAN-13) | 89 | 90 | 1 |
| 7351353 (EAN-8) | 63 | 70 | 7 |
| 03600029145 (UPC-A) | 58 | 60 | 2 |
First row: GS1 General Specifications Table 7-9. EAN examples: Wikipedia, International Article Number. UPC-A worked by hand.
Which numbers use it
| Number | Digits | Where you see it |
|---|---|---|
| GTIN-12 | 12 | Under a UPC-A barcode |
| GTIN-13 | 13 | Under an EAN-13 barcode |
| GTIN-14 | 14 | Cases, in ITF-14 or GS1-128 (01) |
| GTIN-8 | 8 | EAN-8 on small packs |
| SSCC | 18 | Pallet labels, GS1-128 (00) |
| GLN | 13 | Company and location IDs, (410) to (414) |
| GSIN | 17 | A shipment, (402) |
GS1 General Specifications sections 3.2 and 7.9.1.
What a check digit catches
Because the weights 3 and 1 have no factor in common with 10, the check digit catches every single wrong digit and about 90% of swapped neighbours (all but those whose digits differ by 5). It does not prove that a number is registered to anyone.
Common questions
My number fails. What now?
The calculator shows the digit it expected. If the number came from a supplier or a spreadsheet, a digit was probably mistyped or a leading zero was dropped; check the source before you print anything.
Why does my spreadsheet drop the leading zero?
Spreadsheets read a UPC such as 036000291452 as a number and drop the 0. Format the column as text before you paste.
Is this the same as GS1 US’s calculator?
It uses the same rule. GS1 US also offers its own calculator.
Related tools
WHERE MORSA FITS
Scanned it in. Is it all there?
A barcode tells receiving what arrived. Morsa matches it against the purchase order line, flags what is short or wrong, and chases the supplier for the rest, in email, Teams, WhatsApp or whatever you already run on.

