<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ImageIO",
  "identifier" : "/documentation/ImageIO",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Image I/O"
    ],
    "preciseIdentifier" : "ImageIO"
  },
  "title" : "Image I/O"
}
-->

# Image I/O

Read and write most image file formats, and access an image’s metadata.

## Overview

The Image I/O framework allows applications to read and write most image file formats. This framework offers high efficiency, color management, and access to image metadata.

For more information, see [Image I/O Programming Guide](https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/ImageIOGuide/imageio_intro/ikpg_intro.html#//apple_ref/doc/uid/TP40005462).

## Topics

### Image Management

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

An opaque type that you use to read image data from a URL, data object, or data consumer.

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

An opaque type that you use to write image data to a URL, data object, or data consumer.

### XMP Metadata

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

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

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

An opaque type for adding or modifying image metadata.

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

An immutable type that contains information about a single piece of image metadata.

[XMP Namespaces and Prefixes](/documentation/ImageIO/xmp-namespaces-and-prefixes)

Discover the public namespaces and prefixes that exist in XMP metadata tags.

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

The domain for metadata-related errors that originate in the Image I/O framework.

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

Constants for errors that occur when getting or setting metadata information.

### Common Image Properties

[Image Properties](/documentation/ImageIO/image-properties)

Properties that apply to the container in general, and not necessarily to an individual image in the container.

[EXIF Dictionary Keys](/documentation/ImageIO/exif-dictionary-keys)

Metadata keys for Exchangeable Image File Format (EXIF) data.

[IPTC Dictionary Keys](/documentation/ImageIO/iptc-dictionary-keys)

Metadata keys for International Press Telecommunications Council (IPTC) data.

[GPS Dictionary Keys](/documentation/ImageIO/gps-dictionary-keys)

Keys for Global Positioning System (GPS) information.

[WebP Data](/documentation/ImageIO/webp-data)

Metadata keys for WebP metadata.

### Format-Specific Properties

[CIFF Image Properties](/documentation/ImageIO/ciff-image-properties)

Metadata keys for the Camera Image File Format (CIFF) image format.

[DNG Image Properties](/documentation/ImageIO/dng-image-properties)

Metadata keys for the Digital Negative (DNG) archival format.

[GIF Image Properties](/documentation/ImageIO/gif-image-properties)

Metadata keys for the Graphics Interchange Format (GIF).

[HEIC Image Properties](/documentation/ImageIO/heic-image-properties)

Metadata keys for the High Efficiency Image Container (HEIC) format.

[JFIF Image Properties](/documentation/ImageIO/jfif-image-properties)

Metadata keys for the JPEG File Interchange Format (JFIF).

[PNG Image Properties](/documentation/ImageIO/png-image-properties)

Metadata keys for the Portable Network Graphics (PNG) format.

[TGA Image Properties](/documentation/ImageIO/tga-image-properties)

Metadata keys for the Truevision Graphics Adapter (TGA) format.

[TIFF Image Properties](/documentation/ImageIO/tiff-image-properties)

Metadata keys for the Tagged Image File Format (TIFF).

[8BIM Image Properties](/documentation/ImageIO/8bim-image-properties)

Metadata keys for the Adobe Photoshop image format.

### Manufacturer-Specific Properties

[Nikon Camera Dictionary Keys](/documentation/ImageIO/nikon-camera-dictionary-keys)

Metadata keys for an image from a Nikon camera.

[Canon Camera Dictionary Keys](/documentation/ImageIO/canon-camera-dictionary-keys)

Metadata keys for an image from a Canon camera.

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

A dictionary of key-value pairs for an image from an Apple camera.

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

A dictionary of key-value pairs for an image from a Minolta camera.

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

A dictionary of key-value pairs for an image from a Fuji camera.

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

A dictionary of key-value pairs for an image from a Olympus camera.

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

A dictionary of key-value pairs for an image from a Pentax camera.

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

A dictionary of key-value pairs for an image that contains minimally processed, or raw, data.

### Spatial Photos

[Writing spatial photos](/documentation/ImageIO/writing-spatial-photos)

Create spatial photos for visionOS by packaging a pair of left- and right-eye images as a stereo HEIC file with related spatial metadata.

[Creating spatial photos and videos with spatial metadata](/documentation/ImageIO/Creating-spatial-photos-and-videos-with-spatial-metadata)

Add spatial metadata to stereo photos and videos to create spatial media for viewing on Apple Vision Pro.

### Animations

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

Animate the sequence of images in the Graphics Interchange Format (GIF) or Animated Portable Network Graphics (APNG) file at the specified URL.

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

Animate the sequence of images using data from a Graphics Interchange Format (GIF) or Animated Portable Network Graphics (APNG) file file.

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

The block to execute for each frame of an image animation.

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

A property that specifies the index of the first frame of an animation.

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

The number of seconds to wait before displaying the next image in an animated sequence.

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

The number of times to repeat the animated sequence.

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

Constants that indicate the result of animating an image sequence.

### Reference

[Image I/O Constants](/documentation/ImageIO/image-i-o-constants)

[Image I/O Functions](/documentation/ImageIO/image-i-o-functions)

[Image I/O Macros](/documentation/ImageIO/image-i-o-macros)



---

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)
