EAN Check.comEAN Check.com

Barcode Identifier

Paste any code and find out what it is. The detector recognises GTIN-8/12/13/14, ISBN-10/13, ISSN, SSCC, GLN, ITF-14, GS1-128 strings, GS1 Digital Link URLs, VIN, IMEI, and ASIN, then routes you to the right tool for the next step.

By The eancheck teamPublished

Detects GTIN, ISBN, ISSN, SSCC, GLN, GS1-128, Digital Link, VIN, IMEI, and ASIN.

What the detector recognises

The identifier covers every common retail, logistics, book, serial, device, and vehicle code in one place. Most of the engines are shared with the other tools on the site, so if your input is recognised here, the follow-up tool you need is already on eancheck.

How the detector identifies your code

There are two steps. First the detector normalises your input so minor formatting choices do not prevent a match. Then it runs a priority-ordered series of tests and the first one that passes becomes the primary identification.

Step 1. Input cleanup

Before any detection happens the tool tidies up the raw paste. The goal is to accept as many real-world formats as possible without silently changing the meaning of your input. Every transformation is recorded and shown in a small strip above the result, so you always see exactly what was tested.

  1. Leading and trailing whitespace is always trimmed.
  2. If the input looks like a URL, the query string and fragment are dropped and the rest is handed to the Digital Link parser without further changes. A trailing ?utm_source=google will not prevent detection.
  3. If the input contains parentheses or an FNC1 marker, it goes to the GS1-128 parser. Scanner output starting with ]C1 is handled automatically.
  4. Otherwise the tool strips ASCII hyphens and internal whitespace, then uppercases the result so a hyphenated ISBN, a spaced VIN, or an ISBN-10 with a lowercase x still matches.
  5. Very long pastes are truncated to 500 characters for detection, so an accidental whole-page paste still gets a useful result.

Step 2. Priority dispatch

The detector runs fast format tests in priority order, most specific first. Whichever test passes first becomes the primary identification; any additional tests your code also passes are recorded as secondary "Also matches" hints. That is how a book barcode shows as ISBN-13 first and GTIN-13 second: both are true, but the ISBN reading is more specific and therefore more useful.

If the input looks likeWe identify it as
URL that parses as a Digital LinkGS1 Digital Link URL, plus the inner GTIN
Parentheses or FNC1 AI stringGS1-128, plus any inner GTIN
17 characters, alphanumeric, no I, O, or QVIN (ISO 3779)
15 digits, Luhn validIMEI
18 digits, GS1 mod-10 validSSCC-18
14 digits, GS1 mod-10 validGTIN-14 (same as ITF-14)
13 digits starting with 978 or 979, mod-10 validISBN-13, plus GTIN-13 as secondary
13 digits with any other prefix, mod-10 validGTIN-13, plus GLN-13 as secondary
12 digits, GS1 mod-10 validGTIN-12, historically UPC-A
10 characters, 9 digits plus 0 to 9 or X, mod-11 validISBN-10
10 characters, alphanumeric, starts with B or fits the ASIN shapeAmazon ASIN
8 characters, 7 digits plus check, ISSN mod-11 validISSN
8 digits, GS1 mod-10 validGTIN-8

Common overlaps and why we pick the primary we pick

Several identifier spaces deliberately overlap. Knowing which reading the detector prefers will save you guessing.

ISBN-13 versus GTIN-13

Every ISBN-13 is also a valid GTIN-13. That is not an accident: when the book industry moved from the old 10-character ISBN to the 13-digit form in 2007, the deliberate goal was to fit inside the existing retail GTIN-13 namespace. The Bookland prefixes 978 and 979 were reserved for books, so any 13-digit EAN starting with those three digits is a book. The detector promotes the ISBN reading because it is the more specific of the two.

GTIN-13 versus GLN-13

A Global Location Number is a GS1 key that identifies a location or legal entity, such as a warehouse, store, or company. It is 13 digits long and uses the same mod-10 check digit as a GTIN-13. There is no way to tell a GLN from a GTIN by the digits alone, so the detector surfaces GTIN-13 as the primary reading (because retail codes vastly outnumber location codes) and lists GLN-13 as a secondary possibility. If you know the context, trust that; the detector is only guessing from the shape.

GTIN-14 versus ITF-14

ITF-14 is not a separate identifier at all. It is a particular way of printing a 14-digit GTIN as an Interleaved 2-of-5 barcode for case-level labeling. The number inside an ITF-14 label is always a GTIN-14, so the detector reports GTIN-14 as the identity and mentions ITF-14 in the description.

ISBN-10 versus ASIN

Amazon uses the 10-character ISBN-10 as the ASIN for every book in its catalogue, so a digit-only 10-character ASIN is almost always also a valid ISBN-10. Non-book ASINs start with B followed by nine alphanumeric characters, which is a shape an ISBN-10 can never take. The detector uses that distinction: a digit-only 10-character input is read as ISBN-10 first and flagged as a possible ASIN only if its format also fits; a B- prefixed input is read as ASIN.

When the detector says it does not know

Not every identifier is on the supported list. National drug codes, music ISMN, country-specific tax numbers, proprietary carton codes, fishing licence numbers, and a long tail of niche identifiers are not covered in v1. When you paste one of these, the detector says so honestly and opens a feedback box instead of guessing.

The feedback box captures the raw input you pasted, the normalised form the tool tested, the list of format tests that were tried, and an optional note from you. That payload is sent straight to the eancheck team inbox, with no database and no storage between the browser and the mail client. If enough people paste the same unsupported shape, that is a tool idea and we will add it. If the email service is unreachable, the box falls back to a prefilled mailto link so nothing is lost.

If you expected a known type and it came back as no match, the most likely cause is a malformed check digit. Try the barcode repair tool (same site), which explores single-character substitutions to find the closest valid GTIN.

Who uses an identifier tool

The detector is built for the moments when you have a number and you do not yet know which system it belongs to.

Warehouse and receiving operations

A pallet arrives with a long code on its label and no paperwork context. Paste the code here; if it is 18 digits it is an SSCC and the receiving team knows to scan the logistic hierarchy; if it is 14 digits it is the case-level GTIN and the team knows to count cases directly.

Publisher and library cataloguing

Publishers get submissions with a mix of ISBN-10 and ISBN-13 values, sometimes hyphenated and sometimes not. The detector accepts any form, reports the canonical identification, and the conversion helpers in the ISBN engine are already in place for the forthcoming dedicated converter tool.

Retail onboarding

When a new supplier sends a product list, half the codes look like GTINs and half look like ASINs. The detector disambiguates them in bulk if you paste them one at a time, and the secondary match list tells you when a code is technically both (for example a digit-only ASIN that is also a valid ISBN-10).

Fleet management

VIN decoding is the obvious use case here, but the hidden value is the check digit validation: a fleet manager can tell from the detector whether a VIN was probably issued in a market that enforces the mod-11 rule (United States and China) or one that does not (Europe, Japan). That is useful when integrating with systems that reject invalid check digits outright.

Frequently asked questions

What is the difference between GTIN-13 and EAN-13?

There is no difference in the underlying number. EAN-13 is the name the original European Article Number standard gave to its 13-digit retail barcode; GS1 later unified all trade item numbers under the GTIN umbrella and renamed EAN-13 to GTIN-13. Same 13 digits, same mod-10 check digit, same scanner output. The detector shows the modern GTIN-13 label but the value is exactly what an old scanner would have called an EAN-13.

Why does my ISBN show as both ISBN-13 and GTIN-13?

ISBN-13 was deliberately designed to be a valid GTIN-13 so that books could share the retail barcode infrastructure. Every ISBN-13 starts with the Bookland prefix 978 or 979 and passes the same mod-10 check that any other GTIN-13 passes. The detector surfaces the most specific interpretation first (ISBN-13) and lists GTIN-13 as a secondary match so you can see the relationship. If you need to look up the book, the ISBN reading is the useful one; if you are integrating with a retail point-of-sale, the GTIN-13 reading is the useful one.

Can the detector tell a GLN apart from a GTIN?

Not from the digits alone. A GLN-13 and a GTIN-13 both have 13 digits and both use the GS1 mod-10 check, so context is the only way to disambiguate them. The detector shows GTIN-13 as the primary interpretation (because that is far more common) and flags GLN-13 as a secondary possibility. If you know you are dealing with a location code, such as a warehouse or a retailer head office, trust the GLN reading; otherwise assume GTIN.

Why does my VIN show as invalid?

The 9th character of a VIN is a check digit computed by transliterating every other character to a number and running a weighted mod-11. Only vehicles sold in the United States and China are legally required to carry a valid check digit, so European and Japanese VINs sometimes do not pass the math. The detector still identifies the string as a VIN (because the shape and character set match ISO 3779) and labels the check as invalid so you know the vehicle was probably not made for the North American or Chinese market. It is not necessarily a fake.

Does the detector store or send what I paste?

No. Every check runs in your browser. There is no API call, no server logging, no analytics payload carrying your input. The only exception is the feedback box on the unknown-code state, which sends exactly what you tell it to: an optional note plus the raw input you paste, only when you click Send. If you never hit Send, nothing leaves the tab.

What if my code should be recognised but is not?

Tell us. The unknown-code card has a small form that sends your input plus a short note straight to the eancheck team. If we see multiple people pasting the same unsupported shape, that is a tool idea and we will add it. The most useful submissions name the code type, the domain it comes from, and whether there is a public spec we can implement against.

Can I paste many codes at once?

The current tool is single-input. A bulk version may follow if there is demand; in the meantime the other bulk tools on the site handle specific types at scale: the Check Digit Calculator validates long GTIN lists, the GS1-128 Parser bulk page handles AI-string catalogues, and the Digital Link Generator bulk page handles resolver URL generation. If your list is a mix of types, the single detector here is the right first stop.

By The eancheck teamPublished

Questions or corrections? Email the eancheck team.