Calculators
GTIN Checksum Calculator
Validate GTIN-8, UPC-A, EAN-13 and GTIN-14 checksums or generate their final check digits in your browser.
Choose the complete GTIN length and whether to validate or generate. Generation requires one fewer digit. Spaces and hyphens are ignored; leading zeros are preserved. This checks arithmetic only, not product registration.
How GTIN check digits work
Choose GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13), or GTIN-14. Validation requires the complete identifier; generation requires its first 7, 11, 12, or 13 digits respectively. Starting at the rightmost payload digit, multiply alternate digits by 3 and 1 and add the products. The check digit is (10 minus the sum modulo 10) modulo 10. For EAN-13 payload 400638133393 the weighted sum is 89, so the check digit is 1 and the complete GTIN is 4006381333931. Spaces and hyphens are ignored and leading zeros are preserved. Invalid checksums show the expected digit without altering your input. All-zero strings can pass this arithmetic check. The calculator does not verify GS1 assignment, prefix eligibility, product authenticity, or barcode scan quality, and does not draw barcodes or expand UPC-E. Input is limited to 100 characters including separators. All calculations stay in your browser.
Frequently Asked Questions
Everything you need to know about this tool, how it works, and privacy.
How do I generate an EAN-13 check digit?
Select GTIN-13 and Generate final check digit. Enter 400638133393 to get check digit 1 and complete identifier 4006381333931.
Which formats are supported?
GTIN-8 (EAN-8), GTIN-12 (UPC-A), GTIN-13 (EAN-13), and GTIN-14 share this weighted modulo-10 calculation. UPC-E expansion is not supported.
Does a valid checksum prove a product is registered?
No. This tool checks arithmetic only. It does not query GS1 records or verify product identity or authenticity.
Are leading zeros preserved?
Yes. Values are processed as digit strings. Spaces and hyphens are removed, but letters, decimal points and other punctuation are rejected.
Is this the same as Luhn?
No. GTIN uses alternating weights of 3 and 1. Luhn doubles alternate digits and subtracts 9 from doubled values greater than 9.