Skip to main content

Barcode Check Digit Validator

Validate or compute the check digit for UPC-A, EAN-13, EAN-8, ISBN-10 and ISBN-13 codes using the standard GS1 mod-10 and ISBN mod-11 algorithms.

Input

Enter the full code (including its check digit) to validate it, or leave off the last digit to have it computed. Spaces and dashes are stripped automatically; ISBN-10 may end with X.

Output

Result
FormatDigitsCheck DigitResult
No data yet
Was this helpful?

Guides

Every retail barcode and book ISBN ends in a check digit — a single number computed from the digits before it, whose only job is to catch typos and scanner misreads. This tool validates that check digit for UPC-A, EAN-13, EAN-8, ISBN-10 and ISBN-13 codes, or computes the missing digit if you paste in a code that doesn't have one yet.

How it works

Pick a format, then enter the code in the Barcode / ISBN Digits field. Spaces, dashes and dots are stripped automatically, so you can paste a code exactly as it's printed (e.g. 978-0-306-40615-7). The tool runs the moment you stop typing and shows the format, the digits, the check digit, and whether the code is valid.

  • Paste the full code (12 digits for UPC-A, 13 for EAN-13/ISBN-13, 8 for EAN-8, 10 for ISBN-10) to validate it — the result column reports "Valid" or "Invalid (found N)".
  • Leave off the last digit (11/12/7/9 digits respectively) to have the tool compute it for you — the result column reports "Computed" and the digits column shows the completed code.

The two algorithms

UPC-A, EAN-13, EAN-8 and ISBN-13 all use the same GS1 "mod 10" weighting, since ISBN-13 is just an EAN-13 with a 978 or 979 prefix. Starting from the rightmost payload digit (the one just before the check digit) and moving left, digits alternate weights of ×3, ×1, ×3, ×1, and so on. Sum every weighted digit, then the check digit is (10 - sum mod 10) mod 10.

ISBN-10 uses a different "mod 11" scheme, predating the GS1 standard. The first 9 digits are weighted 10, 9, 8, ... down to 2, from left to right. Sum the products, then the check value is (11 - sum mod 11) mod 11. When that value is 10, it's written as the letter X rather than two digits — which is why ISBN-10 codes are the only format here that can end in a non-numeric character.

FAQ

Why doesn't my barcode validate even though the store scanner reads it fine? Double-check you selected the right format — an 8-digit EAN-8 and an 8-digit UPC-E use different rules, and this tool only supports the formats listed above. A single mistyped digit will also fail validation; that's exactly the kind of error the check digit exists to catch.

Can I use this for GTIN-14 or UPC-E codes? Not directly. GTIN-14 uses the identical mod-10 algorithm shown above (just over 13 payload digits instead of 11 or 12) if you need to verify one by hand. UPC-E is a compressed 8-digit representation of a UPC-A code and needs to be expanded first — outside the scope of this tool.

Is an ISBN-13 the same as an EAN-13? Yes, mathematically. Every ISBN-13 is a valid EAN-13 (with a 978 or 979 prefix); this tool applies the exact same mod-10 check either way, so selecting "ISBN-13" vs "EAN-13" only changes the label, not the math.

Privacy

Everything runs locally in your browser — the barcode digits you enter are never sent to a server or logged anywhere.

barcodeupceanisbncheck digitvalidatorgs1

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/barcode-check-digit-validator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "barcodeFormat": "upca",
    "digits": "036000291452"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `barcode-check-digit-validator` tool (Barcode Check Digit Validator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.