A barcode reader is an optical scanner that reads printed barcodes. Barcodes are visual representations of data that convey information by varying the widths and spacings of parallel lines. Barcode readers consist of a light source, a lens and a light sensor. On the other hand, an optical character recognition device is a device that converts images of typed or handwritten text into machine-encoded text.
These systems are similar because they both use optical recognition. They are also similar in the sense that they both scan data. However, they can be quite different. A barcode reader is simply designed to obtain a single piece of data from a barcode, while a character recognition device can gather extensive information about text, including formatting. Moreover, a barcode reader can only read a barcode made with the correct specifications. Character recognition devices are more flexible and versatile, being able to read printed material, billboards, subtitles on images, etc.