<!--
{
  "availability" : [
    "iOS: 4.0.0 -",
    "iPadOS: 4.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.8.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ImageIO",
  "identifier" : "/documentation/ImageIO/CGImageMetadata",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Image I/O"
    ],
    "preciseIdentifier" : "c:@T@CGImageMetadataRef"
  },
  "title" : "CGImageMetadata"
}
-->

# CGImageMetadata

An immutable object that contains the XMP metadata associated with an image.

```
class CGImageMetadata
```

## Overview

A [`CGImageMetadata`](/documentation/ImageIO/CGImageMetadata) object stores the metadata associated with an image. Create this object from your image’s associated XMP data, and use it to fetch individual metadata tags. You can search for specific tags, or enumerate all of the tags present for the image.

## Topics

### Creating an Image Metadata Type

[`CGImageMetadataCreateFromXMPData(_:)`](/documentation/ImageIO/CGImageMetadataCreateFromXMPData(_:))

Creates a collection of metadata tags from the specified XMP data.

### Getting the Metadata Tags

[`CGImageMetadataCopyTagWithPath(_:_:_:)`](/documentation/ImageIO/CGImageMetadataCopyTagWithPath(_:_:_:))

Searches for a specific metadata tag within a metadata collection.

[`CGImageMetadataCopyTags(_:)`](/documentation/ImageIO/CGImageMetadataCopyTags(_:))

Returns an array of root-level metadata tags from the specified metadata object.

[`CGImageMetadataCopyTagMatchingImageProperty(_:_:_:)`](/documentation/ImageIO/CGImageMetadataCopyTagMatchingImageProperty(_:_:_:))

Searches for the specified image property and, if found, returns the corresponding tag object.

[`CGImageMetadataCopyStringValueWithPath(_:_:_:)`](/documentation/ImageIO/CGImageMetadataCopyStringValueWithPath(_:_:_:))

Searches the metadata for the specified tag, and returns its string value if it exists.

### Enumerating the Metadata Tags

[`CGImageMetadataEnumerateTagsUsingBlock(_:_:_:_:)`](/documentation/ImageIO/CGImageMetadataEnumerateTagsUsingBlock(_:_:_:_:))

Enumerates the tags of a metadata object and executes the specified block on each tag.

[`CGImageMetadataTagBlock`](/documentation/ImageIO/CGImageMetadataTagBlock)

The block to execute when enumerating the tags of a metadata object.

[`kCGImageMetadataEnumerateRecursively`](/documentation/ImageIO/kCGImageMetadataEnumerateRecursively)

An option to enumerate recursively through a set of metadata tags.

### Generating XMP Data

[`CGImageMetadataCreateXMPData(_:_:)`](/documentation/ImageIO/CGImageMetadataCreateXMPData(_:_:))

Returns a data object that contains the metadata object’s contents serialized into the XMP format.

### Getting the Core Foundation Type

[`CGImageMetadataGetTypeID()`](/documentation/ImageIO/CGImageMetadataGetTypeID())

Returns the type identifier for metadata objects.



---

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)