Adding a check digit or checking a number
Most people come here with one of two jobs. Either you are finishing a new number under your GS1 company prefix, with the digits for a product, carton or pallet chosen and only the last one left to calculate, or you are checking a number from a supplier, a printout or a spreadsheet that may have been retyped. The calculator has a mode for each, Add a check digit and Check a number, and it answers while you type.
In Add a check digit you type the number without its last digit, such as the first twelve digits of an EAN-13 or the first eleven of a UPC-A. The result shows the check digit, the full number with that digit underlined, and the GS1 number type of that length, so you can see at once that you've made the number you meant. Spaces, dots and dashes are ignored, so you can paste a number grouped the way it was printed, but letters and other symbols are refused.
In Check a number you type the whole number and learn whether its last digit is right and, if not, what it should be. Be careful about simply taking that correction, though. A wrong check digit usually means a typing mistake further left, so the "corrected" number may belong to another product or to nobody, and the original source deserves a second look. It all runs in your browser, the numbers are never sent anywhere, and it's free without signing up.
How the GS1 check digit is calculated
The rule is the same for every GS1 number, whatever its length. Starting with the digit just before the check digit and moving left, you multiply the digits by 3 and 1 in turn and add up the products, and the check digit is whatever brings that total up to the next multiple of ten. Because only the remainder after dividing by ten matters, this is known as a mod-10 check. Counting from the right means that zeros added at the front change nothing, so a UPC-A read as an EAN-13 with a leading 0, or stored as fourteen digits in a database, keeps its check digit.
Take the UPC 03600029145, which has eleven digits and needs a twelfth. Counting from the right, the digits in the odd places, 5, 1, 2, 0, 6 and 0, add up to 14, and three times 14 is 42. The digits in between, 4, 9, 0, 0 and 3, count once and add up to 16. That makes 58, the next multiple of ten is 60, and so the check digit is 2 and the full UPC-A is 036000291452. The panel How this check digit is worked out, under the calculator, sets out the same steps for any number you type, from each digit's weight to the sum and the step to the next ten.
The sum exists to stop a wrong number before it reaches a checkout or a warehouse system, because scanners and retail systems run it on every number they read and reject one whose last digit doesn't fit. Since neither 1 nor 3 shares a factor with 10, any single wrong digit changes the result, and two swapped neighbors are caught too unless they differ by exactly five, like 2 and 7. Type 5901234123457 as 5901234123547, for example, and Check a number says the last digit should be 9, although the real mistake is the swapped pair just before it.
Which numbers end in a GS1 check digit
Every GS1 number that identifies a product, a location or a shipment ends in this check digit, and the calculator names the type from the length. These are the lengths it knows, check digit included. Other lengths are still worked out, with a note, which makes a number that has gained or lost a digit easy to spot.
- 8 digits: GTIN-8, in an EAN-8 barcode on small packs.
- 12 digits: GTIN-12, in a UPC-A barcode in the United States and Canada.
- 13 digits: GTIN-13, in an EAN-13 barcode; GLN location numbers and ISBN-13 have this length too.
- 14 digits: GTIN-14, on cartons in an ITF-14 or GS1-128 barcode.
- 17 digits: GSIN, a Global Shipment Identification Number.
- 18 digits: SSCC, the Serial Shipping Container Code on pallets and parcels.
When one number is built from another, the digit has to be worked out again. A carton of the product 9501101530003 can get the GTIN-14 19501101530000: the old check digit is dropped, an indicator digit, here 1, goes in front, and the new check digit comes out as 0. Putting a 1 before the complete EAN-13 gives a number that fails, so type the indicator and the twelve digits into Add a check digit instead.
Books use the same rule, since an ISBN-13 starts with 978 or 979 and is checked exactly like an EAN-13, hyphens and all. The older ten-digit ISBN uses a rule based on 11, where the last character can be an X for ten, and this calculator doesn't work those out. To convert one, type 978 and its first nine digits into Add a check digit, so that 0-306-40615-2 becomes 978-0-306-40615-7.
Checking a whole list from a supplier or spreadsheet
A supplier's item list, an export from an old stock system or numbers typed by hand are better checked all at once. Open A whole list of numbers under the calculator and paste one number per line, or a column copied from a spreadsheet. Each line is handled in the selected mode, so it either gets its check digit and type or is marked correct or wrong, with the corrected number beside the wrong ones. The table shows the first 100 rows under a count of the results, Download CSV gives every row with its type and any problem, and Copy results copies the answers.
Spreadsheets cause most of the trouble, because they treat a product number as an amount. A thirteen-digit EAN can turn into 5.9E+12, which the calculator refuses rather than guesses at, and an 18-digit SSCC can have its last digits rounded off. A UPC that loses its leading 0 still passes the check, since a zero adds nothing to the sum, but the CSV then shows no type and notes that eleven digits isn't a GS1 length. To keep every digit, format the column as Text before pasting into it, and open the CSV through your spreadsheet's import with the number columns set to Text.
Making the barcode, and what the digit doesn't prove
Once the number is complete, Make this barcode opens the barcode generator with the matching type selected and the number filled in. That is EAN-8, UPC-A, EAN-13 or ITF-14 for product and carton numbers, or GS1-128 for an SSCC, which goes in behind the application identifier (00) that tells the reading system a shipping container code follows; for the complete pallet label, with sender, receiver and contents, use the SSCC label generator. A GSIN or an unusual length has no barcode type here, so the button stays off, but Copy number still copies the full number. When Check a number finds a wrong check digit, the copy button offers the corrected number, but Make this barcode stays off: a wrong digit usually means a typo earlier in the number, so check the number against your records and enter it again before you make a barcode from it. For printing, barcode labels covers sticker sheets and label printers, and bulk barcode labels turns a list into one label per row.
A correct check digit only shows that a number agrees with itself. It doesn't prove that the number was licensed from GS1, belongs to your company or is registered to the product in your hand, and anyone can make a passing number by letting this calculator add the last digit. Product numbers for goods sold in shops come from GS1, and the barcode generator explains when you need GS1 numbers.
Turn the number into a barcode
With the check digit worked out, the free barcode generator draws the EAN, UPC, ITF-14 or GS1-128 barcode at a size scanners accept, checks that it scans and puts it on sticker sheets or label printer labels.
Make a barcode →FAQ
Where is the check digit on a printed barcode?
It is the final digit of the number printed in human-readable form, and it is also encoded in the bars, so the scanner reads it together with everything else. On a UPC-A it stands apart in slightly smaller type to the right of the bars, and on an EAN-13 it closes the group of six digits under the right half. On a carton's ITF-14 or a pallet's SSCC label it is simply the last digit of the long number.
Can a check digit be 0?
Yes. When the weighted sum is already a multiple of ten, such as 50, there is nothing to add and the check digit is 0. It can never be 10, because the gap to the next multiple of ten is at most nine, so every GS1 check digit fits in one place.
Does it work for bank card numbers, VINs or other codes?
No. Bank card numbers end in a check digit made with a different mod-10 rule, often called the Luhn algorithm, and vehicle identification numbers use another rule again, so the GS1 sum gives the wrong answer for both. This calculator is for GS1 numbers such as UPC, EAN, GTIN, GLN and SSCC, and for ISBN-13, which follows the same rule.
Why does the result have one digit too many?
You have probably typed the complete number while Add a check digit was selected, so the calculator took your last digit as part of the number and added another one after it. A 13-digit EAN entered that way comes back as a 14-digit GTIN-14, for example. Switch to Check a number to test a number that already ends in its check digit.
Related pages
Updated 9 November 2026