<!--
{
  "availability" : [
    "iOS: 11.3.0 -",
    "iPadOS: 11.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARReferenceImage",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARReferenceImage"
  },
  "title" : "ARReferenceImage"
}
-->

# ARReferenceImage

A 2D image that you want ARKit to detect in the physical environment.

```
class ARReferenceImage
```

## Overview

To accurately detect the position and orientation of a 2D image in the real world, ARKit requires preprocessed image data and knowledge of the image’s real-world dimensions. The [`ARReferenceImage`](/documentation/ARKit/ARReferenceImage) class encapsulates this information. To enable image detection in an AR session, pass a collection of reference images to your session configuration’s [`detectionImages`](/documentation/ARKit/ARWorldTrackingConfiguration/detectionImages) property.

Typically, you create reference images in your Xcode project’s asset catalog:

1. In your asset catalog, use the Add (+) button to create an AR Resource Group.
2. Drag image files into the resource group to create AR Reference Image entries in the asset catalog.
3. For each reference image, use the Xcode inspector panel to provide the real-world size at which you want ARKit to recognize the image. (You can also provide a descriptive name, which appears as the [`name`](/documentation/ARKit/ARReferenceImage/name) property at runtime and can be useful for debugging.)

## Topics

### Loading Reference Images

[`referenceImages(inGroupNamed:bundle:)`](/documentation/ARKit/ARReferenceImage/referenceImages(inGroupNamed:bundle:))

Loads all reference images in the specified AR Resource Group in your Xcode project’s asset catalog.

### Examining a Reference Image

[`name`](/documentation/ARKit/ARReferenceImage/name)

A descriptive name for the image.

[`physicalSize`](/documentation/ARKit/ARReferenceImage/physicalSize)

The real-world dimensions, in meters, of the image.

[`resourceGroupName`](/documentation/ARKit/ARReferenceImage/resourceGroupName)

The AR resource group name for this image.

### Creating Reference Images

[`init(_:orientation:physicalWidth:)`](/documentation/ARKit/ARReferenceImage/init(_:orientation:physicalWidth:)-8b3bs)

Creates a new reference image from a Core Graphics image object.

[`init(_:orientation:physicalWidth:)`](/documentation/ARKit/ARReferenceImage/init(_:orientation:physicalWidth:)-ir2z)

Creates a new reference image from a Core Video pixel buffer.

### Validating Reference Images

[`validate(completionHandler:)`](/documentation/ARKit/ARReferenceImage/validate(completionHandler:))

Determines whether the reference image is valid.



---

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)