LINKMINT PRACTICAL GUIDE

EAN and UPC Check Digits: Calculation and Validation

A check digit catches many typing errors, but a mathematically valid number does not prove that a product identifier is assigned to you.

Published and reviewed 5 October 2026 · By the LinkMint Editorial Team · How we test and review

EAN-8, UPC-A, EAN-13 and ITF-14 carry fixed-length numeric identifiers. Their final digit is a check digit calculated from the earlier digits. Barcode software can validate that arithmetic before drawing the bars.

The GS1 modulo-10 method

  1. Starting from the rightmost data digit, multiply alternating digits by 3 and 1.
  2. Add all weighted values.
  3. Find the smallest number that brings the total up to a multiple of 10.
  4. That number, from 0 to 9, is the check digit.

Worked EAN-13 example

Take the twelve data digits 400638133393. From the right, alternating weights of 3 and 1 produce a weighted total of 89. The next multiple of ten is 90, so the check digit is 1. The complete EAN-13 value is 4006381333931.

A validator that receives all 13 digits repeats the calculation and checks that the supplied final digit is 1. If you edit any data digit, calculate a new check digit rather than keeping the old one.

Lengths supported by LinkMint

SymbolData digits before checkComplete valueCommon context
EAN-878 digitsSmall retail items when an assigned GTIN-8 is appropriate
UPC-A / GTIN-121112 digitsRetail scanning, especially in North America
EAN-13 / GTIN-131213 digitsRetail trade items in many markets
ITF-14 / GTIN-141314 digitsHigher-level packaging and distribution

What validation does and does not prove

A correct check digit indicates that the digits are internally consistent. It can catch many single-digit mistakes and transpositions. It does not look up a product, confirm ownership, assign a number or guarantee that a retailer will accept the symbol. Product identification starts with the identifier allocated through the relevant GS1 member organisation or another process required by the receiving system.

A pre-print validation checklist

The LinkMint Barcode Generator validates supported lengths and check digits. It intentionally rejects a complete EAN or UPC value with an incorrect final digit.

Primary source: GS1 General Specifications, check digit calculations.