Barcode Check Digit Calculator
100% private — runs on your device, never uploaded. Works offline once loaded.
The last digit of an EAN-13, EAN-8, UPC-A or ITF-14 is not part of the product number — it is arithmetic on the digits before it, there so a scanner can catch its own misreads. Type the number without that last digit and it is calculated here. Type the whole thing and it is checked: if it does not add up you are told which digit it should have been, which is usually the answer to “why won’t this barcode scan”. The barcode is drawn at the same time, so you can see and download the corrected version straight away.
The arithmetic, in full
GS1’s check digit is a modulo-10 calculation, and it is the same for EAN-13, EAN-8, UPC-A and ITF-14 — only the number of digits in front of it changes. Starting from the rightmost data digit and working left, multiply alternately by 3 and 1. Add the products. The check digit is whatever brings that sum up to the next multiple of ten, and zero if the sum already lands on one.
Worked through on 590123412345: the weighted sum comes to 83, the next multiple of ten is 90, so the check digit is 7 and the finished EAN-13 is 5901234123457. The value on this page starts there, so you can see the calculation land before you replace it with your own number.
What a check digit is actually for
It is error detection, not identification. A scanner reading a barcode at speed, at an angle, through shrink wrap, occasionally misreads a digit — and a wrong product code that looks plausible is far more damaging than a read that simply fails. The check digit means a single misread digit, and most transpositions of two digits, produce a number that fails the sum, so the scanner rejects the read instead of passing on the wrong product. The one weakness worth knowing: transposing two adjacent digits that differ by five is not caught, because the weighting happens to cancel it.
When the digit you have does not match
A number whose check digit fails is telling you that something in it was mistyped — and it is usually not the check digit itself but one of the digits before it. This page shows the check digit that matches the rest of your number and offers to swap it in, which is the right fix when the last digit was the mistake. If the number came from a supplier or a GS1 registration, check the other digits against the source first: correcting the check digit to match a mistyped product number produces a valid barcode for the wrong product, which is the one outcome worse than an invalid one.
Formats without a check digit you can calculate
Code 128 has a check character, but the encoder calculates it and hides it inside the symbol — you never type it and a scanner never reports it. Code 39 has an optional modulo-43 check character that most systems never enabled. The MSI variants in the type list offer mod-10 and mod-11 check digits as separate choices, which is why MSI appears there more than once. For those formats there is nothing for you to work out; the check digit is a property of the symbol rather than of your number — pick whichever you need on the barcode generator.
Frequently asked questions
How is a GS1 check digit calculated?
Counting from the right-hand data digit, every other digit is multiplied by three and the rest by one. Add them all up, and the check digit is whatever brings that total to the next multiple of ten — zero if it is already there.
It says my check digit is wrong. Now what?
Either one of the other digits was mistyped, or the check digit itself was. The tool shows the digit that matches the rest of your number and offers to swap it in, which is right far more often than not.
Do Code 128 and Code 39 have check digits?
Code 128 has one, but it is calculated and hidden inside the symbol rather than being part of the number you type. Code 39 has an optional one that most systems do not use. Neither needs anything from you.
Does the same calculation work for EAN-8, UPC-A and ITF-14?
Yes — it is one GS1 modulo-10 rule for all of them. Only the count of data digits differs, so choose the type here and type the digits you have.
Can I calculate the check digit for a Code 128 barcode?
There is nothing to calculate. Code 128 works out a check character while encoding and keeps it inside the symbol, so it never forms part of the number you type.
The calculator says my check digit is wrong — is my product number wrong?
Possibly. A failed check digit means the number as a whole does not add up, and more often than not the mistake is in the digits before it. Verify against the source before accepting the corrected digit.
Does it verify that the number is registered to me?
No — and nothing can do that arithmetically. The check digit proves the number is internally consistent, not that GS1 issued it to your business. Only the GS1 registry can answer that.
Advertisement