Barcodes - Checksums
What is this?
Many barcode standards (such as ISBN and Code 39) include a checksum or check digit which facilitates checking for errors like missing, repeated, changed, or transposed digits.
The algorithm for computing the check digit may differ between standards, and thus have different types of errors they can detect. For example, if you are using a 13-digit Code 39 barcode, the checksum is computed by adding up the codes of the first 12 characters in the barcode, taking the remainder when dividing that sum by 43 (or by 10 if not allowing non-numbers), and then using the character with that code as the 13th character in the bar code as a check digit.
As an example, we can look at the barcode 304253072042W:
- Adding up those first 12 characters gives: 3 + 0 + 4 + 2 + 5 + 3 + 0 + 7 + 2 + 0 + 4 + 2 = 32
- Dividing by 43 is zero with remainder 32
- Looking up 32 on the Code 39 encoding table gives W, which should be used as the check digit.
- The check digit validates, so the barcode was pretty likely to be entered correctly!
Note that the sum of the first twelve digits would be the same no matter what order they were in, so this check method does not detect transposed digits. Other barcodes (such as ISBN) do detect transposed digits, but their check digit calculation is more complex.
Some catalog interfaces enforce a barcode's check, and will not allow saving of a record with an invalid check digit; for example, OCLC Connexion will not allow saving an ISBN in 020 if it does not validate (though it can be saved in 020 $z if needed). Some cataloging interfaces do not.
Where is the trouble?
If the library is using a barcode standard with a check digit and a barcode's check digit does validate, that may mean that the barcode was entered into the system manually (not scanned) and an error was made (such as repeating, changing, missing, or transposing digits).
If the barcode in the system does not match the barcode on the resource, this can cause issues when circulating the resource or otherwise trying to call up the record in the system using the barcode.
How to Find
If your library uses 13-digit Code 39 barcodes, you can paste a list of any barcodes you want to check (one per line) into the box below and click the "Confirm Code 39" button. Any lines that include only a validating barcode will be removed; the only lines remaining will be those that do not have valid barcodes. You can search for each of these barcodes in your system and identify the resource with the barcode issue.
You can retrieve a list of barcodes using the "Barcodes" report in the "Reports" LFT directory.
(Do you have a different barcode length or format? Let me know and I can make a new button!)