<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/vImageConverter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@T@vImageConverterRef"
  },
  "title" : "vImageConverter"
}
-->

# vImageConverter

A description of a conversion from one image format to another.

```
class vImageConverter
```

## Overview

The [`vImageConverter`](/documentation/Accelerate/vImageConverter) class is an opaque type that contains information needed to do a rapid conversion from one image type to another.

You use the converter creation functions, for example, [`vImageConverter_CreateWithCGImageFormat(_:_:_:_:_:)`](/documentation/Accelerate/vImageConverter_CreateWithCGImageFormat(_:_:_:_:_:)), to create instances of converters. Sometimes, there can be an overhead when creating a converter, so create them in advance and reuse them. Converters are thread safe; that is, you can use the same object concurrently in multiple threads.

## Topics

### Instance Properties

[`destinationBufferCount`](/documentation/Accelerate/vImageConverter/destinationBufferCount)

The number of destination buffers written to by the converter.

[`sourceBufferCount`](/documentation/Accelerate/vImageConverter/sourceBufferCount)

The number of source buffers written to by the converter.

### Instance Methods

[`convert(source:destination:flags:)`](/documentation/Accelerate/vImageConverter/convert(source:destination:flags:))

Converts the pixels in a vImage buffer to another format.

[`mustOperateOutOfPlace(source:destination:flags:)`](/documentation/Accelerate/vImageConverter/mustOperateOutOfPlace(source:destination:flags:))

Determines whether a converter is capable of operating in place.

[`destinationBuffers(colorSpace:)`](/documentation/Accelerate/vImageConverter/destinationBuffers(colorSpace:))

Returns a list of vImage destination buffer types, specifying the order of planes.

[`sourceBuffers(colorSpace:)`](/documentation/Accelerate/vImageConverter/sourceBuffers(colorSpace:))

Returns a list of vImage source buffer types, specifying the order of planes.

[`convert(from:to:)`](/documentation/Accelerate/vImageConverter/convert(from:to:)-9s7p7)

[`convert(from:to:)`](/documentation/Accelerate/vImageConverter/convert(from:to:)-587gc)

[`makeCGToCVPixelBuffers(referencing:)`](/documentation/Accelerate/vImageConverter/makeCGToCVPixelBuffers(referencing:))

[`makeCVToCGPixelBuffers(referencing:)`](/documentation/Accelerate/vImageConverter/makeCVToCGPixelBuffers(referencing:))

### Type Methods

[`make(sourceFormat:destinationFormat:flags:)`](/documentation/Accelerate/vImageConverter/make(sourceFormat:destinationFormat:flags:)-8iupf)

Creates a vImage converter that converts a Core Video-formatted image to a Core Graphics-formatted image.

[`make(sourceFormat:destinationFormat:flags:)`](/documentation/Accelerate/vImageConverter/make(sourceFormat:destinationFormat:flags:)-8tbym)

Creates a vImage converter that converts from one vImage Core Graphics image format to another.

[`make(sourceFormat:destinationFormat:flags:)`](/documentation/Accelerate/vImageConverter/make(sourceFormat:destinationFormat:flags:)-fub5)

Creates a vImage converter that converts a Core Graphics-formatted image to a Core Video-formatted image.

[`make(sourceFormat:destinationFormat:colorConversionInfo:)`](/documentation/Accelerate/vImageConverter/make(sourceFormat:destinationFormat:colorConversionInfo:))



---

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)