Checksums are used to verify the correctness of data. Their use is usually in data transmission, or converting data from one form to another. A parity bit is a form of checksum error correction coding. The idea is that the whole unit of data can be identified by a single number, a checksum. If the checksum is not correct or it does not match, errors have occurred.
The simplest checksum is to add up the value of the individual bytes in the data. Given the data of "CAT", the ASCII values of the letters are 67 + 65 + 84 = 216 and the whole package might be given the notation "CAT(216)". So if we received "CAS(216)" we’d know that an error occurred somewhere along the way.
A simple sum of the characters can be fooled by switching the order but not the value of the data, e.g. "TAC" and "CAT" have the same checksum. So more sophisticated checksum methods have been developed which reduce (but never totally eliminate) the chance of incorrect data giving the correct checksum.
Many types of barcodes employ checksums. In several other types, checksums are optional. Clearly, those that incorporate checksums are more robust and reliable.
More advanced barcodes use an error correction system. This allows for reliable reading even if the code has been slightly damaged.
Barcodes with No Checksum | Barcodes Requiring a Checksum | Barcodes with Optional Checksum | Barcodes with Error Correction |
Add2 Add5 BCD Matrix Codabar Code 32 DataLogic 2 of 5 Patch Code |
Code 128 Code 93 Code 93 Extended IATA 2 of 5 EAN-128 EAN-13 EAN-8 GS1 DataBar Intelligent Mail Matrix 2 of 5 PostNet Royal Post 4-State Barcode UPC-A UPC-E |
Code 39 Code 39 Extended Industry 2 of 5 Interleaved 2 of 5 Inverted 2 of 5 |
Australian Post 4 State Barcode PDF417 Data Matrix QR Code Aztec |