<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/BarcodeObservation",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "s:6Vision18BarcodeObservationV"
  },
  "title" : "BarcodeObservation"
}
-->

# BarcodeObservation

An object that represents barcode information that an image-analysis request detects.

```
struct BarcodeObservation
```

## Topics

### Creating an observation

[`init(VNBarcodeObservation)`](/documentation/Vision/BarcodeObservation/init(_:))

Creates a barcode observation.

### Getting the bounding region

[`var boundingRegion: NormalizedRegion`](/documentation/Vision/BarcodeObservation/boundingRegion)

The bounding region of the barcode.

### Inspecting an observation

[`enum RequestDescriptor`](/documentation/Vision/RequestDescriptor)

A type that describes the request and revision combination.

[`let isColorInverted: Bool`](/documentation/Vision/BarcodeObservation/isColorInverted)

A Boolean value that indicates whether the barcode is color inverted.

[`let isGS1DataCarrier: Bool`](/documentation/Vision/BarcodeObservation/isGS1DataCarrier)

A Boolean value that indicates whether the barcode carries any global standards data.

### Getting the payload

[`let payloadData: Data?`](/documentation/Vision/BarcodeObservation/payloadData)

The raw data representation of the barcode’s payload.

[`let payloadString: String?`](/documentation/Vision/BarcodeObservation/payloadString)

A string value that represents the barcode payload.

[`let supplementalPayloadData: Data?`](/documentation/Vision/BarcodeObservation/supplementalPayloadData)

The raw data representation of the barcode’s supplemental payload.

[`let supplementalPayloadString: String?`](/documentation/Vision/BarcodeObservation/supplementalPayloadString)

The supplemental code decoded as a string value.

### Getting the symbology

[`let symbology: BarcodeSymbology`](/documentation/Vision/BarcodeObservation/symbology)

The symbology of the observed barcode.

[`enum BarcodeSymbology`](/documentation/Vision/BarcodeSymbology)

The barcode symbologies that the framework detects.

### Getting the composite type

[`let supplementalCompositeType: BarcodeObservation.CompositeType?`](/documentation/Vision/BarcodeObservation/supplementalCompositeType)

The supplemental composite type.

[`enum CompositeType`](/documentation/Vision/BarcodeObservation/CompositeType)

Composite types for barcode requests.

## Relationships

### Conforms To

[`BoundingBoxProviding`](/documentation/Vision/BoundingBoxProviding)

[`QuadrilateralProviding`](/documentation/Vision/QuadrilateralProviding)

[`Hashable`](/documentation/Swift/Hashable)

[`Equatable`](/documentation/Swift/Equatable)

[`Encodable`](/documentation/Swift/Encodable)

[`VisionObservation`](/documentation/Vision/VisionObservation)

[`Decodable`](/documentation/Swift/Decodable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Escapable`](/documentation/Swift/Escapable)

[`Copyable`](/documentation/Swift/Copyable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)