Check Digit Calculator: GTIN, UPC, EAN and ITF-14

Free tool · Google Merchant Center, Amazon, Walmart and eBay feeds

A GTIN check digit calculator that also tells you why Merchant Center rejected the number

Work out or verify the check digit on a UPC, EAN, ITF-14, SSCC or ISBN in one step, and see the modulo 10 arithmetic applied to your own number rather than a textbook example. Paste a whole feed column and every row comes back with a status: valid, bad check digit, wrong length, restricted prefix, coupon prefix, duplicate or not numeric, with a suggested fix and a CSV you can hand to a developer. The tool also resolves the GS1 prefix to the member organisation that issued it, converts ISBN-10 to the ISBN-13 that Merchant Center actually accepts, and pads between UPC-A, EAN-13 and GTIN-14. Everything runs in your browser. Your product data never leaves the machine.

Verified 15 Sep 2026
GTIN-8, 12, 13, 14, SSCC-18
Bulk validation with CSV export
Merchant Center error decoder
Nothing is uploaded


Enter the complete code to verify it, or leave the last digit off to calculate it. Spaces and dashes are ignored.

Enter a number above. Results update as you type.

Everything runs in your browser. No code you paste is sent anywhere, stored or logged, and the CSV is generated locally.

What is a check digit, and how is it calculated?

The check digit is the last digit of a GTIN and it is not part of the product number. It is arithmetic added on the end so that a scanner, a spreadsheet or a feed processor can catch a mistyped or misread barcode instead of quietly selling the wrong item. GS1 calls it a modulo 10 calculation, and it works like this:

  1. Write out the code without its check digit.
  2. Starting from the right hand digit of that body, multiply alternate digits by 3 and by 1, beginning with 3.
  3. Add all the results together.
  4. Round the total up to the next multiple of ten.
  5. Subtract the total from that multiple. What is left is the check digit.

Using the worked example GS1 publishes: the body 629104150021 gives a weighted sum of 57. The next multiple of ten is 60. 60 minus 57 is 3, so the full GTIN-13 is 6291041500213. Tab one shows this line by line for whatever number you enter, rather than for a fixed example.

Why does one wrong digit always fail the check?

Because the alternating weights mean any single wrong digit changes the total by an amount that cannot bring it back to a multiple of ten. Swapping two adjacent digits usually fails too, since they carry different weights. That is the whole point: it catches the two mistakes humans actually make when typing barcodes.

Does every GS1 number have a check digit?

Every fixed length numeric GS1 key does: GTIN-8, GTIN-12, GTIN-13, GTIN-14, GLN, SSCC-18 and GSIN-17 all use the same modulo 10 method. A few keys do not carry one, including CPID and GIAI, and the Global Model Number uses check characters rather than a check digit.

What is the difference between a GTIN, a UPC and an EAN?

GTIN is the umbrella term. UPC and EAN are the older regional names for two of its lengths.

FormatDigitsAlso calledUsed for
GTIN-88EAN-8Very small items where a full barcode will not fit, such as chewing gum
GTIN-1212UPC-A, UPCRetail point of sale, mainly North America
GTIN-1313EAN-13, JAN, ISBN-13Retail point of sale internationally, including books
GTIN-1414ITF-14, case code, SCC-14, DUN-14Wholesale cartons and cases, not retail checkout
SSCC-1818Serial Shipping Container CodeIdentifying a specific pallet or logistics unit, not a product

They are all the same number in different clothes. A 12 digit UPC becomes a GTIN-13 by adding a leading zero, and a GTIN-14 by adding two. The check digit never changes, because a leading zero contributes nothing to the weighted sum. Google Merchant Center accepts 8, 12, 13 and 14 digit values and ignores spaces and dashes.

What is the indicator digit on a GTIN-14?

The first digit. Zero means the same item as the retail unit, just zero padded. One to eight identify packaging levels, so an inner carton and an outer case each get their own GTIN-14 with a different indicator. Nine is reserved for variable measure trade items. You cannot simply strip the first digit off a GTIN-14 to get the retail EAN unless that digit is a zero.

Does the first part of a barcode show the country of origin?

No, and this is the most widely repeated barcode myth on the internet. The first three digits are the GS1 prefix, and they identify the GS1 member organisation the brand owner licensed their company prefix from. A company registered with GS1 UK can manufacture everywhere, and frequently does. Prefixes 300 to 379 are administered by GS1 France, 060 to 139 by GS1 US, and a 12 digit GTIN has an implied leading zero, so 614141234561 has the GS1 prefix 061. Tab one resolves the prefix for you and says which organisation issued it, with that caveat attached.

How do I fix GTIN errors in Google Merchant Center?

Google reports five different GTIN problems and the wording tells you exactly what went wrong. This is the decoder.

What Merchant Center saysWhat it meansThe fix
Invalid value [gtin]The value is not a usable GTIN: non numeric characters, wrong formatting, or a failed checksumRun the code through tab one. If the check digit is wrong, correct it. If it came from a spreadsheet, check for stripped leading zeros. Fix in Products then Needs attention, or download the CSV, edit and reupload
Invalid GTIN in unsupported formatNon numeric characters, the wrong number of digits, or a failed check digit validationGTINs are 8, 12, 13 or 14 digits. Eleven digits is almost always a UPC that lost its leading zero
Restricted GTIN, or Unsupported value (restricted) [gtin]The code starts with 2, 02 or 04, which are reserved ranges for in-store and variable measure useThese are not valid public GTINs. Leave the attribute blank and set identifier_exists to false rather than inventing a number
Incorrect GTINThe number is valid but belongs to a different product. Usually a reused barcodeGive each sellable variant its own GTIN and group them with item_group_id. A multipack needs its own GTIN too
Limited performance due to missing value [gtin]The product has no GTIN in the feed at allCheck the value actually reached Merchant Center under final attributes, not just that it exists in your store. This is a warning rather than a disapproval, but products without identifiers get less visibility

Two practical notes. Changes take roughly 24 to 72 hours to show in Merchant Center, and product rating re-matching can take 7 to 10 days, so do not keep re-editing while you wait. And Merchant Center will only show the error, not the reason: run the feed column through tab two and you get the reason for every row in one pass.

Why does my barcode show in Shopify but not in Merchant Center?

Because storing a barcode on the variant and transmitting it to Google are two different things. This has been a long running complaint: merchants fill the barcode field, see it in the product admin, and still get missing GTIN warnings across thousands of SKUs. Work through these in order.

  1. Open the product in Merchant Center and look at the final attributes, which is what Google actually received, not what your store holds.
  2. Check that custom products is set to false under the Google sales channel, since marking items as custom tells Google there is no identifier.
  3. Check identifier_exists. If it is true, then brand plus GTIN or MPN all have to be populated.
  4. If the barcodes still are not transmitting, use a feed app or a supplemental feed to send the gtin column directly rather than relying on the default channel integration.

What is identifier_exists and when should I set it to false?

It tells Google whether the product has manufacturer identifiers at all. Set it to false for genuinely custom or handmade goods, vintage items, your own private label products that were never assigned a GTIN, and anything with no brand. Do not set it to false just to silence a warning on a branded product that does have a barcode, because that removes the product from comparisons where the identifier is what matches it.

Can I use one GTIN across variants or for a multipack?

No. Every sellable variant needs its own GTIN, and a two pack is a different trade item from a single. Reusing one number across sizes and colours is one of the most common reasons a feed gets flagged, and it is the failure that bulk validation catches fastest. Tab two flags duplicates across your whole pasted list and tells you which row the number first appeared on.

My GTIN passes the check digit test. Why is it still rejected?

A valid check digit proves the arithmetic, nothing more. Four things can still be wrong with a mathematically perfect number.

  1. It is not registered. Anyone can generate a valid GTIN in ten seconds. Registration is a separate thing, and you can look a number up in Verified by GS1 or GEPIR to see whether it resolves to a real brand.
  2. It belongs to somebody else. Barcodes bought cheaply from resellers were originally licensed to a company that no longer exists, so the GS1 record shows the wrong brand. Amazon rejects these outright and Google can flag a brand mismatch.
  3. It is in a restricted or coupon range. Prefixes 2, 02 and 04 are restricted, and 05, 98 and 99 are coupon ranges. Both pass the checksum and both get rejected.
  4. It is already on another product in your own feed. Valid, registered, and still wrong for this item.

How do I check whether a barcode is registered?

Look it up in Verified by GS1, which is the global registry of licensed numbers, or in GEPIR, which returns the licensee for a given prefix. Neither is a lookup of the specific product, but both tell you whether the number belongs to the company you think it does.

Why do my UPCs keep losing a digit?

A number formatted spreadsheet column. Excel and Google Sheets strip leading zeros and, above fifteen digits, switch to scientific notation. A 12 digit UPC starting with a zero becomes 11 digits, which is not a valid GTIN length and which Merchant Center rejects as an unsupported format. Format the column as text before you export, or re-pad it in tab three. If you see a lot of 11 digit values in a feed, this is almost always the cause rather than genuinely bad data.

How do I convert ISBN-10 to ISBN-13?

Google Merchant Center accepts ISBN-13 but not ISBN-10, so books listed with the older ten character number have to be converted. It is not a reformat, it is a recalculation.

Take the first 9 digits of the ISBN-10, drop its check character
Prefix them with 978
Calculate a fresh modulo 10 check digit over those 12 digits

The X you sometimes see at the end of an ISBN-10 stands for ten, because ISBN-10 used a modulo 11 scheme that needed an eleventh symbol. ISBN-13 uses the standard GTIN modulo 10 method, so that character never carries over. Tab three does the conversion and shows the arithmetic.

GTIN check digit calculator FAQs

How is a GTIN check digit calculated?

Multiply alternate digits of the body by 3 and 1, starting with 3 on the digit immediately to the left of the check digit position. Add the results, round the total up to the next multiple of ten, and subtract. The remainder is the check digit. The same modulo 10 method applies to GTIN-8, GTIN-12, GTIN-13, GTIN-14, GLN and SSCC-18.

Is the check digit always the last digit?

Yes. In every fixed length GS1 key the check digit is the rightmost digit, and it is calculated from all the digits to its left.

Does a valid check digit mean the GTIN is real?

No. It only proves the number is internally consistent. Anyone can generate a valid GTIN, and a valid number can still belong to another company or be in a restricted range. Check registration in Verified by GS1 or GEPIR.

My GTIN is 11 digits. Is it invalid?

As it stands, yes: valid lengths are 8, 12, 13 and 14. An 11 digit value is almost always a 12 digit UPC-A whose leading zero was stripped by a spreadsheet. Add the zero back and check it again. Tab three does the padding for you.

What is a restricted GTIN?

A code in a range GS1 reserved for in-store and variable measure use rather than public trade. Anything starting 2, 02 or 04 falls in that range, and Google rejects it even though the checksum passes. Prefixes 05, 98 and 99 are coupon ranges and are also not accepted.

Does the barcode prefix tell me where a product was made?

No. The first three digits identify the GS1 member organisation the brand owner registered with, not the country of manufacture. Headquarters and factories are often in different countries, so treating the prefix as a country of origin marker gives the wrong answer routinely.

How do I convert a UPC to an EAN-13 or a GTIN-14?

Add leading zeros. A 12 digit UPC-A becomes a 13 digit EAN by adding one zero and a 14 digit ITF-14 by adding two. The check digit does not change, because zeros add nothing to the weighted sum. Walmart generally wants the 14 digit zero padded form, Google accepts any of the four lengths.

How do I convert an ISBN-10 to an ISBN-13?

Take the first nine digits, prefix them with 978, then calculate a new modulo 10 check digit across those twelve digits. The old check character, which may be an X, is discarded. Google Merchant Center requires the ISBN-13 form.

Can I use the same GTIN for a product and a two pack?

No. A multipack is a different trade item and needs its own GTIN. The same applies to every size and colour variant. Group them with item_group_id instead, and use the multipack attribute where relevant.

How many barcodes can I validate at once?

Thousands. The whole list is processed by your browser, so the limit is your machine rather than a server quota. The results table shows the first 300 rows for readability and the CSV download contains every row.

Is my product data sent to a server?

No. The calculation, the bulk validation and the CSV are all generated in your browser. Nothing you paste is uploaded, stored or logged. Close the tab and it is gone.

Can I buy UPC codes from a reseller instead of GS1?

You can, and it regularly causes problems. Resold barcodes were licensed to a different company, so the GS1 record shows the wrong brand owner. Amazon treats these as non-compliant and Google can flag a brand mismatch. Licensing your own prefix from GS1 avoids the whole category of problem.

Feed still disapproved after you have fixed the GTINs?

Send us the feed or Merchant Center access and we will tell you exactly which products are failing, why, and what the developer needs to change. We do this on client feeds every week, and GTIN problems are rarely the only thing an audit turns up.

No obligation. If the feed is clean, we will say so.

Scroll to Top