Recent blog posts

Google category IDs now in API results

Introducing Our MCP Server for AI Integration

DeepSeek AI text generation with product data

New API Call: Similar-Product-Search

Doing GTIN Lookup in JavaScript

Using the EAN-Search API with ChatGPT

Why are some EAN numbers "invalid"?

Python, PHP and Go libraries updated

How do GTIN, EAN & UPC codes relate?

Using VBA to look up EAN barcodes

Product names in different languages

How to search for product categories

Introducing the GraphQL API (Beta)

EAN Prefix Search

EAN prefix 2 and 8-digit EANs

Why are some EAN numbers "invalid"?

19 Dec 2023

Barcodes are not just plain numbers. They contain a checksum so we can verify if it has been mistyped or it is not an EAN barcode but another kind of product number.

The checksum is the last digit in the number. It allows us to catch about 90% of the typing errors. If you are using our API, you can use the verify-checksum function to do this check in your own applications.

This is a purely mathematical process, so we can do this on any barcode, even if we don't know the product details. And since EANs, UPCs or GTINs are all interconnected systems, the same check works on all of them.

If you are a manufacturer and you own a EAN prefix (or number range) for your products, this means you can not assign all possible numbers in that range to your products. You can only use the 10% of the numbers that have a correct checksum for your products. Keep this in mind when buying barcodes to know how large a range you need to obtain.

If you are interested in the mathematical background, this Wikipedia article explains the formula to compute the check digit.


Python, PHP and Go EAN-API libraries updated >


/ / / / / / /
   Login / Register