A barcode reader is an optical scanner that can read printed barcodes, decode the data contained in the barcode and send the data to a computer. Like a flatbed scanner, it consists of a light source, a lens, and a light sensor translating optical impulses into electrical signals.