1. Your product list
CSV, TSV, semicolon-separated, or one code per line. The barcode column is found from its header (gtin, upc, ean, barcode, isbn) or by which column looks most like codes.
Choose a file or paste the text, then click Check list.
Result
Fixed file
The rules, and what they leave out
- Check digit: digits weighted 3,1,3,1 from the right, total a multiple of 10. Covers GTIN-8, UPC-A, EAN-13 and GTIN-14. A single adjacent swap that would make a bad code valid is suggested, never applied.
- Lost leading zeros: a 7, 11 or 13-digit number whose zero-padded form has a valid check digit is restored. A number that does not validate is left alone and flagged.
- Scientific notation:
4.006381333931E+12is expanded when the check digit confirms it. When trailing digits were rounded away, the row is an error: re-export from the source with the column as text. - Cleaned automatically: trailing
.0, spaces and hyphens, a leading apostrophe, Excel's="…"wrapper, GS1 Digital Link URLs (https://id.gs1.org/01/…), the(01)application identifier and scanner prefixes like]E0unwrapped (the check digit is still tested), and ISBN-10 converted to ISBN-13. Optionally every valid code is rewritten as 12, 13 or 14 digits (padding zeros never change the check digit; a code that would lose a significant digit is left alone and named). - Warned: duplicates (a UPC and its EAN-13 form count as the same code), blank cells, placeholders such as 000000000000 or 111111111111, GS1 reserved prefixes (02, 04, 05, 2xx, 981-985, 99), mixed lengths.
- Not checked: whether GS1 issued the code to you, whether it matches the product, whether a marketplace accepts it, category-specific rules, and other barcode types. Read from memory of public GS1 specifications; confirm against current documentation.
Common questions
Why does Excel turn my barcodes into 8.9E+11 and drop leading zeros?
Excel treats a column of long digit strings as numbers. It rounds anything past 15 digits, shows long numbers in scientific notation, and drops leading zeros, so a UPC like 012345678905 becomes 12345678905. If the file was saved after that happened, the zeros can often be restored (the check digit confirms it) but digits lost to scientific notation cannot. This tool restores what it can prove and says which rows it cannot.
How is a GTIN check digit calculated?
Starting from the digit next to the check digit and moving left, multiply the digits alternately by 3 and 1, add them up, and the check digit is whatever brings the total to a multiple of 10. The same rule covers GTIN-8, UPC-A (12), EAN-13 and GTIN-14. A code that fails it was mistyped, truncated or made up.
Can the tool tell me whether a barcode belongs to my product?
No. A valid check digit only proves the number is well formed. Whether GS1 issued it to you, and whether it is registered to the product you are selling, is checked against GS1's own records, which this page does not query.
Why are codes starting with 2 or 04 flagged?
GS1 reserves some prefixes for in-store use, internal numbering and coupons. They are well formed but are not meant to identify a product across retailers, and marketplaces commonly reject them.
Is my product list uploaded anywhere?
No. The page reads the file in your browser and a test in the code asserts there are no network calls.
What does this not check?
Whether a code is registered with GS1 or matches the product, brand or title, whether a marketplace will accept it, category-specific rules (for example books and ISBN registrations), or codes in other symbologies such as QR or Code 128. It reads one column of one file.