barcodebarcode-scannerisbnean-13

Are ISBN-10 barcodes a subset of a standard, the way ISBN-13 is a subset of EAN-13?


Are legacy ISBN-10 barcode symbols an instance of the EAN-13 standard in the same way that modern ISBN-13 barcodes are?

Background:

I'm programming an ISBN barcode scanner using "Expo Camera (Next)" plugin for a React-Native (expo) project. I need to tell it what type of barcodes to look for, from a list given at https://docs.expo.dev/versions/latest/sdk/camera-next/#barcodetype.

The relevant text is reproduced here:

Acceptable values are: aztec | ean13 | ean8 | qr | pdf417 | upc_e | datamatrix | code39 | code93 | itf14 | codabar | code128 | upc_a

So, I'm pretty sure on using ean13 for the newer ISBN codes, but this particular project will actually lean towards older books which will have ISBN-10 codes and I'm not sure if one of these other options is required for that.


Solution

  • ISBN refers to the number system administrated by the ISBN International Agency, that is used to uniquely identify books. Strictly speaking, the term does not directly relate to the barcodes that encode an instance of an ISBN numbers on the product itself, however the term is regularly used in this way in general parlance.

    The standardisation of the ISBN in the 1970's precedes the use of barcode symbols on books, which only started in the 1980's. Legacy 10-digit ISBNs ("ISBN-10") were represented using the EAN-13 symbology (adapted so that the human-readable ISBN text is typically presented directly above the barcode), as are modern 13-digit ISBNs.

    Irrespective of the format of the ISBN number, for Point of Sale purposes it is converted to a 13-digit number that is represented by the EAN-13 symbol. This number is encoded within the bars and spaces of the barcode, and is presented as-is at the bottom of the symbol.

    The legacy 10-digit ISBN syntax consisted of a group identifier, publisher code, item number and check character, separated by dashes, e.g. "3-16-148410-X". Any ten-digit ISBN should be converted to the modern 13-digit format by prefixing the characters "978" (the "prefix element"), followed by a dash, and recalculating the check character using a scheme that is equivalent to the EAN-13 check digit. For this example, the modernised ISBN is "978-3-16-148410-0".

    Modern ISBN assignments include the prefix element at point of issuance. Additional prefix elements (such as "979") are made available as necessary to extend the permitted range of ISBN numbers.

    The 13 digits from the ISBN number (or the legacy ISBN converted into 13-digit format) are exactly what is encoded in the EAN-13 barcode symbol. A scanner will return this 13-digit number when the barcode symbol is scanned, irrespective of whether it was derived from a 10- or 13-digit ISBN. Indeed, the EAN-13 data itself does not contain sufficient information to recover the precise format of the original ISBN since the provenance is not encoded (legacy versus modern), nor is the position of the dashes encoded within the symbol. Only the 13 digits are relevant for product lookup purposes at P.o.S.