ARZENTIQ
DESIGN & WEB

EAN / UPC Check Digit Calculator

Compute or verify the check digit of EAN-8, EAN-13, UPC-A, GTIN-14 / ITF-14 and SSCC codes in bulk, and expand a UPC-E to UPC-A — the one GS1 modulo-10 rule.

For each line: the code type, the computed check digit and full code (from a body) or a pass/fail with the correct digit (from a full code), and UPC-E expanded — all offline, in bulk.

Example: 400638133393 gets check digit 1 → 4006381333931; 4006381333932 fails (should be 1); UPC-E 123457 expands to 01234500007 + its check digit; an SSCC of 17 digits gets its 18th.

v0.1.0 · last reviewed 20 September 2026
Loading the workspace…
BUILT TO BE UNDERSTOOD

One rule
for every GS1 number.

The modulo-10 rule, how lengths are read, and the UPC-E expansion.

The rule

Take the digits without the check digit, weight them 3, 1, 3, 1 … starting from the right-most, add them up, and the check digit is what brings the sum to a multiple of 10. The same rule covers EAN-8, UPC-A (GTIN-12), EAN-13 (GTIN-13), GTIN-14 / ITF-14 and the 18-digit SSCC — only the length differs.

Bodies and full codes

7, 11 and 17 digits are read as bodies and get a check digit. 8, 12, 13, 14 and 18 digits are read as full codes and verified; because 12 and 13 digits are ambiguous (a full UPC-A or an EAN-13 body; a full EAN-13 or a GTIN-14 body), the page prefers the full-code reading and offers the alternative when the check fails.

UPC-E

A UPC-E is a zero-suppressed UPC-A: the last of its six data digits says where the zeros were removed (0–2, 3, 4 or 5–9 patterns). The page expands it and checks the result. A correct check digit says the digits are consistent, not that the number is assigned; company prefixes and ownership are GS1 matters. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.

SOURCES

Last reviewed 20 September 2026. How results are checked: How we verify.