<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreImage",
  "identifier" : "/documentation/CoreImage",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Core Image"
    ],
    "preciseIdentifier" : "CoreImage"
  },
  "title" : "Core Image"
}
-->

# Core Image

Use built-in or custom filters to process still and video images.

## Overview

Core Image is an image processing and analysis technology that provides high-performance processing for still and video images. Use the many built-in image filters to process images and build complex effects by chaining filters. For a list of all the built-in filters see the [`Filter Catalog`](/documentation/CoreImage#Filter-Catalog).

You can also create new effects with custom filters and image processors; see [`Custom Filters`](/documentation/CoreImage#Custom-Filters).

## Topics

### Essentials

[Processing an Image Using Built-in Filters](/documentation/CoreImage/processing-an-image-using-built-in-filters)

Apply effects such as sepia tint, highlight strengthening, and scaling to images.

[`CIContext`](/documentation/CoreImage/CIContext)

The Core Image context class provides an evaluation context for Core Image processing with Metal, OpenGL, or OpenCL.

[`CIImage`](/documentation/CoreImage/CIImage)

A representation of an image to be processed or produced by Core Image filters.

### Filters

[`CIFilter`](/documentation/CoreImage/CIFilter-swift.class)

An image processor that produces an image by manipulating one or more input images or by generating new image data.

[`CIRAWFilter`](/documentation/CoreImage/CIRAWFilter)

A filter subclass that produces an image by manipulating RAW image sensor data from a digital camera or scanner.

[`CIColor`](/documentation/CoreImage/CIColor)

The Core Image class that defines a color object.

[`CIVector`](/documentation/CoreImage/CIVector)

The Core Image class that defines a vector object.

### Filter Catalog

[Blur Filters](/documentation/CoreImage/blur-filters)

Apply blurs, simulate motion and zoom effects, reduce noise, and erode and dilate image regions.

[Color Adjustment Filters](/documentation/CoreImage/color-adjustment-filters)

Apply color transformations, including exposure, hue, and tint adjustments.

[Color Effect Filters](/documentation/CoreImage/color-effect-filters)

Apply color effects, including photo effects, dithering, and color maps.

[Composite Operations](/documentation/CoreImage/composite-operations)

Composite images by using a range of blend modes and compositing operators.

[Convolution Filters](/documentation/CoreImage/convolution-filters)

Produce effects such as blurring, sharpening, edge detection, translation, and embossing.

[Distortion Filters](/documentation/CoreImage/distortion-filters)

Apply distortion to images.

[Generator Filters](/documentation/CoreImage/generator-filters)

Generate barcode, geometric, and special-effect images.

[Geometry Adjustment Filters](/documentation/CoreImage/geometry-adjustment-filters)

Translate, scale, and rotate images in 2D and 3D.

[Gradient Filters](/documentation/CoreImage/gradient-filters)

Generate linear and radial gradients.

[Halftone Effect Filters](/documentation/CoreImage/halftone-effect-filters)

Simulate monochrome and CMYK halftone screens.

[Reduction Filters](/documentation/CoreImage/reduction-filters)

Create statistical information about an image.

[Sharpening Filters](/documentation/CoreImage/sharpening-filters)

Apply sharpening to images.

[Stylizing Filters](/documentation/CoreImage/stylizing-filters)

Create stylized versions of images by applying effects including pixelation and line overlays.

[Tile Effect Filters](/documentation/CoreImage/tile-effect-filters)

Produce tiled images from source images.

[Transition Filters](/documentation/CoreImage/transition-filters)

Transition between two images by using effects including page curl and swipe.

### Filter Recipes

[Applying a Chroma Key Effect](/documentation/CoreImage/applying-a-chroma-key-effect)

Replace a color in one image with the background from another.

[Selectively Focusing on an Image](/documentation/CoreImage/selectively-focusing-on-an-image)

Focus on a part of an image by applying Gaussian blur and gradient masks.

[Customizing Image Transitions](/documentation/CoreImage/customizing-image-transitions)

Transition between images in creative ways using Core Image filters.

[Simulating Scratchy Analog Film](/documentation/CoreImage/simulating-scratchy-analog-film)

Degrade the quality of an image to make it look like dated, analog film.

### Custom Filters

[Writing Custom Kernels](/documentation/CoreImage/writing-custom-kernels)

Write your own custom kernels in either the Core Image Kernel Language or the Metal Shading Language.

[`CIKernel`](/documentation/CoreImage/CIKernel)

A GPU-based image-processing routine used to create custom Core Image filters.

[`CIColorKernel`](/documentation/CoreImage/CIColorKernel)

A GPU-based image-processing routine that processes only the color information in images, used to create custom Core Image filters.

[`CIWarpKernel`](/documentation/CoreImage/CIWarpKernel)

A GPU-based image-processing routine that processes only the geometry information in an image, used to create custom Core Image filters.

[`CIBlendKernel`](/documentation/CoreImage/CIBlendKernel)

A GPU-based image-processing routine that is optimized for blending two images.

[`CISampler`](/documentation/CoreImage/CISampler)

An object that retrieves pixel samples for processing by a filter kernel.

[`CIFilterShape`](/documentation/CoreImage/CIFilterShape)

A description of the bounding shape of a filter and the domain of definition for a filter operation.

[`CIFormat`](/documentation/CoreImage/CIFormat)

Pixel data formats for image input, output, and processing.

### Custom Image Processors

[`CIImageProcessorKernel`](/documentation/CoreImage/CIImageProcessorKernel)

The abstract class you extend to create custom image processors that can integrate with Core Image workflows.

[`CIImageProcessorInput`](/documentation/CoreImage/CIImageProcessorInput)

A container of image data and information for use in a custom image processor.

[`CIImageProcessorOutput`](/documentation/CoreImage/CIImageProcessorOutput)

A container for writing image data and information produced by a custom image processor.

### Custom Render Destination

[Generating an animation with a Core Image Render Destination](/documentation/CoreImage/generating-an-animation-with-a-core-image-render-destination)

Animate a filtered image to a Metal view in a SwiftUI app using a Core Image Render Destination.

[`CIRenderDestination`](/documentation/CoreImage/CIRenderDestination)

A specification for configuring all attributes of a render task’s destination and issuing asynchronous render tasks.

[`CIRenderInfo`](/documentation/CoreImage/CIRenderInfo)

An encapsulation of a render task’s timing, passes, and pixels processed.

[`CIRenderTask`](/documentation/CoreImage/CIRenderTask)

A single render task.

[`CIRenderDestinationAlphaMode`](/documentation/CoreImage/CIRenderDestinationAlphaMode)

Different ways of representing alpha.

### Feedback-Based Processing

[`CIImageAccumulator`](/documentation/CoreImage/CIImageAccumulator)

An object that manages feedback-based image processing for tasks such as painting or fluid simulation.

### Barcode Descriptions

[`CIBarcodeDescriptor`](/documentation/CoreImage/CIBarcodeDescriptor)

An abstract base class that represents a machine-readable code’s attributes.

[`CIQRCodeDescriptor`](/documentation/CoreImage/CIQRCodeDescriptor)

A concrete subclass of the Core Image Barcode Descriptor that represents a square QR code symbol.

[`CIAztecCodeDescriptor`](/documentation/CoreImage/CIAztecCodeDescriptor)

A concrete subclass the Core Image Barcode Descriptor that represents an Aztec code symbol.

[`CIPDF417CodeDescriptor`](/documentation/CoreImage/CIPDF417CodeDescriptor)

A concrete subclass of Core Image Barcode Descriptor that represents a PDF417 symbol.

[`CIDataMatrixCodeDescriptor`](/documentation/CoreImage/CIDataMatrixCodeDescriptor)

A concrete subclass the Core Image Barcode Descriptor that represents an Data Matrix code symbol.

### Image Feature Detection

[`CIDetector`](/documentation/CoreImage/CIDetector)

An image processor that identifies notable features, such as faces and barcodes, in a still image or video.

[`CIFeature`](/documentation/CoreImage/CIFeature)

The abstract superclass for objects representing notable features detected in an image.

[`CIFaceFeature`](/documentation/CoreImage/CIFaceFeature)

Information about a face detected in a still or video image.

[`CIRectangleFeature`](/documentation/CoreImage/CIRectangleFeature)

Information about a rectangular region detected in a still or video image.

[`CITextFeature`](/documentation/CoreImage/CITextFeature)

Information about a text that was detected in a still or video image.

[`CIQRCodeFeature`](/documentation/CoreImage/CIQRCodeFeature)

Information about a Quick Response code detected in a still or video image.

### Image Units

[`CIPlugIn`](/documentation/CoreImage/CIPlugIn)

The mechanism for loading image units in macOS.

[`CIFilterGenerator`](/documentation/CoreImage/CIFilterGenerator)

An object that creates and configures chains of individual image filters.

[`CIPlugInRegistration`](/documentation/CoreImage/CIPlugInRegistration)

The interface for loading Core Image image units.

[`CIFilterConstructor`](/documentation/CoreImage/CIFilterConstructor)

A general interface for objects that produce filters.

### Protocols

[`CIAreaBoundsRed`](/documentation/CoreImage/CIAreaBoundsRed)

[`CIMaximumScaleTransform`](/documentation/CoreImage/CIMaximumScaleTransform)

[`CIToneMapHeadroom`](/documentation/CoreImage/CIToneMapHeadroom)

### Reference

[Core Image Constants](/documentation/CoreImage/core-image-constants)

## See Also

  [Core Image Filter Reference](https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/uid/TP40004346-Reference)

  [Core Image Programming Guide](https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html#//apple_ref/doc/uid/TP30001185)



---

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)
