<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARPlaneAnchor/classification-2hi2p",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARPlaneAnchor(py)classification"
  },
  "title" : "classification"
}
-->

# classification

A general characterization of what kind of real-world surface the plane anchor represents.

```
@property (nonatomic, assign, readonly) ARPlaneClassification classification;
```

## Discussion

On supported devices, ARKit automatically attempts to characterize each detected plane, describing it as a real-world surface such as a wall, floor, or table. You can then use this information to enhance the realism of your AR experience; for example, by placing certain virtual content only on floors.

Plane classification can take longer than plane detection, and ARKit reports classifications only for planes where it has a high confidence in the result. Use this property together with the [`classificationStatus`](/documentation/ARKit/ARPlaneAnchor/classificationStatus) property to keep track of ARKit’s classification process:

- If ARKit is still working to classify a plane, the classification is [`ARPlaneClassificationNone`](/documentation/ARKit/ARPlaneClassification/ARPlaneClassificationNone) and the status is [`ARPlaneClassificationStatusUndetermined`](/documentation/ARKit/ARPlaneClassificationStatus/ARPlaneClassificationStatusUndetermined).
- If ARKit cannot characterize a plane with high confidence, the classification is [`ARPlaneClassificationNone`](/documentation/ARKit/ARPlaneClassification/ARPlaneClassificationNone) and the status is [`ARPlaneClassificationStatusUnknown`](/documentation/ARKit/ARPlaneClassificationStatus/ARPlaneClassificationStatusUnknown).

Plane classification is available only on iPhone XS, iPhone XS Max, and iPhone XR. Before using classification results, check the [`isClassificationSupported`](/documentation/ARKit/ARPlaneAnchor/isClassificationSupported) class property to make sure you’re on a supported device.

---

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)