Skip to main content
Calcimator

UPC Check Digit

UPC-A check digit from the first 11 digits (positions 1–11, left to right).

About this calculator

Every UPC-A barcode's final digit isn't part of the product identity at all — it's a check digit, mathematically derived from the 11 digits before it specifically so a scanner can catch a misread or transcription error before it ever reaches a point-of-sale system or inventory database. This calculator applies the standard UPC-A modulo-10 algorithm exactly as published in GS1's General Specifications, the barcode industry's own governing standard: multiply every digit in an odd position by 3, add every digit in an even position at its plain value, sum the whole thing, and the check digit is whatever value, when added to that sum, brings the total to the next multiple of 10.

This is the same core weighting scheme used across most retail and product barcode standards, including EAN-13 and the ISBN-13 codes now printed on virtually every book, though EAN-13 and ISBN-13 apply it across 12 data digits rather than UPC-A's 11, since they carry one more digit of product identification before the check digit; older 10-digit ISBNs use an entirely different modulo-11 scheme predating the now-standard 13-digit format. If you type any 11 digits and get a check digit back that doesn't match what's actually printed on a real product, that's the algorithm doing exactly its job — it means either a digit was mistyped somewhere along the way, or the barcode itself was generated incorrectly and would fail a genuine scanner too.

Inputs

Results

Check digit

2

Weighted sum78

Figures current as of 2026. Source: GS1 General Specifications — GTIN Check Digit Calculation

How to Use This Calculator
  1. Enter the first 11 digits of a UPC-A barcode, one per field.
  2. The calculator computes the weighted sum using the modulo-10 algorithm.
  3. Read the 12th check digit in the output.
  4. Use this to verify or generate valid UPC-A barcodes for product labeling.

Recommended for this calculation

We may earn a commission if you sign up through these links.

Anker

Never run out of battery mid-project again

Anker PowerCore 10000 Portable Charger

See on Amazon
TP-Link

Fast, reliable WiFi 6 for every device in the house

TP-Link Archer AX21 AX1800 WiFi 6 Router

See on Amazon
Raspberry Pi

A full computer small enough for any project

Raspberry Pi 5, 8GB RAM

See on Amazon

Anker: As an Amazon Associate I earn from qualifying purchases.

TP-Link: As an Amazon Associate I earn from qualifying purchases.

Raspberry Pi: As an Amazon Associate I earn from qualifying purchases.

How the result changes with Digit 3

Digit 3Check digit
0.90
3.151
5.855
8.16

What each input means

Digit 1
First digit (often product type).
Digit 2
Manufacturer code.
Digit 3
Third digit of the manufacturer code.
Digit 4
Fourth digit of the manufacturer code.
Digit 5
Fifth digit of the manufacturer code.
Digit 6
Sixth digit (start of product code).
Digit 7
Seventh digit of the product code.
Digit 8
Eighth digit of the product code.
Digit 9
Ninth digit of the product code.
Digit 10
Tenth digit of the product code.
Digit 11
Last data digit before check.

How this is calculated

Formula

Check Digit = (10 − (Σ(odd positions × 3 + even positions) mod 10)) mod 10

Figures and sources

Engine last updated . Checked against 2 independently-derived tests how we verify calculators.

Frequently Asked Questions

Why does the algorithm treat odd-position and even-position digits differently?

Weighting alternating digits differently — tripling the odd positions while leaving even positions at their plain value — makes the check digit sensitive to far more types of data-entry errors than a simple unweighted sum would catch, including the surprisingly common mistake of transposing two adjacent digits, which an unweighted checksum can miss entirely. This weighted approach is the deliberate, well-established design specified in GS1's own General Specifications, the barcode industry's governing standards document, and shared across most modern barcode check-digit standards, not an arbitrary rule.

Does this calculator work for EAN-13 or ISBN-13 barcodes too?

The underlying weighted modulo-10 math is the same family of algorithm EAN-13 and ISBN-13 use, but those formats carry 12 data digits before their check digit rather than UPC-A's 11, so this specific 11-digit calculator isn't set up to directly compute a 13-digit code's check digit. A UPC-A code can be converted to EAN-13 by prefixing a zero, which does produce a valid EAN-13 with the identical check digit, but that's a different operation from entering 12 independent EAN-13 data digits here.

What does it mean if I compute a check digit that doesn't match what's printed on a real product?

It means either you've mistyped one of the 11 digits you're entering, or — far less commonly — the barcode itself was generated or printed incorrectly, since a genuinely valid UPC-A code will always produce a check digit matching what's printed as its 12th digit. This mismatch-detection is the entire purpose of a check digit: it's designed to catch exactly this kind of transcription error before a scan or manual entry corrupts a database record.

Why does old-format ISBN-10 use a completely different check digit method?

ISBN-10 predates the now-standard 13-digit format and uses a modulo-11 weighting scheme with weights descending from 10 down to 2, occasionally producing an 'X' as the check character to represent the value 10, which the modulo-10 UPC/EAN family of algorithms never needs since it never produces a check value above 9. Publishing fully transitioned to 13-digit ISBNs, sharing the EAN-13 barcode format, specifically so books could use the same scanning infrastructure as every other retail product.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Technology & Computing.