FREE / NO SIGNUP / RUNS IN YOUR BROWSER

Barcode check digit calculator

Calculate or verify a GS1 check digit for EAN-13, EAN-8, UPC-A, ITF-14, SSCC-18 and GLN. Free, instant, and nothing you type leaves your browser.

FREE PLAN · NO CREDIT CARD · WINDOWS / MAC / ANDROID / WEB
SMALL BUSINESSLAPTOP, TABLET, PRINTER
Barcode check digit calculator — LabelInn
Native printer languagesZPL, TSPL, TPCL, ESC/Label
No driver to installUSB, network or Bluetooth
Every platformWindows, macOS, Android, web
Free to startNo credit card, 14-day Pro trial

Everything on this page is calculated in your browser. No value you type is sent to LabelInn or anyone else.

SHOW THE WORKING

The arithmetic, digit by digit

The calculator above gives the answer. This one shows how it got there, so you can check a number on paper or explain it to a supplier.

Four real numbers, worked by hand

EAN-13 barcode of 5901234123457

EAN-13: 590123412345 becomes 5901234123457

5x1 + 9x3 + 0x1 + 1x3 + 2x1 + 3x3 + 4x1 + 1x3 + 2x1 + 3x3 + 4x1 + 5x3

5 + 27 + 0 + 3 + 2 + 9 + 4 + 3 + 2 + 9 + 4 + 15 = 83

90 - 83 = 7. The weight of the rightmost data digit is always 3, so the same rule works for 7, 11, 12, 13 or 17 digits.

UPC-A barcode of 036000291452

UPC-A: 03600029145 becomes 036000291452

0x3 + 3x1 + 6x3 + 0x1 + 0x3 + 0x1 + 2x3 + 9x1 + 1x3 + 4x1 + 5x3

0 + 3 + 18 + 0 + 0 + 0 + 6 + 9 + 3 + 4 + 15 = 58

60 - 58 = 2. The weight of the rightmost data digit is always 3, so the same rule works for 7, 11, 12, 13 or 17 digits.

EAN-8 barcode of 96385074

EAN-8: 9638507 becomes 96385074

9x3 + 6x1 + 3x3 + 8x1 + 5x3 + 0x1 + 7x3

27 + 6 + 9 + 8 + 15 + 0 + 21 = 86

90 - 86 = 4. The weight of the rightmost data digit is always 3, so the same rule works for 7, 11, 12, 13 or 17 digits.

SSCC-18 306141411234567891 drawn in GS1-128

SSCC-18: 30614141123456789 becomes 306141411234567891

3x3 + 0x1 + 6x3 + 1x1 + 4x3 + 1x1 + 4x3 + 1x1 + 1x3 + 2x1 + 3x3 + 4x1 + 5x3 + 6x1 + 7x3 + 8x1 + 9x3

9 + 0 + 18 + 1 + 12 + 1 + 12 + 1 + 3 + 2 + 9 + 4 + 15 + 6 + 21 + 8 + 27 = 149

150 - 149 = 1. The weight of the rightmost data digit is always 3, so the same rule works for 7, 11, 12, 13 or 17 digits.

The barcode next to each number is rendered by bwip-js, which recomputes the check digit itself and refuses a number where it does not match: the figures above are therefore independently confirmed, not just typed.

01

How to use it

  1. Pick the format you are working in — the digit count changes with it.
  2. Type the digits. Spaces and dashes are ignored.
  3. Enter one digit short of the full length to calculate the check digit, or the full length to verify it.

02

When you need this

  • A supplier sent a GTIN and you want to know it is transcribable before it reaches a label.
  • You are allocating SSCC-18 pallet numbers from a company prefix and need each check digit.
  • A scanner rejects a printed barcode and you need to rule out a wrong check digit before blaming the printer.
  • A spreadsheet of 2,000 supplier GTINs has to be checked before import: use the bulk calculator.

ANY PRINTER

Design it, bind your data, print on the printer you already own.

Zebra, TSC, Toshiba, Epson and more — over USB, network or Bluetooth, with no driver to install.

LabelInn on a desktop, a tablet and a phone

WHAT A CHECK DIGIT CATCHES

What it proves and what it does not

A modulo-10 check digit is a cheap safety net, not encryption. The weights 3 and 1 were chosen so that most human typing errors change the sum. The single-digit and swapped-neighbour results below hold for every length and were checked by brute force over all digit pairs, not just argued:

ErrorCaught?Why
One digit is wrong (5 typed as 6)AlwaysThe sum moves by 1 or 3 times the change, never by a multiple of ten.
Two neighbouring digits swapped (59 typed as 95)Unless they differ by exactly 5The sum moves by 2 x the difference. Pairs 0-5, 1-6, 2-7, 3-8 and 4-9 move it by a multiple of ten and slip through: 10 of the 90 possible ordered swaps.
Two digits swapped with one digit between themNeverBoth positions carry the same weight, so the sum does not change.
Two or more unrelated digits wrongAbout 9 times in 10The sum has a 1 in 10 chance of landing on the same remainder by accident.
A digit dropped or addedUsuallyThe length is wrong first, so the number is rejected before the arithmetic. If it is not, the weights shift and the sum changes.

So a valid check digit tells you the number is probably typed correctly. It does not tell you the number belongs to your product: that comes from the GS1 company prefix that issued it.

Why a number your system calls invalid is usually not a maths problem

  • Excel dropped the leading zero. A UPC-A such as 036000291452 stored as a number becomes 36000291452, which is 11 digits and fails every length check. Format the column as Text before you paste.
  • Excel rounded a long number. A spreadsheet number cell keeps 15 significant digits, so an 18-digit SSCC is silently turned into the same digits followed by zeros and its check digit no longer matches. Keep SSCCs in a text column.
  • The check digit was added twice. Entering 13 digits where 12 are expected makes a different number, and entering the full 13-digit EAN-13 as a payload gives a wrong 14-digit result. Use the Verify mode to tell which you have.
  • UPC-E is not EAN-8. Both are 8 digits, but a UPC-E check digit is calculated on the 12-digit UPC-A it expands to. Do not run the 8 digits through an EAN-8 check.
  • The check digit was typed by hand. A plausible digit that is not the computed one passes your eye and fails the scanner. Let a tool add it.

UPC, EAN AND GTIN

Convert between GTIN-12, GTIN-13 and GTIN-14

They are the same product number written at different lengths. Padding with zeros keeps the check digit; only a new packaging level needs a new one.

The rule behind it: a UPC-A is an EAN-13 with a leading 0, so GTIN-12 036000291452 is GTIN-13 0036000291452 and GTIN-14 00036000291452, all ending in 2. A GTIN-14 for a case is different: it takes an indicator digit 1 to 8, then the first 12 digits of the item's GTIN-13 without its check digit, then a new check digit worked out over those 13 digits.

BULK

Bulk check digit calculator

Paste one number per line, up to 5,000 lines. Nothing leaves your browser.

Lengths that GS1 uses are 7, 11, 12, 13 and 17 data digits (8, 12, 13, 14 and 18 with the check digit). Any other length is still calculated but marked unusual, so a stray extra digit does not go unnoticed. To turn the results into printed labels, bind the column to a barcode in the LabelInn Excel label printing flow.

QUESTIONS / FAQ

Frequently asked questions

What is a check digit?

The last digit of a GS1 number, derived from the ones before it. A scanner recalculates it and rejects the read if it does not match. It catches every single-digit error and most swapped neighbours, but not all of them: see the error table below.

Which formats does this cover?

EAN-13, EAN-8, UPC-A, ITF-14 and GLN use 13, 8, 12, 14 and 13 digits respectively, and SSCC-18 uses 18. All six use the same modulo-10 weighting.

How do I calculate a UPC check digit?

Number the 11 data digits from the right, multiply the rightmost by 3, the next by 1, then 3, 1 and so on, add everything up and subtract the sum from the next multiple of ten. For 03600029145 the sum is 58, so the check digit is 2 and the full UPC-A is 036000291452. Pick UPC-A in the calculator above and enter the 11 digits to check it.

What is the check digit on a UPC code?

It is the twelfth and last digit of a UPC-A. It is not part of the product identity: it only lets the scanner confirm that the other 11 digits were read correctly.

Is the check digit the same for UPC-A and EAN-13?

Yes. A UPC-A is an EAN-13 with a leading 0, and that leading zero adds nothing to the sum, so 036000291452 and 0036000291452 end in the same check digit. This is how a GTIN-12 becomes a GTIN-13.

How do I validate an SSCC?

An SSCC has 18 digits: the extension digit, your GS1 company prefix and a serial reference make up the first 17, and the 18th is the check digit. Choose SSCC-18, enter all 18 digits and the calculator compares the last digit with the one it computes. Keep the SSCC in a text cell if it comes from Excel: a number cell silently rounds anything past 15 digits.

Does ISBN-13 use the same calculation?

Yes. An ISBN-13 is an EAN-13 that starts with 978 or 979, so pick EAN-13. Older ISBN-10 numbers use a different modulo-11 rule and can end in X, which this calculator does not handle.

Can I calculate many check digits at once?

Yes: paste one number per line into the bulk calculator on this page and copy the result as CSV. It runs in your browser like the single calculator.

Does my number get uploaded?

No. The calculation runs in your browser, so the digits never leave your computer.

NEXT STEP / LABELINN

Do this on real labels

The calculators answer one number at a time. LabelInn applies the same maths across a whole design, a whole spreadsheet and a whole print run — and sends it to the printer without a driver. · Free · No signup · Runs in your browser

Start free →