page_title: Barcode
section_title: Barcode readers
hierarchical_section_title: Barcode / Barcode readers
caption_attribution_description: Deutsch: GTIN-Barcodes auf Cola-Flaschen, links Foto, rechts was der rote Laser des Barcodescanner sehen würde
context_page_description: A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths and spacings of parallel lines. These barcodes, now commonly referred to as linear or one-dimensional, can be scanned by special optical scanners, called barcode readers. Later, two-dimensional variants were developed, using rectangles, dots, hexagons and other geometric patterns, called matrix codes or 2D barcodes, although they do not use bars as such. 2D barcodes can be read or deconstructed using application software on mobile devices with inbuilt cameras, such as smartphones.
  The barcode was invented by Norman Joseph Woodland and Bernard Silver and patented in the US in 1951. The invention was based on Morse code that was extended to thin and thick bars. However, it took over twenty years before this invention became commercially successful. An early use of one type of barcode in an industrial context was sponsored by the Association of American Railroads in the late 1960s.
context_section_description: The earliest, and still the cheapest, barcode scanners are built from a fixed light and a single photosensor that is manually moved across the barcode. Barcode scanners can be classified into three categories based on their connection to the computer. The older type is the RS-232 barcode scanner. This type requires special programming for transferring the input data to the application program. Keyboard interface scanners connect to a computer using a PS/2 or AT keyboard–compatible adaptor cable (a "keyboard wedge"). The barcode's data is sent to the computer as if it had been typed on the keyboard.
  Like the keyboard interface scanner, USB scanners do not need custom code for transferring input data to the application program. On PCs running Windows the human interface device emulates the data merging action of a hardware "keyboard wedge", and the scanner automatically behaves like an additional keyboard.
  Most modern smartphones are able to decode barcode using their built-in camera. Google's mobile Android operating system can use their own Google Lens application to scan QR codes, or third party apps like Barcode Scanner to read both one-dimensional barcodes and QR codes. Nokia's Symbian operating system featured a barcode scanner, while mbarcode is a QR code reader for the Maemo operating system. In Apple iOS 11, the native camera app can decode QR codes and can link to URLs, join wireless networks, or perform other operations depending on the QR Code contents. Other paid and free apps are available with scanning capabilities for other symbologies or for earlier iOS versions. With BlackBerry devices, the App World application can natively scan barcodes and load any recognized Web URLs on the device's Web browser. Windows Phone 7.5 is able to scan barcodes through the Bing search app. However, these devices are not designed specifically for the capturing of barcodes. As a result, they do not decode nearly as quickly or accurately as a dedicated barcode scanner or portable data terminal.
caption: GTIN barcodes on Coke bottles. The images at right show how the laser of barcode readers "see" the images behind a red filter.
exif: {"Image Make": "Canon", "Image Model": "Canon DIGITAL IXUS 400", "Image Orientation": "Horizontal (normal)", "Image XResolution": "180", "Image YResolution": "180", "Image ResolutionUnit": "Pixels/Inch", "Image DateTime": "2015:07:15 23:32:25", "Image YCbCrPositioning": "Centered", "Image ExifOffset": "188", "Thumbnail Compression": "JPEG (old-style)", "Thumbnail XResolution": "180", "Thumbnail YResolution": "180", "Thumbnail ResolutionUnit": "Pixels/Inch", "Thumbnail JPEGInterchangeFormat": "1696", "Thumbnail JPEGInterchangeFormatLength": "9602", "EXIF ExposureTime": "1/800", "EXIF FNumber": "49/10", "EXIF ExifVersion": "0220", "EXIF DateTimeOriginal": "2015:07:11 15:36:13", "EXIF DateTimeDigitized": "2015:07:11 15:36:13", "EXIF ComponentsConfiguration": "YCbCr", "EXIF CompressedBitsPerPixel": "5", "EXIF ShutterSpeedValue": "309/32", "EXIF ApertureValue": "147/32", "EXIF ExposureBiasValue": "-2/3", "EXIF MaxApertureValue": "147/32", "EXIF MeteringMode": "CenterWeightedAverage", "EXIF Flash": "Flash did not fire, compulsory flash mode", "EXIF FocalLength": "711/32", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "1276", "EXIF ExifImageLength": "1092", "Interoperability InteroperabilityIndex": "R98", "Interoperability InteroperabilityVersion": "[48, 49, 48, 48]", "Interoperability RelatedImageWidth": "2272", "Interoperability RelatedImageLength": "1704", "EXIF InteroperabilityOffset": "1548", "EXIF FocalPlaneXResolution": "56800/7", "EXIF FocalPlaneYResolution": "56800/7", "EXIF FocalPlaneResolutionUnit": "2", "EXIF SensingMethod": "One-chip color area", "EXIF FileSource": "Digital Camera", "EXIF CustomRendered": "Normal", "EXIF ExposureMode": "Manual Exposure", "EXIF WhiteBalance": "Auto", "EXIF DigitalZoomRatio": "1", "EXIF SceneCaptureType": "Standard"}